Text Mesh Pro Issue Rendering

So I don’t see an issue when I run it in the editor, but when I run it on the simulator and device, we stop seeing text, any advice on how to deal with it?

NullReferenceException: Object reference not set to an instance of an object.
  at TMPro.MaterialReference..ctor (System.Int32 index, TMPro.TMP_FontAsset fontAsset, TMPro.TMP_SpriteAsset spriteAsset, UnityEngine.Material material, System.Single padding) [0x00000] in <00000000000000000000000000000000>:0 
  at TMPro.TextMeshProUGUI.SetArraySizes (TMPro.TMP_Text+UnicodeChar[] unicodeChars) [0x00000] in <00000000000000000000000000000000>:0 
  at TMPro.TMP_Text.GetPreferredWidth () [0x00000] in <00000000000000000000000000000000>:0 
  at TMPro.TMP_Text.get_preferredWidth () [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.UI.LayoutUtility.GetLayoutProperty (UnityEngine.RectTransform rect, System.Func`2[T,TResult] property, System.Single defaultValue, UnityEngine.UI.ILayoutElement& source) [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.UI.LayoutUtility.GetPreferredWidth (UnityEngine.RectTransform rect) [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.UI.HorizontalOrVerticalLayoutGroup.GetChildSizes (UnityEngine.RectTransform child, System.Int32 axis, System.Boolean controlSize, System.Boolean childForceExpand, System.Single& min, System.Single& preferred, System.Single& flexible) [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.UI.HorizontalOrVerticalLayoutGroup.CalcAlongAxis (System.Int32 axis, System.Boolean isVertical) [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.UI.LayoutRebuilder.PerformLayoutCalculation (UnityEngine.RectTransform rect, UnityEngine.Events.UnityAction`1[T0] action) [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.UI.LayoutRebuilder.PerformLayoutCalculation (UnityEngine.RectTransform rect, UnityEngine.Events.UnityAction`1[T0] action) [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.UI.LayoutRebuilder.Rebuild (UnityEngine.UI.CanvasUpdate executing) [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.UI.CanvasUpdateRegistry.PerformUpdate () [0x00000] in <00000000000000000000000000000000>:0 
UnityEngine.UI.CanvasUpdateRegistry:PerformUpdate()

NullReferenceException: Object reference not set to an instance of an object.
  at TMPro.MaterialReference..ctor (System.Int32 index, TMPro.TMP_FontAsset fontAsset, TMPro.TMP_SpriteAsset spriteAsset, UnityEngine.Material material, System.Single padding) [0x00000] in <00000000000000000000000000000000>:0 
  at TMPro.TextMeshProUGUI.SetArraySizes (TMPro.TMP_Text+UnicodeChar[] unicodeChars) [0x00000] in <00000000000000000000000000000000>:0 
  at TMPro.TextMeshProUGUI.OnPreRenderCanvas () [0x00000] in <00000000000000000000000000000000>:0 
  at TMPro.TextMeshProUGUI.Rebuild (UnityEngine.UI.CanvasUpdate update) [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.UI.CanvasUpdateRegistry.PerformUpdate () [0x00000] in <00000000000000000000000000000000>:0 
UnityEngine.UI.CanvasUpdateRegistry:PerformUpdate()

NullReferenceException: Object reference not set to an instance of an object.
  at TMPro.MaterialReference..ctor (System.Int32 index, TMPro.TMP_FontAsset fontAsset, TMPro.TMP_SpriteAsset spriteAsset, UnityEngine.Material material, System.Single padding) [0x00000] in <00000000000000000000000000000000>:0 
  at TMPro.TextMeshProUGUI.SetArraySizes (TMPro.TMP_Text+UnicodeChar[] unicodeChars) [0x00000] in <00000000000000000000000000000000>:0 
  at TMPro.TMP_Text.GetPreferredWidth () [0x00000] in <00000000000000000000000000000000>:0 
  at TMPro.TMP_Text.get_preferredWidth () [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.CanvasRendererTracker.TransferTextRenderData (UnityEngine.CanvasRenderer cr, TMPro.TextMeshProUGUI tmp, Unity.PolySpatial.Internals.TrackingData`1[Unity.PolySpatial.Internals.PolySpatialCanvasRendererTrackingData]* trackingData, Unity.PolySpatial.Internals.IChangeListWritable`1[TEngineData] engineData, System.Boolean startDirty) [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.UnityObjectTracker`4[TObject,TEngineData,TRemovedData,TTrackingData].TransferObjectAndUpdateTrackingData (UnityEngine.Object o, TTrackingData* data) [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.CanvasRendererTracker.TrackNewAndModifiedObjects (UnityEngine.Object[] changedObjects) [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.ObjectDispatcherProxy.<.ctor>b__12_0 (UnityEngine.TypeDispatchData real) [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.ObjectDispatcher+<>c.<.cctor>b__54_0 (UnityEngine.Object[] changed, System.IntPtr changedID, System.IntPtr destroyedID, System.Int32 changedCount, System.Int32 destroyedCount, System.Action`1[T] callback) [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.ObjectDispatcherProxy.DispatchTypeChangesAndClear (System.Type type, System.Action`1[T] fetchProxyTypeCallback) [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.UnityObjectTracker`4[TObject,TEngineData,TRemovedData,TTrackingData].TrackObjectChanges (UnityEngine.LayerMask cullingMask) [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.PolySpatialUnityTracker.TrackObjectChanges (UnityEngine.LayerMask cullingMask) [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.PolySpatialUnitySimulation.UpdateInternal () [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.PolySpatialCore.PolySpatialAfterLateUpdate () [0x00000] in <00000000000000000000000000000000>:0 
Unity.PolySpatial.Internals.ObjectDispatcherProxy:DispatchTypeChangesAndClear(Type, Action`1)
Unity.PolySpatial.Internals.UnityObjectTracker`4:TrackObjectChanges(LayerMask)
Unity.PolySpatial.Internals.PolySpatialUnityTracker:TrackObjectChanges(LayerMask)
Unity.PolySpatial.Internals.PolySpatialUnitySimulation:UpdateInternal()
Unity.PolySpatial.Internals.PolySpatialCore:PolySpatialAfterLateUpdate()

AR data provider state changed. New state is Running.
UnityEngine.XR.VisionOS.VisionOSSessionProvider:DataProviderStateChangeHandler(IntPtr, AR_Data_Provider_State, IntPtr, IntPtr)

Scene willEnterForeground: <UIWindowScene: 0x17ce82f00; role: UISceneSessionRoleImmersiveSpaceApplication; persistentIdentifier: com.fuzzydoortech.scoutvisionpro:SFBSystemService-2444E299-58AB-4F79-8FD9-A4C3108E8B6F; activationState: UISceneActivationStateUnattached>, window uuid: nil
Scene became active: <UIWindowScene: 0x17ce82f00; role: UISceneSessionRoleImmersiveSpaceApplication; persistentIdentifier: com.fuzzydoortech.scoutvisionpro:SFBSystemService-2444E299-58AB-4F79-8FD9-A4C3108E8B6F; activationState: UISceneActivationStateForegroundActive>
Window added: uuid 115C7B78-34E8-4647-A712-B0C500F69E36 as Unbounded
NullReferenceException: Object reference not set to an instance of an object.
  at TMPro.MaterialReference..ctor (System.Int32 index, TMPro.TMP_FontAsset fontAsset, TMPro.TMP_SpriteAsset spriteAsset, UnityEngine.Material material, System.Single padding) [0x00000] in <00000000000000000000000000000000>:0 
  at TMPro.TextMeshProUGUI.SetArraySizes (TMPro.TMP_Text+UnicodeChar[] unicodeChars) [0x00000] in <00000000000000000000000000000000>:0 
  at TMPro.TMP_Text.GetPreferredWidth () [0x00000] in <00000000000000000000000000000000>:0 
  at TMPro.TMP_Text.get_preferredWidth () [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.UI.LayoutUtility.GetLayoutProperty (UnityEngine.RectTransform rect, System.Func`2[T,TResult] property, System.Single defaultValue, UnityEngine.UI.ILayoutElement& source) [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.UI.LayoutUtility.GetPreferredWidth (UnityEngine.RectTransform rect) [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.UI.HorizontalOrVerticalLayoutGroup.GetChildSizes (UnityEngine.RectTransform child, System.Int32 axis, System.Boolean controlSize, System.Boolean childForceExpand, System.Single& min, System.Single& preferred, System.Single& flexible) [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.UI.HorizontalOrVerticalLayoutGroup.CalcAlongAxis (System.Int32 axis, System.Boolean isVertical) [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.UI.LayoutRebuilder.PerformLayoutCalculation (UnityEngine.RectTransform rect, UnityEngine.Events.UnityAction`1[T0] action) [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.UI.LayoutRebuilder.PerformLayoutCalculation (UnityEngine.RectTransform rect, UnityEngine.Events.UnityAction`1[T0] action) [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.UI.LayoutRebuilder.Rebuild (UnityEngine.UI.CanvasUpdate executing) [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.UI.CanvasUpdateRegistry.PerformUpdate () [0x00000] in <00000000000000000000000000000000>:0 
UnityEngine.UI.CanvasUpdateRegistry:PerformUpdate()

NullReferenceException: Object reference not set to an instance of an object.
  at TMPro.MaterialReference..ctor (System.Int32 index, TMPro.TMP_FontAsset fontAsset, TMPro.TMP_SpriteAsset spriteAsset, UnityEngine.Material material, System.Single padding) [0x00000] in <00000000000000000000000000000000>:0 
  at TMPro.TextMeshProUGUI.SetArraySizes (TMPro.TMP_Text+UnicodeChar[] unicodeChars) [0x00000] in <00000000000000000000000000000000>:0 
  at TMPro.TextMeshProUGUI.OnPreRenderCanvas () [0x00000] in <00000000000000000000000000000000>:0 
  at TMPro.TextMeshProUGUI.Rebuild (UnityEngine.UI.CanvasUpdate update) [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.UI.CanvasUpdateRegistry.PerformUpdate () [0x00000] in <00000000000000000000000000000000>:0 
UnityEngine.UI.CanvasUpdateRegistry:PerformUpdate()

NullReferenceException: Object reference not set to an instance of an object.
  at TMPro.MaterialReference..ctor (System.Int32 index, TMPro.TMP_FontAsset fontAsset, TMPro.TMP_SpriteAsset spriteAsset, UnityEngine.Material material, System.Single padding) [0x00000] in <00000000000000000000000000000000>:0 
  at TMPro.TextMeshProUGUI.SetArraySizes (TMPro.TMP_Text+UnicodeChar[] unicodeChars) [0x00000] in <00000000000000000000000000000000>:0 
  at TMPro.TextMeshProUGUI.OnPreRenderCanvas () [0x00000] in <00000000000000000000000000000000>:0 
  at TMPro.TextMeshProUGUI.Rebuild (UnityEngine.UI.CanvasUpdate update) [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.UI.CanvasUpdateRegistry.PerformUpdate () [0x00000] in <00000000000000000000000000000000>:0 
UnityEngine.UI.CanvasUpdateRegistry:PerformUpdate()

NullReferenceException: Object reference not set to an instance of an object.
  at TMPro.MaterialReference..ctor (System.Int32 index, TMPro.TMP_FontAsset fontAsset, TMPro.TMP_SpriteAsset spriteAsset, UnityEngine.Material material, System.Single padding) [0x00000] in <00000000000000000000000000000000>:0 
  at TMPro.TextMeshProUGUI.SetArraySizes (TMPro.TMP_Text+UnicodeChar[] unicodeChars) [0x00000] in <00000000000000000000000000000000>:0 
  at TMPro.TMP_Text.GetPreferredWidth () [0x00000] in <00000000000000000000000000000000>:0 
  at TMPro.TMP_Text.get_preferredWidth () [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.CanvasRendererTracker.TransferTextRenderData (UnityEngine.CanvasRenderer cr, TMPro.TextMeshProUGUI tmp, Unity.PolySpatial.Internals.TrackingData`1[Unity.PolySpatial.Internals.PolySpatialCanvasRendererTrackingData]* trackingData, Unity.PolySpatial.Internals.IChangeListWritable`1[TEngineData] engineData, System.Boolean startDirty) [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.UnityObjectTracker`4[TObject,TEngineData,TRemovedData,TTrackingData].TransferObjectAndUpdateTrackingData (UnityEngine.Object o, TTrackingData* data) [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.CanvasRendererTracker.TrackNewAndModifiedObjects (UnityEngine.Object[] changedObjects) [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.ObjectDispatcherProxy.<.ctor>b__12_0 (UnityEngine.TypeDispatchData real) [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.ObjectDispatcher+<>c.<.cctor>b__54_0 (UnityEngine.Object[] changed, System.IntPtr changedID, System.IntPtr destroyedID, System.Int32 changedCount, System.Int32 destroyedCount, System.Action`1[T] callback) [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.ObjectDispatcherProxy.DispatchTypeChangesAndClear (System.Type type, System.Action`1[T] fetchProxyTypeCallback) [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.UnityObjectTracker`4[TObject,TEngineData,TRemovedData,TTrackingData].TrackObjectChanges (UnityEngine.LayerMask cullingMask) [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.PolySpatialUnityTracker.TrackObjectChanges (UnityEngine.LayerMask cullingMask) [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.PolySpatialUnitySimulation.UpdateInternal () [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.PolySpatial.Internals.PolySpatialCore.PolySpatialAfterLateUpdate () [0x00000] in <00000000000000000000000000000000>:0 
Unity.PolySpatial.Internals.ObjectDispatcherProxy:DispatchTypeChangesAndClear(Type, Action`1)
Unity.PolySpatial.Internals.UnityObjectTracker`4:TrackObjectChanges(LayerMask)
Unity.PolySpatial.Internals.PolySpatialUnityTracker:TrackObjectChanges(LayerMask)
Unity.PolySpatial.Internals.PolySpatialUnitySimulation:UpdateInternal()
Unity.PolySpatial.Internals.PolySpatialCore:PolySpatialAfterLateUpdate()

It looks like this is being thrown because the material on the TextMeshPro/TextMeshProUGUI object is null. What is the Material Preset property set to, and do you see the material properties in the Inspector? Feel free to submit a bug report if you can create a repro case, and let us know the incident number (IN-#####) so that we can take a look.