[Solved] Prefab instances keep showing TextMeshProUGUI script overrides.

Problem description:
Whenever creating a new prefab instance by dragging the prefab asset into Hierarchy, prefab overrides window keeps showing TextMeshProUGUI script overrides for every Gameobject with that script attatched. And the differ window of each override shows no information (without any blue little vertical bars shown).
Either I click “Apply All” or “Revert All” button, the same issue just emerge the next time I drag that prefab asset back to the Hierarchy.

P.S.
Apply overrides with Text Field on TextMeshProUGUI scripts empty seems to resolve the problem but it is definitely an awkward workaround rather than the optimal solution.

Versions:
Unity 2019.1.8f1 (7938dd008a75)
TextMesh Pro 2.0.1

Still no any response yet? The bug described can be easily reproduced with a newly created project and then just drag any prefab containing a TMP UGUI component into the Hierarchy Panel.

Maybe I should mention @Stephan_B for a peek?
The bug is really annoying and upgrading to Unity 2019.1.13 doesn’t help either.

Just spoke with one of the developers on the Prefab team and they have a potential solution. This will require a change in TextMesh Pro which I should be able to test tomorrow.

I’ll provide an update within a day or so.

Thanks for looking into it!

Tested the proposed change from the Prefab team and it appears to work as expected. I’ll do a bit more additional testing tomorrow but this looks good so far.

1 Like

So the fix will be included in next release?

Fix is being backported to 2018.4 / 2019.2 / 2019.3. Not for 2019.1 since there are no more releases planned for it.

This will also require an update of the TMP package. This fix on the TMP side will be included in the next package release.

I am still seeing this issue in 2019.3. I’m on package 2.0.1, and on macOS if that matters.
The project was ported from 2018 onward, and everything works fine, except this.
Pressing Apply All doesn’t remove any of these items from the overrides list, and it’s quite annoying.

EDIT: I tried preview.4 2.1.0, and it seems to not be reproducible with new prefabs, but trying to fix my player prefab threw a bunch of errors and would still see mesh-filters hanging in overrides-limbo forever.

The 2 errors I keep getting randomly when adding/removing textmeshpro in my existing prefab are

NullReferenceException: Object reference not set to an instance of an object
TMPro.TMP_SubMesh.OnDestroy () (at Library/PackageCache/com.unity.textmeshpro@2.1.0-preview.4/Scripts/Runtime/TMP_SubMesh.cs:295)
UnityEngine.GUIUtility:processEvent(Int32, IntPtr) (at /Users/builduser/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:187)

and

Dangling components have unfulfilled dependencies
UnityEngine.GUIUtility:processEvent(Int32, IntPtr) (at /Users/builduser/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:187)

I’m getting this on Unity 2019.4.8f1 and TMP preview.1 - 3.0.0 and have been for a while, it is making my revert/apply dialogs painful to use for my UI prefabs.

Make sure you use the latest release which is 2.1.3 for Unity 2019.4.

We are using TMP 2.1.6 and 2019.4.22 and still get this problem:

7197229--863980--upload_2021-6-1_11-12-56.png

Any suggestions?

See this issue even now.
Another one is that disabled text mesh pro ui components do not update their materials when changing fonts.

Causing the build to include old fonts.
Same issue with the fonts still being overridden only in the yaml file causing fonts to be included in build.