TextMeshPro blocky characters after upgrade from 2017 to 2018+

Hey gang, I recently upgraded my project from Unity 2017 to Unity 2018.3/2019 and started having issues with TMP. The migration from old textmesh pro to using the package manager went smoothly, but now my text inside buttons has a blocky black border when the button is highlighted (see image below). The blocky border is not there when the button is not highlighted. I have scoured the web and have tried increasing the padding and changing render mode to all types of SDA, but nothing has worked. Atlas is currently 2048x2048 (lots of unicode) and sampling point size is 93 with a padding of 20. I know there’s probably a setting I’m missing that resolves this, but my brains mush and it’s cold outside. Thanks given in advance for any assistance!

If the Sampling Point Size is 93 then a padding value around 10 or so should be fine. A value of 20 would be excessive unless you want crazy deep / large outline and shadow.

In terms of the issue, can you post an image of the atlas texture of this font asset. I suspect some of the glyphs were written on top of previous ones.

@Stephan_B Yeah, we’ve tried having the padding anywhere from 9-30 and different atlas resolutions with no changes to this issue.

To be clear, this issue appears only after we upgraded to the package manager version of TMP.

Here’s the requested screenshot:
4548832--422185--tmpglyphs.png
Again, thanks for the support.

Did some additional testing with new 3D TMP objects (as opposed to the migrated TMP objects already in the scene) and with UI TMP objects.
New 3D TMP objects had the same blocky defect as the migrated TMP objects.
New UI TMP objects appear to work just fine.
Is there an easy way to migrate from 3d to UI TMP?
Am I going to have to go through this entire project and manually replace these objects? I hope not, but it sounds like this is a possible solution, just not optimal, which means I’m a in better position than I was this morning.

4549018--422206--20190516102203_1.jpg

Are these normal objects used inside of a Canvas?

If they are used in world space outside of a canvas, I would not recommend switching to the Canvas system as it adds additional performance overhead which is not necessary.

I should be able to figure out this issue quickly so there should be no need to migrate anything.

It would be most useful if you could provide me with a simple repro scene along with the font asset exhibiting this issue. I should be able to look at this sometime today and provide a solution shortly thereafter.

Hi Stephan, I am out of office at this time, but I’ll see If I can get a sample scene to you by Monday.
To be clear, these are normal textmeshpro objects used with UI buttons, so yes, canvases are being used. The glow you see above is the glow from the button being highlighted.

I did a count on buttons in this scene, and there’s less than 20, so quite doable to convert all buttons to UI TMP with a little bit of elbow grease, but the issue itself should still be examined and resolved if possible. Thanks again for your assistance on this.