Skip to main content

TextMeshPro text does not get rendered when placed under any Canvas

This problem may occur if the TMP text is used with a MeshRenderer component instead of a CanvasRenderer. This causes the engine to render the TMP text as a world space object rather than a UI element. It is possible that the developer first created a regular Text Mesh (not intended for UI), then later attempted to turn it into an UI element without changing all related components.

This issue could be caused also by setting the TMP layer to any other layer rather than UI.

images-small

Possible solution:

  • Create a new TMP text that is designed for UI (with CanvasRenderer, as shown in the picture below), and copy and paste all values to this new object.

images-small