Version 1.5.1, 2.1.1 & 3.0.1 - Now Available! for Testing!

This should be resolved in Preview 3 but just to make sure, can you provide / export one of those scene from 1.4.1 just to make sure I didn’t overlook anything?

Any timeline on when preview 3 will be out? I’m hitting these errors after updating my project and in my case, the new essentials folder did not fix things. Though, I might just need to do a complete rebuild of my library.

@Stephan_B

The layout issue is fixed, but I’m now running into a problem when I apply prefabs. I see an error telling me that the object is missing a mesh filter. One for nearly every TM pro object in the scene. The text then goes blank, and can only be fixed by manually adding a mesh filter, disabling, then enabling. But it clear again when the prefab is applied.

Please make sure you upgrade to Preview 3 for the appropriate version of Unity and let me know if you still have that issue.

Yes, this is on preview version 3.

I’ve also now found that any prefab that was not in the scene at the time of upgrade have had their text mesh pro objects thrown off center, as described above. Also on preview 3.

What version of Unity are you using?

2018.4.11

What version of TMP were you using prior to upgrading to Preview 3?

Can you provide me with one of those prefabs that worked correctly in the previous version but has incorrect alignment in the latest release?

Update
I created several prefabs in 1.4.1 and then upgraded to Preview 3 and their alignments appears all fine. Since this appears to be working fine on my end, I will need a sample of your prefabs or the steps to reproduce them including Unity and TMP version used to create them.

We’re using version 1.4.1. Providing the prefabs will probably be too time consuming on my end. I may just have to update each one manually.

Is there some reason the 2.1 releases don’t trigger the package manager to show that an update is available? I’ve been on 2.0.1 for a very long time, and I just figured development had slowed down. But tonight I noticed the other versions. However, package manager wasn’t showing an icon telling me I could upgrade, despite enabling preview packages:

Is that by design? Are the 2.1 releases experimental, or flagged in some way to intentionally not prompt for upgrade?

I think preview releases don’t show as upgrades to released versions. From preview to preview, there should be an indicator.

The should be one more preview release of 1.5.x, 2.1.x and 3.0.x before taking those out of preview.

In terms of preview vs. release, preview 3 should be in my opinion better than 2.0.1. As usual, just be sure to backup the project before upgrading just in case and report any potential issues here. I am working on preview 4 which I am hoping to have out within the next 7 to 10 days so good time to report potential issues so i can address them in that release.

P.S. I always make a sticky post on the forum here to announce new releases.

1 Like

Good to know. I’ll keep a closer eye on it. Thanks.

@Stephan_B

Also FYI, on 1.4.1, our builds are regularly freezing in TMP_SpriteAsset.UpdateLookupTables(). We have to comment this function every time the library is rebuilt in order to get builds running properly.

Please test with the latest preview release which is 1.5.0-preview.3 for Unity 2018.x, 2.1.0-preview.3 for Unity 2019.x and 3.0.0-preview.3 for Unity 2020.x and let me know if you run into the same issue?

Which TextMeshPro version support ?
I tried the following script , but doesn’t work for Asian Character.

var osFont = Font.CreateDynamicFontFromOSFont("Arial", 25);
var font = TMP_FontAsset.CreateFontAsset(osFont);
var fontAsset = Resources.Load<TMPro.TMP_FontAsset>("LiberationSans SDF");
fontAsset.fallbackFontAssetTable.Add(fallBackFont);

Use the following instead

string[] fontPaths = Font.GetPathsToOSFonts();
Font osFont = new Font(fontPaths[index]);
TMP_FontAsset fontAsset = TMP_FontAsset.CreateFontAsset(osFont);

Hi @Stephan_B

Do you know what this means? I was trying to make some font assets using the Noto font… I might have screwed something up. :sweat_smile:

Mesh.vertices is too small. The supplied vertex array has less vertices than are referenced by the triangles array.

Mesh.uv is out of bounds. The supplied array needs to be the same size as the Mesh.vertices array.

Mesh.uv2 is out of bounds. The supplied array needs to be the same size as the Mesh.vertices array.

Mesh.colors is out of bounds. The supplied array needs to be the same size as the Mesh.vertices array.

MissingReferenceException: The object of type 'TMP_SubMeshUI' has been destroyed but you are still trying to access it.
Your script should either check if it is null or you should not destroy the object.

It works, but it still load the system cjk font into the memory.
As the UnityEngine.UI.Text can load unity default font Arial into memory (ASCII only) which still can show CJK character set. Is TextMeshPro also support that ?

UI.Text internally searches and potentially loads several fonts into memory to find these CJK characters. In this process, you have no control over what font is selected which can vary per platform. Furthermore, there is no guarantee the selected font will work well from a visual standpoint with the font you selected. This process is hit / miss.

The recommended way to handle this (assuming you have to use system fonts) is to (1) know what fonts are available on the platforms you are targeting. (2) at runtime in some setup / loading process to create the necessary font assets that includes the characters you will need for the given platform / language.

The above ensures you know exactly what font is used. It ensures the font will work well for your design choices. It allows you to create only (1) font asset instead of having the system potentially load multiple fonts searching for one that contains the glyphs / characters being requested.

1 Like