문제 :
테스트하려고 패키징한 게임에서 1분내 랜덤한 타이밍으로 갑자기 안움직이길래
아 ㅅㅂ 뭐지? 했다.
여러가지 디버깅을 해보니 플레이어의 상태를 관리하던 객체 데이터가 날라가는것 =~=
나는 그 상태에 따라 움직이기 때문에 값이 날라가버려 움직여지지 않았던 것이다ㅋㅋ
상태를 관리하는 Enum값이 0아니면 1, 2, 3이 되어야 할 애들이 갑자기 253이렇게 바뀌고 난리였다~
문제 해결
내가 관리하는 상태 클래스를 Player클래스에서 포인터 타입으로 가지고 있었다.
하지만 UPROPERTY가 붙지 않은...
UPROPERTY가 붙지않은 포인터는 GC에서 걸려지기 때문에
내 상태 데이터가 GC에서 자동으로 걸러지는거였더라리~
바로 UPROPERTY붙이고 실행하니 다행이 해결 되었다.
느낀점
엔진에서 다룰 필요가 없기 때문에 UPROPERTY를 붙이지 않았는데
이제 이러한 문제 까지 고려해야겠다
잘 배웠다
'UE4 > 문제 해결 일지' 카테고리의 다른 글
컴포넌트의 틱 조정 문제 (0) | 2022.05.02 |
---|---|
TArray::Find( )사용시 이항'==':왼쪽 피연산자로 'const ~ (0) | 2022.04.26 |
잘 되다가 포인터를 통해 호출한 함수가 어느 순간 후로 쭉 터질 때 (0) | 2022.04.24 |
remove duplicates from the animation graph for this class (0) | 2022.04.24 |
블루프린트에서 Actor컴포넌트의 디테일 창이 보이지 않을 때 (C++) (0) | 2022.04.17 |