Is TextMesh Pro its own enemy?
I’m setting up a brand-new Unity project right now — one that I want to use as a template for multiple future games. So I’m trying to do things properly from the ground up, based on everything I’ve learned over the past few years. Every system I choose or build now is meant to last, scale, and not bite me later.
Naturally, for UI text, I’m using TextMesh Pro. It’s the default choice in Unity and has some great stuff built in — clean rendering, fallback font support, dynamic atlases, and so on.
But the deeper I go, the more it feels like TMP kind of defeats itself.
Here’s the thing: I want to support multiple languages (Latin, Cyrillic, CJK, etc.) and also have a few text styles — for example, labels with outlines, some with glow, maybe a bold warning style, etc.
So I set up a main font asset, and then fallback fonts for Chinese, Japanese, Korean, emoji, etc. So far, everything works.
Then I start adding different visual styles using materials — and suddenly, everything breaks down.
TextMesh Pro lets me assign a custom material per text object. Cool. So I set up my main font with an outline material and apply it to a TMP component. Looks great… until I hit a fallback glyph. That character just renders with the fallback font’s default material, completely ignoring the outline.
Turns out, fallback fonts always use their own default material, and you can’t override that per-object. So if you want consistent visual styles across languages, you have to recreate the same material for every fallback font — for every style you use.
So now, if I have 5 fallback fonts and want 10 styles, that’s 60 different font assets and 60 materials. All taking up memory, all needing to be managed, just to make text look consistent across languages.
And that’s where TMP’s whole “performance-first design” kind of collapses. Instead of helping, it forces duplication of assets, bloated memory use, and extra maintenance — just to support something fairly normal like localization with a bit of UI styling.
I get that TMP was originally built for efficiency and batching, but it feels like it wasn’t designed with modern multi-language, styled UI in mind. And Unity still hasn’t addressed this — fallback rendering is still a black box, and there’s no clean way to apply a style across all fonts used by a single text object.
So yeah, I’m just wondering:
Is TMP kind of its own enemy at this point?
Has anyone found a clean way around this that doesn’t involve duplicating everything for every style?
Would love to hear how others are dealing with this — especially anyone building reusable UI setups across games like I’m trying to do.
https://redd.it/1k32q3v
@r_Unity3D
I’m setting up a brand-new Unity project right now — one that I want to use as a template for multiple future games. So I’m trying to do things properly from the ground up, based on everything I’ve learned over the past few years. Every system I choose or build now is meant to last, scale, and not bite me later.
Naturally, for UI text, I’m using TextMesh Pro. It’s the default choice in Unity and has some great stuff built in — clean rendering, fallback font support, dynamic atlases, and so on.
But the deeper I go, the more it feels like TMP kind of defeats itself.
Here’s the thing: I want to support multiple languages (Latin, Cyrillic, CJK, etc.) and also have a few text styles — for example, labels with outlines, some with glow, maybe a bold warning style, etc.
So I set up a main font asset, and then fallback fonts for Chinese, Japanese, Korean, emoji, etc. So far, everything works.
Then I start adding different visual styles using materials — and suddenly, everything breaks down.
TextMesh Pro lets me assign a custom material per text object. Cool. So I set up my main font with an outline material and apply it to a TMP component. Looks great… until I hit a fallback glyph. That character just renders with the fallback font’s default material, completely ignoring the outline.
Turns out, fallback fonts always use their own default material, and you can’t override that per-object. So if you want consistent visual styles across languages, you have to recreate the same material for every fallback font — for every style you use.
So now, if I have 5 fallback fonts and want 10 styles, that’s 60 different font assets and 60 materials. All taking up memory, all needing to be managed, just to make text look consistent across languages.
And that’s where TMP’s whole “performance-first design” kind of collapses. Instead of helping, it forces duplication of assets, bloated memory use, and extra maintenance — just to support something fairly normal like localization with a bit of UI styling.
I get that TMP was originally built for efficiency and batching, but it feels like it wasn’t designed with modern multi-language, styled UI in mind. And Unity still hasn’t addressed this — fallback rendering is still a black box, and there’s no clean way to apply a style across all fonts used by a single text object.
So yeah, I’m just wondering:
Is TMP kind of its own enemy at this point?
Has anyone found a clean way around this that doesn’t involve duplicating everything for every style?
Would love to hear how others are dealing with this — especially anyone building reusable UI setups across games like I’m trying to do.
https://redd.it/1k32q3v
@r_Unity3D
Reddit
From the Unity3D community on Reddit
Explore this post and more from the Unity3D community
This media is not supported in your browser
VIEW IN TELEGRAM
Game Update: I created distance closer attacks. Do you think it could be too OP? I think I can balance it by making it cost a significant chunk of stamina
https://redd.it/1k3e5ip
@r_Unity3D
https://redd.it/1k3e5ip
@r_Unity3D
USD File Format Vs FBX Workflow in Univah Pro
https://youtu.be/MfcbZX8XaKg?si=48W0KHg59fqF4taS
https://redd.it/1k3gsgx
@r_Unity3D
https://youtu.be/MfcbZX8XaKg?si=48W0KHg59fqF4taS
https://redd.it/1k3gsgx
@r_Unity3D
YouTube
USD File Format Vs FBX Workflow in Univah Pro
The Univah Film Engine is the industry standard Real-Time VFX, animation and Rendering Software for AAA game developers, film studios and college students.
Visit our website: smsoftwarecompany.com
Created by The Stephanie Michaels Software Company.
--…
Visit our website: smsoftwarecompany.com
Created by The Stephanie Michaels Software Company.
--…
Unity ready City assets available now in our collections on the Unity Asset Store
https://redd.it/1k3h521
@r_Unity3D
https://redd.it/1k3h521
@r_Unity3D
Reddit
From the Unity3D community on Reddit: Unity ready City assets available now in our collections on the Unity Asset Store
Explore this post and more from the Unity3D community
Classy Moment of Unity
Spent the last hour wondering why my enemy AI wouldn’t move—turns out I had the NavMeshAgent on a completely different GameObject. Classic Unity moment.
No matter how long you’ve been doing this, it’s the small oversights that keep you humble. But hey, once it works… chef’s kiss.
https://redd.it/1k3jyjt
@r_Unity3D
Spent the last hour wondering why my enemy AI wouldn’t move—turns out I had the NavMeshAgent on a completely different GameObject. Classic Unity moment.
No matter how long you’ve been doing this, it’s the small oversights that keep you humble. But hey, once it works… chef’s kiss.
https://redd.it/1k3jyjt
@r_Unity3D
Reddit
From the Unity2D community on Reddit
Explore this post and more from the Unity2D community
First Pixel Art Of A Monster On Asperite! Any thoughts?!
Ey Guys! This is my first pixel art I’m posting out here from Asperite I’ve done. Got the preview mode on the bottom right.
What do you think of this monster?
https://preview.redd.it/focthvjt4zve1.png?width=1196&format=png&auto=webp&s=8ec0f104322a741405858a11a10680bdcc14b344
https://redd.it/1k3kc6f
@r_Unity3D
Ey Guys! This is my first pixel art I’m posting out here from Asperite I’ve done. Got the preview mode on the bottom right.
What do you think of this monster?
https://preview.redd.it/focthvjt4zve1.png?width=1196&format=png&auto=webp&s=8ec0f104322a741405858a11a10680bdcc14b344
https://redd.it/1k3kc6f
@r_Unity3D
Our first game just hit 500 reviews on Steam, with 87% positive recent ratings! We’re beyond grateful. If you’re one of the players who left us a positive review: thank you so much!
https://redd.it/1k3l1nm
@r_Unity3D
https://redd.it/1k3l1nm
@r_Unity3D