Post

언리얼 구조체 리플리케이션이 크래시를 발생시키는 문제 해결

리플리케이션 하려는 구조체의 모든 변수에 UPROPERTY 매크로가 없는 경우

1
2
3
4
5
6
7
8
9
USTRUCT()
struct FMagazine_NetQuantize
{
	GENERATED_BODY()
public:
	FGuid MagazineId;
	int32 AmmoId;
	int32 AmmoAmount;
}
1
check(ArrayNum < ShadowArrayNum || SharedParams.Cmds[CmdIndex + 1].Type == ERepLayoutCmdType::DynamicArray);

FMagazine_NetQuantize구조체를 리플리케이션 하는 경우 다음과 같은 어서트로 인해 실행이 중지 된다.

1
2
3
4
5
6
7
8
9
10
11
12
USTRUCT()
struct FMagazine_NetQuantize
{
	GENERATED_BODY()
public:
	UPROPERTY()
	FGuid MagazineId;
    UPROPERTY()
	int32 AmmoId;
    UPROPERTY()
	int32 AmmoAmount;
}

위와 같이 구조체의 모든 변수에 UPROPERTY 매크로를 추가 하면 해결된다.

This post is licensed under CC BY 4.0 by the author.