[UE] FNetDeltaSerializeInfo 사용시 레퍼런스로 넘기는 배열 매개변수는 UPROERTY로 리플리케이트 해주기
FNetDeltaSerializeInfo 사용시 레퍼런스로 넘기는 배열 매개변수는 UPROERTY로 리플리케이트 해주기
문제상황
인텔리센스 오류는 나지 않지만 컴파일이 실패했다.
FastArrayDeltaSerialize< OOO, OOO >( 첫번째 인자, 두번째 인자, 세번째 매개변수);
위의 문구를 잘 읽어보면
error C2338: static_assert failed: 'Auto deduced FastArrayItemType is invalid or differs from the specified type. Make sure that the FastArraySerializer has a single replicated array property.'
레퍼런스로 넘겨주는 첫번째 매개변수 TArray는 replicated array property여야 한다고 적혀있다.
UPROPERTY를 붙인 후 컴파일 통과
컴파일 에러에서 제시한 것처럼 UPROPERTY를 붙이면 정상적으로 통과된다.
FastArraySerializer 클래스에 내에 선언된 FastArrayDeltaSerialize 함수
밑줄친 부분으로 들어가는 매개변수는 replicated된 TArray여야 한다.
이 함수의 주석을 읽어보면 아래와 같다.
It's possible that we end up calling this method on clients before we've actually received anything from the server (Net Conditions, Static Actors, etc.)
That should be fine though, because none of the GUID Tracking work should actually do anything until after we've received.
서버에서 데이터를 받기 전에 클라이언트에서 이 함수를 호출할 가능성이 있다.
그렇기 때문에 UPROPERTY로 GC 싸이클로 관리하여 해당 TArray 변수가 일찍 삭제되는 것을 방지하여야 한다.
'⭐ Unreal Engine > UE Debugging Log' 카테고리의 다른 글
[UE] C++로 작성한 구조체 DataTable의 Row Type으로 노출시키기 (0) | 2024.04.29 |
---|---|
[UE] The following modules are missing or built with a different engine version: Would you like to rebuild them now? (0) | 2024.04.22 |
[UE] GAS 사용 시 서버에서만 호출되고 클라이언트에서 리플리케이션되지 않는 문제 해결하기. OnRep_ActivateAbilities() 사용으로 해결 (0) | 2024.04.11 |
[UE Net] Dedicated Server 시작하기 (0) | 2024.03.13 |
[UE] 마우스로 가리킨 액터에 외곽선 효과주기 (0) | 2024.03.02 |
댓글
이 글 공유하기
다른 글
-
[UE] C++로 작성한 구조체 DataTable의 Row Type으로 노출시키기
[UE] C++로 작성한 구조체 DataTable의 Row Type으로 노출시키기
2024.04.29 -
[UE] The following modules are missing or built with a different engine version: Would you like to rebuild them now?
[UE] The following modules are missing or built with a different engine version: Would you like to rebuild them now?
2024.04.22 -
[UE] GAS 사용 시 서버에서만 호출되고 클라이언트에서 리플리케이션되지 않는 문제 해결하기. OnRep_ActivateAbilities() 사용으로 해결
[UE] GAS 사용 시 서버에서만 호출되고 클라이언트에서 리플리케이션되지 않는 문제 해결하기. OnRep_ActivateAbilities() 사용으로 해결
2024.04.11 -
[UE Net] Dedicated Server 시작하기
[UE Net] Dedicated Server 시작하기
2024.03.13