- 메인 StateTree 에서 LinkedAsset으로 다른 StateTree 를 실행하는데
- 다른 StateTree 내부에서 subtree를 만든 후 글로벌 파라미터 접근해서 사용시 크래시 발생합니다.
[Image Removed]
[Image Removed]
Subtree의 Parameter를 통해 전달했을 때 이상없었으며, 특이사항으로는 메인 StateTree에서 다음과 같이 설정한 경우 다른 Callstack으로 크래시 발생하였습니다.(Case 2)
[Image Removed]
https://issues.unrealengine.com/issue/UE\-315554
이 이슈와 비슷해보이는데 Callstack과 재현 내용이 달라 별도로 문의드립니다.
해당 문의 관련하여 확인 부탁드립니다.
[Attachment Removed]
재현 방법
첨부한 프로젝트로 게임 시작시 Crash 발생합니다.
[Attachment Removed]
안녕하세요.
질문 상황에 대한 이슈가 첨부해주신 프로젝트에서 발생하는 것을 확인하였습니다.
LinkedAsset으로 다른 StateTree를 실행하고, 그 내부에서 SubTree를 만들어 Global Parameter에 접근하면 실행 프레임(Execution Frame)이 3단계 이상 중첩됩니다.
현재 5.7 코드의 GetDataView에서는 부모 프레임을 1단계만 거슬러 올라가 Global Parameter 데이터를 찾기 때문에,
실제 데이터가 있는 프레임까지 도달하지 못하여 잘못된 데이터를 참조하게 되어, 문제가 발생하는 것으로 보입니다.
해당 이슈 관련 수정사항이 엔진 메인 브랜치에 적용된 것으로 확인되어, 아래의 CL을 적용하시는 것을 권장드립니다.
CL47242413
https://github.com/EpicGames/UnrealEngine/commit/9afdb54
또한, 다단계 부모 프레임에서 PropertyRef를 통한 접근 시의 추가 케이스를 수정한 후속 CL도 필요하신 경우 함께 적용하시는 것을 권장드립니다.
CL48417598
https://github.com/EpicGames/UnrealEngine/commit/fef0abd
감사합니다.
[Attachment Removed]