I’m working on a mobile in which we want outlines. Specifically, we want the outlines to be “external” to make the text pop. In addition, we don’t want characters to overlap one another. In other words, rendering the outline before the faces such that the outline will always be completely behind the faces.
After trying out various settings with TMPro, it doesn’t seem like there is a simple way to achieve this other than creating 2 TextMeshProUGUI components for each single text. (outline version + face version) Sadly, doing this is very inefficient and requires a lot of rendering performance, so I would much prefer being able to achieve the same effect with just one component.
I almost can’t believe there is no such effect in TMPro, as there are a lot more effects in there that Unity doesn’t over. At the same time, Unity’s outline exactly what we want! (excl. text + outline performance for instance :P)
Because of that, I feel like I’m missing something obvious… Is there a setting for this? If not, is it possible to make a custom implementation for it without having the source code? We were able to create our own outline for unity’s text system using BaseMeshEffect.
I added 2 images that I hope make it clear what I’m talking about. The first image is what happens when using underlay, because every face is drawn first you see overlap between characters. (geometry sorting determining which way they overlap) The second image shows the effect we want, but uses two textmesh components.