Hi!
I’ve not dug deep into how the localization system works, so please excuse my ignorance here. Any guidance would be much appreciated…
I’m using the 1.5.3 package in Unity 2022.3.44.
I’m getting a variety of null reference exception errors from the Localization package, specifically JsonSerializerTrackedObject.
These two in ApplyLocale:
[12/20/2024 13:37:12] <Exception>: NullReferenceException: Object reference not set to an instance of an object
UnityEngine.Localization.PropertyVariants.TrackedObjects.JsonSerializerTrackedObject.ApplyLocale (UnityEngine.Localization.Locale variantLocale, UnityEngine.Localization.Locale defaultLocale) (at ./Library/PackageCache/com.unity.localization@1.5.3/Runtime/Property Variants/Tracked Objects/JsonSerializerTrackedObject.cs:183)
UnityEngine.Localization.PropertyVariants.GameObjectLocalizer.ApplyLocaleVariant (UnityEngine.Localization.Locale locale, UnityEngine.Localization.Locale fallback) (at ./Library/PackageCache/com.unity.localization@1.5.3/Runtime/Property Variants/GameObjectLocalizer.cs:197)
UnityEngine.Localization.PropertyVariants.GameObjectLocalizer.ApplyLocaleVariant (UnityEngine.Localization.Locale locale) (at ./Library/PackageCache/com.unity.localization@1.5.3/Runtime/Property Variants/GameObjectLocalizer.cs:171)
UnityEngine.Localization.PropertyVariants.GameObjectLocalizer.RequestUpdate () (at ./Library/PackageCache/com.unity.localization@1.5.3/Runtime/Property Variants/GameObjectLocalizer.cs:269)
UnityEngine.Localization.PropertyVariants.GameObjectLocalizer.<RegisterChanges>b__18_0 (System.String _) (at ./Library/PackageCache/com.unity.localization@1.5.3/Runtime/Property Variants/GameObjectLocalizer.cs:224)
UnityEngine.Localization.LocalizedString.InvokeChangeHandler (System.String value) (at ./Library/PackageCache/com.unity.localization@1.5.3/Runtime/Localized Reference/LocalizedString.cs:699)
UnityEngine.Localization.LocalizedString:AutomaticLoadingCompleted(AsyncOperationHandle`1)
DelegateList`1:Invoke(AsyncOperationHandle`1) (at ./Library/PackageCache/com.unity.addressables@1.22.2/Runtime/ResourceManager/Util/DelegateList.cs:75)
UnityEngine.ResourceManagement.AsyncOperations.<>c__DisplayClass60_0:<add_CompletedTypeless>b__0(AsyncOperationHandle`1)
DelegateList`1:Invoke(AsyncOperationHandle`1) (at ./Library/PackageCache/com.unity.addressables@1.22.2/Runtime/ResourceManager/Util/DelegateList.cs:75)
UnityEngine.Localization.Operations.LoadTableOperation`2:TableLoaded(AsyncOperationHandle`1)
DelegateList`1:Invoke(AsyncOperationHandle`1) (at ./Library/PackageCache/com.unity.addressables@1.22.2/Runtime/ResourceManager/Util/DelegateList.cs:75)
UnityEngine.ResourceManagement.Util.DelayedActionManager:LateUpdate() (at ./Library/PackageCache/com.unity.addressables@1.22.2/Runtime/ResourceManager/Util/DelayedActionManager.cs:162)
[10/25/2024 09:07:08] <Exception>: NullReferenceException: Object reference not set to an instance of an object
UnityEngine.Localization.PropertyVariants.TrackedObjects.JsonSerializerTrackedObject.ApplyLocale (UnityEngine.Localization.Locale variantLocale, UnityEngine.Localization.Locale defaultLocale) (at ./Library/PackageCache/com.unity.localization@1.5.3/Runtime/Property Variants/Tracked Objects/JsonSerializerTrackedObject.cs:169)
UnityEngine.Localization.PropertyVariants.GameObjectLocalizer.ApplyLocaleVariant (UnityEngine.Localization.Locale locale, UnityEngine.Localization.Locale fallback) (at ./Library/PackageCache/com.unity.localization@1.5.3/Runtime/Property Variants/GameObjectLocalizer.cs:197)
UnityEngine.Localization.PropertyVariants.GameObjectLocalizer.ApplyLocaleVariant (UnityEngine.Localization.Locale locale) (at ./Library/PackageCache/com.unity.localization@1.5.3/Runtime/Property Variants/GameObjectLocalizer.cs:171)
UnityEngine.Localization.PropertyVariants.GameObjectLocalizer.RequestUpdate () (at ./Library/PackageCache/com.unity.localization@1.5.3/Runtime/Property Variants/GameObjectLocalizer.cs:269)
UnityEngine.Localization.PropertyVariants.GameObjectLocalizer.<RegisterChanges>b__18_0 (System.String _) (at ./Library/PackageCache/com.unity.localization@1.5.3/Runtime/Property Variants/GameObjectLocalizer.cs:224)
UnityEngine.Localization.LocalizedString.InvokeChangeHandler (System.String value) (at ./Library/PackageCache/com.unity.localization@1.5.3/Runtime/Localized Reference/LocalizedString.cs:699)
UnityEngine.Localization.LocalizedString:AutomaticLoadingCompleted(AsyncOperationHandle`1)
DelegateList`1:Invoke(AsyncOperationHandle`1) (at ./Library/PackageCache/com.unity.addressables@1.22.2/Runtime/ResourceManager/Util/DelegateList.cs:75)
UnityEngine.ResourceManagement.AsyncOperations.<>c__DisplayClass60_0:<add_CompletedTypeless>b__0(AsyncOperationHandle`1)
DelegateList`1:Invoke(AsyncOperationHandle`1) (at ./Library/PackageCache/com.unity.addressables@1.22.2/Runtime/ResourceManager/Util/DelegateList.cs:75)
UnityEngine.Localization.Operations.LoadTableOperation`2:TableLoaded(AsyncOperationHandle`1)
DelegateList`1:Invoke(AsyncOperationHandle`1) (at ./Library/PackageCache/com.unity.addressables@1.22.2/Runtime/ResourceManager/Util/DelegateList.cs:75)
UnityEngine.AsyncOperation:InvokeCompletionEvent() (at C:/build/output/unity/unity/Runtime/Export/Scripting/AsyncOperation.cs:21)
And another:
[12/10/2024 15:58:35] <Exception>: NullReferenceException: Object reference not set to an instance of an object
UnityEngine.Localization.PropertyVariants.TrackedObjects.JsonSerializerTrackedObject+DeferredJsonStringOperation.OnStringLoaded (UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationHandle`1[TObject] asyncOperationHandle) (at ./Library/PackageCache/com.unity.localization@1.5.3/Runtime/Property Variants/Tracked Objects/JsonSerializerTrackedObject.cs:82)
DelegateList`1[T].Invoke (T res) (at ./Library/PackageCache/com.unity.addressables@1.22.2/Runtime/ResourceManager/Util/DelegateList.cs:75)
UnityEngine.Debug:LogException(Exception)
DelegateList`1:Invoke(AsyncOperationHandle`1) (at ./Library/PackageCache/com.unity.addressables@1.22.2/Runtime/ResourceManager/Util/DelegateList.cs:79)
UnityEngine.ResourceManagement.AsyncOperations.<>c__DisplayClass60_0:<add_CompletedTypeless>b__0(AsyncOperationHandle`1)
DelegateList`1:Invoke(AsyncOperationHandle`1) (at ./Library/PackageCache/com.unity.addressables@1.22.2/Runtime/ResourceManager/Util/DelegateList.cs:75)
UnityEngine.ResourceManagement.AsyncOperations.<>c__DisplayClass60_0:<add_CompletedTypeless>b__0(AsyncOperationHandle`1)
DelegateList`1:Invoke(AsyncOperationHandle`1) (at ./Library/PackageCache/com.unity.addressables@1.22.2/Runtime/ResourceManager/Util/DelegateList.cs:75)
UnityEngine.Localization.Operations.LoadTableOperation`2:TableLoaded(AsyncOperationHandle`1)
DelegateList`1:Invoke(AsyncOperationHandle`1) (at ./Library/PackageCache/com.unity.addressables@1.22.2/Runtime/ResourceManager/Util/DelegateList.cs:75)
UnityEngine.ResourceManagement.Util.DelayedActionManager:LateUpdate() (at ./Library/PackageCache/com.unity.addressables@1.22.2/Runtime/ResourceManager/Util/DelayedActionManager.cs:162)
I have not been able to consistently reproduce these errors. If these are user errors, are there any good ways to track down the source of the error?
Many thanks!