언리얼엔진5 공부

[UE5] Property Replication vs RPC

Client Side 2025. 12. 10. 22:23

 

구분 Property Replication (속성 복제) RPC (Remote Procedure Call)
목적 상태(State) 동기화 이벤트/행동(Action) 실행
데이터 흐름 서버 → 클라이언트 (단방향) 클라이언트 → 서버 (양방향 호출)
자동/수동 자동 (변수가 변경될 때마다 자동 동기화) 수동 (함수를 명시적으로 호출해야 실행)
사용 시점 지속적인 값 (체력, 시간, 스코어, 위치 등)이 변할 때 일회성 행동 (공격, 스킬 사용, 문 열기, 채팅 등)이 발생할 때
신뢰성 언리얼이 주기적으로 동기화 보장 (비용 낮음) 호출 시 즉시 실행 보장 (네트워크 트래픽 발생)

 

🔍 핵심 특징

Property Replication: 데이터의 최종 결과에만 관심이 있으며, 데이터의 '흐름' 보다는 '상태'를 동기화하는 데 최적화되어 있습니다. (예: 체력이 100에서 90이 되는 과정은 중요하지 않고, 현재 90이라는 상태가 중요함)

 

RPC: 특정 시점에 발생한 행동(이벤트)을 다른 머신에게 알리고 즉시 실행시키는 데 사용됩니다. 클라이언트 입력 → 서버 처리와 같이, 클라이언트가 서버에 요청할 때 필수적입니다.

 

💡 주의 사항 (Multicast RPC 사용 시)

Multicast RPC는 이펙트나 애니메이션처럼 모든 클라이언트가 같은 시점에 봐야 하는 시각적 행동에 주로 사용합니다.

절대로 Multicast RPC로 체력 변동이나 점수 갱신 같은 중요한 상태 데이터를 전달하면 안 됩니다. 중요한 상태는 Property Replication을 통해서만 전달해야 합니다.