Invisible Sprites in TextMeshPro

TMP SubMeshUI Sprites Are Invisible in the Unity Editor but Visible in Play Mode

I’m encountering an issue where TMP SubMeshUI sprites are not visible in the Unity Editor but appear as expected in Play Mode.

TextMeshPro version 3.0.9
Unity version 2022.3.50f1

What I’ve Tried:

  • Reimported the TMP Sprite asset.
  • Re-created the Sprite Asset.
  • Used the “Reimport All” option.
  • Closed and reopened Unity.
  • Restarted my computer.
  • Tested with multiple TMP Sprite Assets.
  • Created new Sprite Assets from scratch.
  • Tried using a new scene.
  • Experimented with different canvas types (Overlay / World Space / Screen Space).

Despite these efforts, the issue persists. Has anyone else experienced this?

The following error :

Seems to be related.

Line 2051 of TMPro_UGUI_Private.cs

currentElementScale = m_currentFontAsset.m_FaceInfo.ascentLine / sprite.m_Glyph.metrics.height * sprite.m_Scale * sprite.m_Glyph.scale * spriteScale;

I tried attaching a debugger, but the error went away on play mode. Will update when I have more info.

With some more research I was able to find the solution.

This guy : In the Inspector, change the TextMeshPro component text to report an error null pointer reference

Simply recommends deleting the TextMeshPro folder and re-importing it.

Turns out this was the solution. I’m not sure what happenned, but this fixed the problem.