먼저 NetLoadOnClient = True인 액터는
게임이 시작될때(레벨이 로드될 때) 하나의 액터가 서버와 클라이언트에 독립적으로 스폰이 되게 된다.
이렇게 생성된 액터는 클라이언트에만 존재하는 로컬 인스턴스라고 할 수 있다.
각각에서 알아서 생성되는만큼 더 가볍게 사용이 가능하다
Replicates속성은 액터가 서버에서 클라이언트로 복제하여 생성하도록 한다.
이는 런타임에서 값이 변경되거나, 최초 실행시가 아닌 런타임중 액터가 생성되는 등의 상황에서
서버가 복제본을 클라이언트에 동기화 해줘 동일한 환경을 제공할 수 있도록 한다.
결국 두 속성 모두 클라이언트에게 액터를 보여주도록 하는 속성이라고 할수는 있는데
일단 기본은 처음부터 레벨에 존재하는 액터라면 NetLoadOnClient = true로 사용한다.
로직 작동에 따라 액터가 생성되고, 속성이 런타임 중 변경된다면 Replicate를 사용한다.
그러면 둘 다 사용할수도 있지도 않느냐?는 생각이 들 수 있는데 이에 대한 답은 맞다.

언리얼 4.27버전 문서지만 두 값을 동시에 체크하는것에 대해 긍정적이고,
구분하자면 처음부터 존재하는 액터라면 NetLoadOnClient 를 사용하고
동시에 값이 동기화되길 원한다면 Replicate도 사용한다.
다만 또 주의할것이 있는데, 이 경우 초기값과 복제될 값이 다를때 보이는것이 크게 다른경우들이 있고,
(특히 위치가 바뀔 수 있는 액터들)
한 자리에서 기능을 작동시키는것들이 있을것이다(문, 레버 등 상호작용 가능한 액터)
전자의 경우는 OnRep_ 함수를 통해 리플리케이트 받아 생성 및 복제되는것이 자연스러울 것이고,
후자의 경우는 처음부터 생성이 되어있으면서 값을 동기화받는것이 좋을것이다.
결론을 표로 정리하면 이와 같을것이다.
| NetLoadOnCLient | Replicates | 결과 | 사용예시 |
| false | false | 클라이언트에 자동 로드되지 않고, 복제도 안 됨 |
서버 전용 트리거, 서버 전용 관리 액터 |
| true | false | 클라이언트에 맵 로드로 존재하지만 서버 상태 동기화 없음 |
장식용 배경 액터, 고정 오브젝트 |
| false | true | 맵 로드로는 클라이언트에 안 올라가지만, 서버가 스폰하면 복제 가능 |
투사체, 런타임 아이템, 몬스터 스폰 |
| true | true | 맵 로드 시 클라이언트에도 존재하고, 서버 상태도 복제 가능 |
문, 레버, 점령 지점, 상호작용 오브젝트 |
다만 추가적인 설정이 없는 기본적인 환경에서는 NetLoadOnClient=false, Replicates=true만 설정해도
처음부터 액터가 생성된것처럼 보인다.
이는 다음에 Relevancy와 함꼐 후술.
'개발 > 내일배움캠프' 카테고리의 다른 글
| Replicate 관련 속성들 (0) | 2026.06.17 |
|---|---|
| 언리얼 RPC 이해하기2 (0) | 2026.06.09 |
| 언리얼 RPC 기초 정리 (0) | 2026.06.04 |
| 언리얼 네트워크 기초 정리 (0) | 2026.06.02 |
| 언리얼 멀티플레이어 개발전 설정들 (0) | 2026.06.01 |