Localization string tables addressables groups have to be local?

I’m trying to include string and asset tables in addressables groups, to be downloaded if a user owns the content, but I’m getting some strange messages in the Addressables analyze tool (see image).
It seems to say that all my string and asset tables have to be in the precreated groups “Localization-String-Tables-English (en)”, “Localization-Assets-Shared” etc.
Have I missed some settings here, is this a bug, or are you not allowed to move string and asset tables to custom addressables groups?

I have separated some of my assets into Addressables groups, some to be downloaded as DLC and one group that is always available (called “FreeBirds”). I’m loading assets async in the Scene (which is not an addressable) and sometimes it works, but randomly I’m getting the following error, which breaks loading of strings.
I’m loading strings like this: new LocalizedString(table, id).GetLocalizedString();

2022/09/16 14:21:00.705 26103 26374 Error Unity System.Exception: Unable to load dependent bundle from location Assets/Addressables/Birds/Free/birdstrings/birdstrings_free_en.asset
2022/09/16 14:21:00.705 26103 26374 Error Unity UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationBase`1:set_OperationException(Exception)
2022/09/16 14:21:00.705 26103 26374 Error Unity UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationBase`1:Complete(TObject, Boolean, Exception, Boolean)
2022/09/16 14:21:00.705 26103 26374 Error Unity UnityEngine.ResourceManagement.ResourceProviders.ProvideHandle:Complete(T, Boolean, Exception)
2022/09/16 14:21:00.705 26103 26374 Error Unity UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider:Provide(ProvideHandle)
2022/09/16 14:21:00.705 26103 26374 Error Unity UnityEngine.ResourceManagement.AsyncOperations.ProviderOperation`1:Execute()
2022/09/16 14:21:00.705 26103 26374 Error Unity UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationBase`1:InvokeExecute()
2022/09/16 14:21:00.705 26103 26374 Error Unity UnityEngine.ResourceManagement.AsyncOperations.<>c__DisplayClass57_0:<add_CompletedTypeless>b__0(AsyncOperationHandle`1)
2022/09/16 14:21:00.705 26103 26374 Error Unity System.Action`1:Invoke(T)
2022/09/16 14:21:00.705 26103 26374 Error Unity DelegateList`1:Invoke(T)
2022/09/16 14:21:00.705 26103 26374 Error Unity UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationBase`1:InvokeCompletionEvent()
2022/09/16 14:21:00.705 26103 26374 Error Unity UnityEngine.ResourceManagement.AsyncOperations.AsyncOperatio
2022/09/16 14:21:00.705 26103 26687 Error ion ioctl c0044901 failed with code -1: Inappropriate ioctl for device
2022/09/16 14:21:00.708 26103 26374 Error Unity NullReferenceException: Object reference not set to an instance of an object.
2022/09/16 14:21:00.708 26103 26374 Error Unity   at UnityEngine.ResourceManagement.ResourceProviders.AssetBundleResource.WaitForCompletionHandler () [0x00000] in <00000000000000000000000000000000>:0
2022/09/16 14:21:00.708 26103 26374 Error Unity   at UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationBase`1[TObject].WaitForCompletion () [0x00000] in <00000000000000000000000000000000>:0
2022/09/16 14:21:00.708 26103 26374 Error Unity   at UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationHandle.WaitForCompletion () [0x00000] in <00000000000000000000000000000000>:0
2022/09/16 14:21:00.708 26103 26374 Error Unity   at UnityEngine.ResourceManagement.AsyncOperations.GroupOperation.InvokeWaitForCompletion () [0x00000] in <00000000000000000000000000000000>:0
2022/09/16 14:21:00.708 26103 26374 Error Unity   at UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationBase`1[TObject].WaitForCompletion () [0x00000] in <00000000000000000000000000000000>:0
2022/09/16 14:21:00.708 26103 26374 Error Unity   at UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationHandle`1[TObject].WaitForCompletion () [0x00000] in <00000000000000000000000000000000>:0
2022/09/16 14:21:00.708 26103 26374 Error Unity   at UnityEngine.ResourceManagement.As
2022/09/16 14:21:00.709 26103 26374 Error Unity OperationException : Unknown error in AsyncOperation : UnityEngine.Localization.LoadTableOperation`2[UnityEngine.Localization.Tables.StringTable,UnityEngine.Localization.Tables.StringTableEntry], result='', status='Failed'
2022/09/16 14:21:00.709 26103 26374 Error Unity UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationBase`1:set_OperationException(Exception)
2022/09/16 14:21:00.709 26103 26374 Error Unity UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationBase`1:Complete(TObject, Boolean, Exception, Boolean)
2022/09/16 14:21:00.709 26103 26374 Error Unity System.Action`1:Invoke(T)
2022/09/16 14:21:00.709 26103 26374 Error Unity DelegateList`1:Invoke(T)
2022/09/16 14:21:00.709 26103 26374 Error Unity UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationBase`1:InvokeCompletionEvent()
2022/09/16 14:21:00.709 26103 26374 Error Unity UnityEngine.ResourceManagement.ResourceManager:ExecuteDeferredCallbacks()
2022/09/16 14:21:00.709 26103 26374 Error Unity UnityEngine.ResourceManagement.ResourceManager:Update(Single)

The analyze rule checks the Addressable Group rules and reports if assets are in unexpected groups.
You can configure the rules Addressables Integration | Localization | 1.3.2

Its just a warning but if you know they should not be in that group then its fine to ignore or create custom rules to remove the warnings.

Ok, thank you!
It seems like the group rules don’t allow me to set “assets should be in the group they are in”, it just seems to allow grouping by locale and type and I’m not sure how to create custom rules classes that will be used by Unity.
Since they are just warnings I’ll ignore them for now then, thanks!
I think I might have solved the errors I was getting randomly with strings by adding “LocalizationSettings.InitializationOperation” when the app starts up, so I guess it wasn’t related to these warnings.

1 Like