[2023.2] Latest Development on TextMesh Pro

[2023.2] Latest Development on TextMesh Pro

As of 2023.2, the TextMesh Pro package (com.unity.textmeshpro) has been merged into the uGUI package (com.unity.ugui) and the TextMesh Pro package has been deprecated. Many have asked about the verification of TextMeshPro 3.2.0-pre.4, and we confirm that it is the version we used for the migration. Note that there won’t be an official verification for this version as it will now be part of the core product, and as such, will be subject to the same level of support provided by Unity. Upon upgrading, the TMP package will automatically be removed and a pop-up window will appear prompting you to upgrade the default resources and extras. Upgrading these resources is essential for proper functionality.

For users currently using TMP 4.0.0-pre.2, the package will also be uninstalled, but it is important to manually upgrade to uGUI 3.0.0-exp.1 through the Package Manager. The uGUI 3.0.0-exp.1 package contains TMP 4.0.0-pre.2, which includes an asset migration mechanism that converts TextMeshPro text assets (FontAsset, SpriteAssets, etc.) to TextCore text assets. This allows reusing assets between UI Toolkit and TextMeshPro. Note that uGUI 3.0.0-exp.1 will remain experimental in the 2023.2 release, but we plan to merge this version into the core product in 2024.1.

10 Likes

Kind of annoying that this has happened ( I voiced my concerns previously), but what really bugs me is that 3.2.0 and 4.0.0 were never updated to verified status, so anyone on 3.0.6 will not be able to validate against those versions prior to making the forced switch over to the new uGUI package.

I’m currently updating an old project from 2018.4 (LTS) to probably 2022.3 (LTS) and have already ran into challenges as I was using a custom TMPro package. Thankfully my modifications were minimal and I’m looking to just removing them completely so I no longer have to embed the package.

However as its such an old project I’m updating from one LTS to the next in series in order to catch any potential breaking changes as they happen and simplify Q&A instead of being faced with an unknown issues that might conflict with each other or just leave the project hopelessly broken requiring days or weeks of Q&A.

This updating process from one LTS to the next is why I’m annoyed that 3.2.0 and 4.0.0 were never verified. If they were verified I could continue updating both Unity and TMPro in sync, ensuring nothing had broken, before finally switching over to the version of Unity where it was merged into uGUI, safe in the knowledge that it should just work. I guess this is still true to a degree with 3.2.0-pre.4, but not with 4.0.0-pre.2, and I would not even had known about either if I hadn’t stumbled upon this post. It just makes more work for all your customers, that could have been much better handled if those versions had just got verified prior to the merge.

Sadly this issue is just going to be knocked down the road for me as I’m only going to update to the latest LTS so 2022. This means I’ll waste even more time during the next update cycle in a few years and just pray I remember these details.

2 Likes

Hi @Noisecrime ! Thanks for taking the time to raise your concerns.

The migration of com.unity.textmeshpro@3.2.0 into com.unity.ugui@2.0.0 is the equivalent of the package verification, meaning com.unity.ugui@2.0.0 will be production ready for the official release of 2023.2. Unfortunately, due to how package verification works, we could not verify the package on previous versions of Unity.

Note however, that we’ll be releasing new versions of com.unity.textmeshpro@3.2.0 from com.unity.ugui@2.0.0, which is nearly identical. So although the package is not verified, we are committed to backporting fixes to it.

2 Likes

Does this mean we’ll no longer be able to customise TextMeshPro?

Hi @Unifikation !

Yes, since com.unity.ugui is also a package, it will remain customizable. Meaning you’ll still have source code access to the package.

Shaders, too? I use heavily customised SDF/TMP shaders. And heavily rely upon them. eg:

9081208--1257010--upload_2023-6-15_5-25-16.jpeg

3 Likes

I have a questions about TextMeshPro 3.2.0-pre.4:
Will it be updated to the release version ?
Could we use it in our project without any problem or is it better to wait release?

Thanks in advance !

Yes, customized shaders will continue to work, you may need to reapply your changes on the new shaders though.

Is all the UGUI “Canvas” system still fully integrated, for diegetic UI etc and working the way we have been for 5+ years?

If so, can we have access to the resolvers so as to optimise and Burstify/Job them?

I’ll personally pay someone to do this and make it public/open source, if it’s accessible, since Unity’s abandoned improving this approach to making UI in-game, and not yet replaced it with anything anywhere near as capable.

1 Like

Is this because the incorporate TextMeshPro is looking at a different folder for its newly inbuilt way of being IN the engine as opposed to being a mere package?

Take a look at Unity Material Variants vs TMP Material Presets. Many aspects of this “relationship” are fundamentally broken, to the deficit and malfunction of TMP.

@HugoBD-Unity

If upon upgrading you don’t already have ugui installed nothing happens, the project just errors out. Please make the upgrade process more robust, because it makes zero sense that I need an old neglected UI package just to use some 3d text that has nothing to do with your failed UIs.

(and if you add the ugui package afterwards there is no prompt to upgrade the extras and resources).

1 Like

Hi @AcidArrow !

Thanks for raising the issue, which version of the Editor are you using ? We’ve worked on an automatic upgrade process that should prompt to upgrade the resources so I am surprised it did not work for you.

I understand your concern about modularity, but note that it is not a regression. com.unity.textmeshpro had a hard dependency on com.unity.ugui, making it impossible to use TextMesh Pro in a standalone way.

many components that used the old UI Text moved to the Legacy section, but the Toggle in which the UI Text is located remained and is not there, transfer it to Legacy and add Toggle - TextMeshPro

1 Like

I agree, i really don’t understand why they still have toggle on old text

MRTK doesn’t work anymore on the latest streams of Unity (2023.2 and 2023.3).

3 Likes

2 Likes

Updating to 2023 and it says I have Text mesh Pro tmp 3.0.6 installed. An outside asset requires TMP it and I get the error The type or namespace name ‘TMPro’ could not be found And it seems there are no options to reinstall or anything. What am I supposed to do.

4 Likes

If you only have com.unity.ugui installed as a dependency of text mesh pro (on 2021 LTS), when upgrading a project (to 2023) the UI package is missing. I don’t understand why you can’t detect such a case and add ugui to replace tmpro automatically, especially when you have no problem with adding garbage packages like AI navigation to my projects.

1 Like

Any updates planned soon to TextMeshPro 3.2.0-pre.4?
Would love to use the emojis, but can’t due to all the bugs there