[Unity] 어드레서블 씬 로드 후 인스펙터에 프리팹 참조가 끊어질 때Unity/TroubleShooting2024. 5. 13. 23:27
Table of Contents
✌️개요
문제 설명은 이렇습니다
`MainLobby`씬에있는 `PoolManager`는 풀링될 프리팹들을 리스트에 담고있습니다
이렇게요
그리고 이 `MainLobby`씬을 어드레서블 번들로 빌드해줬습니다
그리고나서 `Addressables.LoadSceneAsync`함수로 어드레서블로 빌드된 씬을 로드했습니다
그랬더니 이렇게 프리팹이 빠져있습니다
이상한 경고들도 막 반겨주네요
근데 또 웃긴건 이 `PoolManager`만 빠져있고 다른 스크립트들이 가지고있는 프리팹들은 괜찮았습니다
무튼 이 문제를 해결해보겠습니다
🔥본문
답은 의외로 간단합니다
프로젝트에서 `AddressableAssetSettings`에셋을 찾아줍니다
디폴트라면 `Assets > AddressableAssetData`폴더 안에 있습니다
설정값중에 Build탭에 `MonoScript Bundle Naming Prefix`라는 설정값이 있습니다
이 옵션이 디폴트로 위 사진처럼 Disable 어쩌구로 돼있는데 이걸 `Project Name Hash`로 변경해주고,
어드레서블을 다시 빌드 해주면 됩니다
추가로
이 옵션이 뭔지 찾아보니
모든 모노스크립트가 포함된 번들의 이름을 지정하는 방법.
번들을 사용하면 Unity가 모든 모노스크립트를 로드한 후 모노비헤이비어가 참조하기 전에 모든 모노스크립트를 로드할 수 있습니다.
또한 중복되거나 복잡한 모노스크립트 종속성의 수를 줄여 런타임 메모리 오버헤드를 줄일 수 있습니다.
라고 하는데
솔직히 완전히 이해하진 못했습니다
다만 해당 옵션에 마우스를 올려보니
추천옵션이 마침 바꿀려고했던 `Project Name Hash`라고 합니다
근데 왜 디폴트 값은 추천옵션이 아닌 Disable어쩌구로 돼있는걸까요
그건 아직 잘 모르겠습니다
마침 추천옵션이라고도 하니 일단 '괜히 건드리는게 아닌가...'하는 걱정은 좀 덜어줍니다
🔗참조
'Unity > TroubleShooting' 카테고리의 다른 글
[Unity] 애니메이터 서브 스테이트 머신의 요상한 트랜지션 우선순위 (0) | 2024.05.24 |
---|---|
[Unity] 어드레서블 리모트 경로 변경 후에도 기존 경로로 불러올 때 (0) | 2024.05.14 |
[Unity] Addressable로 불러온 모델이 에디터에서 핑크(마젠타) 쉐이더로 나올때 (0) | 2024.05.12 |
[Unity] HDR옵션을 켜면 RenderTexture의 배경이 보이는 문제 (1) | 2024.01.09 |
[Unity] 모바일에서 Input.GetMouseButton이 안먹힌다면... (2) | 2023.11.13 |