EveryDay.DevUp

[MR-PROTO] Locale 리소스를 찾지못하는 이슈 본문

ProjectMR/이슈

[MR-PROTO] Locale 리소스를 찾지못하는 이슈

EveryDay.DevUp 2025. 2. 16. 10:24

 이슈 : Localization 패키지 설치 후, Addressable 빌드까지 완료했지만, 실행 시 다음과 같은 에러가 발생

UnityEngine.AddressableAssets.InvalidKeyException: Exception of type 'UnityEngine.AddressableAssets.InvalidKeyException' was thrown. No Location found for Key=System.Collections.Generic.List`1[System.String]
UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationBase`1/<>c__DisplayClass60_0<UnityEngine.AddressableAssets.ResourceLocators.IResourceLocator>:<add_CompletedTypeless>b__0 (UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationHandle`1<UnityEngine.AddressableAssets.ResourceLocators.IResourceLocator>)
DelegateList`1<UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationHandle`1<UnityEngine.AddressableAssets.ResourceLocators.IResourceLocator>>:Invoke (UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationHandle`1<UnityEngine.AddressableAssets.ResourceLocators.IResourceLocator>) (at ./Library/PackageCache/com.unity.addressables/Runtime/ResourceManager/Util/DelegateList.cs:75)
UnityEngine.AddressableAssets.Initialization.InitializationOperation/<>c__DisplayClass17_0:<LoadContentCatalogInternal>b__0 (UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationHandle`1<UnityEngine.AddressableAssets.ResourceLocators.IResourceLocator>)
DelegateList`1<UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationHandle`1<UnityEngine.AddressableAssets.ResourceLocators.IResourceLocator>>:Invoke (UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationHandle`1<UnityEngine.AddressableAssets.ResourceLocators.IResourceLocator>) (at ./Library/PackageCache/com.unity.addressables/Runtime/ResourceManager/Util/DelegateList.cs:75)
UnityEngine.ResourceManagement.ChainOperation`2<UnityEngine.AddressableAssets.ResourceLocators.IResourceLocator, UnityEngine.AddressableAssets.ResourceLocators.ContentCatalogData>:OnWrappedCompleted (UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationHandle`1<UnityEngine.AddressableAssets.ResourceLocators.IResourceLocator>)
DelegateList`1<UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationHandle`1<UnityEngine.AddressableAssets.ResourceLocators.IResourceLocator>>:Invoke (UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationHandle`1<UnityEngine.AddressableAssets.ResourceLocators.IResourceLocator>) (at ./Library/PackageCache/com.unity.addressables/Runtime/ResourceManager/Util/DelegateList.cs:75)
UnityEngine.ResourceManagement.ResourceManager:Update (single)
MonoBehaviourCallbackHooks:Update () (at ./Library/PackageCache/com.unity.addressables/Runtime/ResourceManager/Util/MonoBehaviourCallbackHooks.cs:29)

No Locale could be selected:
No Locales were available. Did you build the Addressables?
The following (5) IStartupLocaleSelectors were used:
	UnityEngine.Localization.Settings.SpecificLocaleSelector
	UnityEngine.Localization.Settings.SpecificLocaleSelector
	UnityEngine.Localization.Settings.SpecificLocaleSelector
	UnityEngine.Localization.Settings.SpecificLocaleSelector
	UnityEngine.Localization.Settings.SpecificLocaleSelector

UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationBase`1/<>c__DisplayClass60_0<UnityEngine.AddressableAssets.ResourceLocators.IResourceLocator>:<add_CompletedTypeless>b__0 (UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationHandle`1<UnityEngine.AddressableAssets.ResourceLocators.IResourceLocator>)
DelegateList`1<UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationHandle`1<UnityEngine.AddressableAssets.ResourceLocators.IResourceLocator>>:Invoke (UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationHandle`1<UnityEngine.AddressableAssets.ResourceLocators.IResourceLocator>) (at ./Library/PackageCache/com.unity.addressables/Runtime/ResourceManager/Util/DelegateList.cs:75)
UnityEngine.AddressableAssets.Initialization.InitializationOperation/<>c__DisplayClass17_0:<LoadContentCatalogInternal>b__0 (UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationHandle`1<UnityEngine.AddressableAssets.ResourceLocators.IResourceLocator>)
DelegateList`1<UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationHandle`1<UnityEngine.AddressableAssets.ResourceLocators.IResourceLocator>>:Invoke (UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationHandle`1<UnityEngine.AddressableAssets.ResourceLocators.IResourceLocator>) (at ./Library/PackageCache/com.unity.addressables/Runtime/ResourceManager/Util/DelegateList.cs:75)
UnityEngine.ResourceManagement.ChainOperation`2<UnityEngine.AddressableAssets.ResourceLocators.IResourceLocator, UnityEngine.AddressableAssets.ResourceLocators.ContentCatalogData>:OnWrappedCompleted (UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationHandle`1<UnityEngine.AddressableAssets.ResourceLocators.IResourceLocator>)
DelegateList`1<UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationHandle`1<UnityEngine.AddressableAssets.ResourceLocators.IResourceLocator>>:Invoke (UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationHandle`1<UnityEngine.AddressableAssets.ResourceLocators.IResourceLocator>) (at ./Library/PackageCache/com.unity.addressables/Runtime/ResourceManager/Util/DelegateList.cs:75)
UnityEngine.ResourceManagement.ResourceManager:Update (single)
MonoBehaviourCallbackHooks:Update () (at ./Library/PackageCache/com.unity.addressables/Runtime/ResourceManager/Util/MonoBehaviourCallbackHooks.cs:29)

원인 

- 어드레서블 그룹 셋팅 시에 Include Labels in Catalog를 비활성화하여 발생한 이슈

- 어드레서블 그룹에서 Localization 항목을 보면, Locale Label로 묶여 있는 것을 확인할 수 있음

대응

- 어드레서블 그룹의에서 Include Lables in Catalog를 다시 활성화여 어드레서블을 재빌드하면 정상적으로 동작