TMPro dynamic fallbacks not being used - spawning TMP SubMeshUI and errors instead

I have two font assets: a main one, and an Arial font which supports lots of unicode as a fallback.

For example, the Arial font asset supports Korean characters. It’s set to dynamic and works perfectly.

My custom font asset is also dynamic, but supports fewer characters, so I have the fallback set to Arial.

However, when I type an unsupported character (e.g. “글”) in a TMPro UI component set to use my custom font, instead of falling back to the Arial font and just working, it instead starts creating lots of child gameobjects and spitting out this error:

MissingComponentException: There is no 'CanvasRenderer' attached to the "TMP UI SubObject [JetBrainsMono-Italic[wght] Atlas Material + arial-unicode-ms Atlas]" game object, but a script is trying to access it.

This seems to be an issue within TMPro itself. Attaching a CanvasRenderer does nothing, and it certainly doesn’t display the missing character.

Hi,

You might of already looked at this but here is a post on the forum with a similar issue: Unity 2020.1a17 TMPro Font Asset Created 'usage' Bug

It’s a similar issue that you have encountered. Let me know if it resolves the error.