언리얼엔진을 통해 게임개발 테스팅을 진행하다보면 에디터 상에서는 에러를 찾을 수 없다가 패키징 테스팅할 때 에러가 나오는 경우를 종종 발견할 수 있다.
이러한 경우 에디터, 패키징의 차이를 파악하면 되는데
변수명 = LoadObject<클래스>(
nullptr,
TEXT("데이터 파일 위치")
);
이러한 Load 관련 함수를 사용할 때 에디터 상에서는 모든 파일을 가진 상태로 실행하기 때문에 경로를 탐색하는데 문제가 되지 않는다.
하지만 패키징 시에는 명시적으로 참조되지 않은 에셋은 Cook 과정에 포함되지 않기 때문에 LoadObject가 해당 에셋을 로드하려고 해도 런타임 시점(패키징버전)에서는 존재하지 않아 실패하여 NULL값을 리턴해 Fatal 에러가 나타난다.
이러한 경우 UPROPERTY 변수 선언등을 이용해 하드 레퍼런스로 참조를 하면 자동 패키징을 유도하거나
Cook 디렉토리에 해당 경로를 추가하면 된다.