Unreal Engine 에러 failed to resolve into an asset ID
문제 발생
언리얼 에디터로 게임 구동 시 장문의 에러가 발생하였다
/UEDPIE_0_DevMap.DevMap:PersistentLevel.LyraWorldSettings.DefaultGameplayExperience is /WarriorCore/Experiences/B_Experience_DebugGame.B_Experience_DebugGame_C but that failed to resolve into an asset ID (you might need to add a path to the Asset Rules in your game feature plugin or project settings
해당 오류는 Asset ID 를 받아오는 검증을 실패해 발생하는 문제로 보인다.
사용자 환경
- 언리얼 엔진 5.4
- Lyra 소스코드
- 작업중인 내용: Level 구성 및 Experience 구성 중
- 언리얼 엔진 에디터에서 에러가 발생한 시점 위로 확인해봐야 한다.
- VS2022 해당 소스코드를 열고 Ctrl+F 로 에러 문구를 "failed to resolve into an asset ID" 입력하였다.
- 하단에 File 과 몇 줄에서 발생하는지 자세히 알려주어서 찾았다.
- 소스코드에
UE_LOG
로그를 발생 시켰고,if(!Result.IsValid())
로 되어있는데 검증에 실패한 것으로 보인다. Result
객체를 무엇으로부터 받아오는지 살펴볼 필요가 있다.- 상단에
Result = UAssetManager..
할당하는 코드가 있다.
- DefaultGameplayExperience 자세히 보기위해서는 Ctrl + 마우스좌클릭으로 이동할 수 있다.
- 이동한 데이터를 살펴보면
TSoftClassPtr
이 있다. - 커서를 가져다보면 어떤 용도인지 설명을 확인할 수 있다.
- 일종의 wrapper 용도로 보인다.
- 결정적으로 Default Experience 에서 AssetManager 에셋을 불려오지 못하는 것이니, 언리얼 에디터에서 확인해보도록 한다.
- 언리얼 엔진 입장에서 B_Experience_DebugGame 를 설정을 확인했으나, 실제 에셋을 찾지 못하는 것이니 찾을 수 있도록 설정하도록 한다.
사용자가 해결했던 방법
- 언리얼 에디터 Edit > Project Settings 클릭
- Project Settings 메인화면 우측LNB메뉴 Game > Asset Manager 이동
- "Primary Asset Types to Scan" 항목에서 Lyra Experience Definition 을 찾을 수 있다. 해당 객체를 펼치도록 한다.
- Specific Assets 배열을 추가하고 B_Experience_DebugGame 를 넣어주도록 하였다.
- 차선책으로 Directories 로 설정된 경로에 본인이 만든 B_Experience_DebugGame 를 넣으면 동작할 것으로 보인다.