작성
·
47
·
수정됨
0
45:30 부분에서 에서 세 데이터에셋의 블루프린트를 하나로 묶고 Reload 후 Save All을 했을때, Reload 된 각각의 에셋들이 실제로는 Reload가 안된 채로 저장이 되는 것 같습니다.(다만, 마우스를 갖다대면 primary Asset Type은 표면적으로 변경된것처럼 보입니다.)
반면, 묶음으로 Reload를 한 후, 개별적으로 블루프린트를 열고 일일이 저장버튼을 누르면 그제서야 Reload가 적용이 되는지, ensure()이 통과가 됩니다.
예를들어 에러를 띄우기 위해 ,ABItemData.h 에 있는 코드
return FPrimaryAssetId("ABItemData", GetFName()); 부분에 태그ID 를 "ABItemData3333", GetFName()) 로 바꾼 후,
ABItemBox.cpp 에서
FPrimaryAssetId SpecificAssetId(TEXT("ABItemData"), TEXT("ABIS_ScrollTest"));
FSoftObjectPtr AssetPtr(Manager.GetPrimaryAssetPath(SpecificAssetId));
로 바꿔서 아이템 전부를 의도적으로 Scroll 자산으로 설정하고 에디터 실행 후에 설명하신 대로 전체묶음+Reload+save all 을 한 후 플레이를 누르면, 아이템이 생성되는 시점에 ensure(Item) 에서 에러가 발생되길 기대했지만 에러가 발생하지 않고 여전히 정상적으로 아이템박스 인스턴스가 생성이 됩니다.
반면 세묶음으로 Reload를 한 후 세이브는 데이터에셋 블루프린트 각각을 열어 개별저장 한 후에 다시 플레이를 하면 원하던 에러가 뜹니다.
아무래도 save all 이 Reload한 데이터 에셋들을 제대로 저장시키지 못하고 있는게 아닌가 싶습니다. 버그인지 아닌지는 모르겠지만..
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다. hush park님.
데이터 에셋 블루프린트의 Reload 및 저장 문제로 인해 혼란스러우셨던 것 같습니다. 언리얼 엔진에서는 데이터를 Reload한 후 저장할 때, 편집기에서 모든 결과가 명확하게 반영되지 않는 경우가 발생할 수 있습니다. 특히, ‘Save All’ 기능은 변경 사항이 존재하는 모든 에셋을 저장하려 시도하지만, 경우에 따라 일부 에셋은 수동으로 개별 저장해야 확실히 변경 사항이 적용될 때가 있습니다.
이 경우는 주로 다음과 같은 이유로 발생할 수 있습니다:
1. 언리얼 에디터의 캐싱 메커니즘: 에디터는 특정 데이터 변경 사항을 즉시 반영하지 않는 캐시 동작을 수행할 수 있습니다.
2. 에디터의 버그 또는 설정: 일부 설정으로 인해 저장 작업이 의도대로 진행되지 않는 경우가 있을 수 있습니다.
3. 필요한 수동 작업: 특히 블루프린트의 경우 종종 수동으로 다시 열고 저장하는 것이 변경 사항을 확실히 반영하게 하는 방법이 될 수 있습니다.
이 문제에 관한 추가적인 정보를 위해 참고할 수 있는 링크를 제공해드리겠습니다. 유사한 문제를 다룬 게시물과 해결 방법을 탐색해 보세요:
- TSoftObjectPtr로 변경하여도 Weapon에셋이 로드가 됩니다.
- 아이템박스에서 배열 빈경우
위 링크에서는 언리얼 엔진이 리소스를 어떻게 캐시하고 처리하는지에 대한 설명과 팁을 찾을 수 있습니다. 기본적으로 에디터에서 모든 변경 사항이 항상 즉시 반영되지 않을 수 있다는 점을 유의하세요. 가장 확실하게 변경을 적용하려면, 에디터에서 에셋을 하나씩 열고 저장하는 과정을 추천드립니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.