PolySpatial 0.7.1: Crash and endless-loop behavior after upgrade

I just upgraded my app from PolySpatial 0.6.2 to 0.7.1. The app seems to crash right after start (the visionOS app selection screen appears again), but it still runs in the background. In a kind of endless loop, I am seeing messages like these on the Xcode error console:

ArgumentException: Texture2D.GetPixels32: texture data is either not readable, corrupted or does not exist. (Texture 'Font Texture')
  at Unity.PolySpatial.Internals.ConversionHelpers.ToPolySpatialFallbackTextureData (UnityEngine.Texture2D tex2d, System.Action`2[T1,T2] postConversionCallback) [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.LocalAssetManager.SendTextureAssetChanged (Unity.PolySpatial.Internals.PolySpatialAssetID assetID, UnityEngine.Object unityTexture, System.Boolean allowNativeTextures) [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.LocalAssetManager.ProcessChanges () [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.PolySpatialUnitySimulation.Update () [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.PolySpatialCore.PolySpatialAfterLateUpdate () [0x00000] in <00000000000000000000000000000000>:0 

It looks as if font textures cannot be loaded. I am porting an existing iOS app, so it might be the case that my fonts are not supported yet. However, I did not see this behavior under 0.6.2.

Project validation does not show any errors. If fonts can be an issue, it would be nice to know where they’re being used.

We also experienced exactly the same issue after upgrading to 0.7.1 from 0.6.3. Our project was running fine before, and it crashes with the following error in console now:

[Platform]     Mip: offset: 0 size: 1048576 bytesPerRow: 2048
[Platform]     Mip: offset: 0 size: 1048576 bytesPerRow: 2048
[Platform]     Mip: offset: 0 size: 16384 bytesPerRow: 256
[Platform]     Mip: offset: 16384 size: 4096 bytesPerRow: 128
[Platform]     Mip: offset: 20480 size: 1024 bytesPerRow: 64
[Platform]     Mip: offset: 21504 size: 256 bytesPerRow: 32
[Platform]     Mip: offset: 21760 size: 64 bytesPerRow: 16
[Platform]     Mip: offset: 21824 size: 16 bytesPerRow: 8
[Platform]     Mip: offset: 21840 size: 4 bytesPerRow: 4

[Diagnostics] EXCEPTION ArgumentException in PolySpatialCore:
  at Unity.PolySpatial.Internals.ConversionHelpers.ToPolySpatialFallbackTextureData (UnityEngine.Texture2D tex2d, System.Action`2[T1,T2] postConversionCallback) [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.LocalAssetManager.SendTextureAssetChanged (Unity.PolySpatial.Internals.PolySpatialAssetID assetID, UnityEngine.Object unityTexture, System.Boolean allowNativeTextures) [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.LocalAssetManager.ProcessChanges () [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.PolySpatialUnitySimulation.Update () [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.PolySpatialCore.PolySpatialAfterLateUpdate () [0x00000] in <00000000000000000000000000000000>:0 
ArgumentException: Texture2D.GetPixels32: texture data is either not readable, corrupted or does not exist. (Texture 'Font Texture')
  at Unity.PolySpatial.Internals.ConversionHelpers.ToPolySpatialFallbackTextureData (UnityEngine.Texture2D tex2d, System.Action`2[T1,T2] postConversionCallback) [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.LocalAssetManager.SendTextureAssetChanged (Unity.PolySpatial.Internals.PolySpatialAssetID assetID, UnityEngine.Object unityTexture, System.Boolean allowNativeTextures) [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.LocalAssetManager.ProcessChanges () [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.PolySpatialUnitySimulation.Update () [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.PolySpatialCore.PolySpatialAfterLateUpdate () [0x00000] in <00000000000000000000000000000000>:0 
Unity.PolySpatial.Internals.PolySpatialCore:PolySpatialAfterLateUpdate()

ArgumentException: Texture2D.GetPixels32: texture data is either not readable, corrupted or does not exist. (Texture 'Font Texture')
  at Unity.PolySpatial.Internals.ConversionHelpers.ToPolySpatialFallbackTextureData (UnityEngine.Texture2D tex2d, System.Action`2[T1,T2] postConversionCallback) [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.LocalAssetManager.SendTextureAssetChanged (Unity.PolySpatial.Internals.PolySpatialAssetID assetID, UnityEngine.Object unityTexture, System.Boolean allowNativeTextures) [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.LocalAssetManager.ProcessChanges () [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.PolySpatialUnitySimulation.Update () [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.PolySpatialCore.PolySpatialAfterLateUpdate () [0x00000] in <00000000000000000000000000000000>:0 
Scene disconnected: <UIWindowScene: 0x124e6a020; role: UISceneSessionRoleImmersiveSpaceApplication; persistentIdentifier: com.Factory42.HoldTheWorld:SFBSystemService-9AF36588-E3D7-4C13-9EA3-9950A13FCEFF; activationState: UISceneActivationStateUnattached>
1 Like