Text Mesh Pro Masking Brokes With Localization Package

Hi, I have a masked area in my popup and there is a title in it which created with text mesh pro. As default the masking selection is disabled in that text because obviously I do not want to mask it. In English locale, it works perfectly but when I select japanese locale suddenly it gets the mask effect. If I enable and disable masking checkbox it looks okay. But when I close the popup prefab and reopen it the masking issue is still there. Also in build it broken too.

I checked is masking selection tracked by localization package but no it’s not tracked. I hope you can help me.

Note: In English it always works fine.

Thanks.

Localization Package Version: 1.5.3

1 Like

Im not sure I understand. Can you share some screenshots?

Hi there, I seem to have the same exact issue, although it’s unrelated to the localization package. It seems to be solely related to Text Mesh Pro, non-standard characters, and masking. Reproduction steps:

  1. Have a worldspace canvas set up.
  2. Put an image under that worldspace canvas. Give this a mask component.
  3. Create a prefab with a TextMeshProUGUI component parented to the image. Make sure that ā€œmaskableā€ under ā€œExtra Settingsā€ is unchecked. Give this Japanese text with an appropriate font (in my testing, it also happens with Korean, Simplified Chinese, and Traditional Chinese).
  4. During runtime, instantiate the prefab outside of the image, such that it would be masked.
  5. Note that some (or all) characters will be masked, despite the TMPUGUI’s maskable variable being false. Some characters (such as the small 惃 in Japanese) seem to be unmasked correctly.

Strangely, if you check and uncheck the maskable variable, the masking works properly again. However, if you check and uncheck ā€œmaskableā€ during runtime, even with one frame delay between these actions, it doesn’t fix itself.

Hope this is helpful, if anyone else has found a solution to this it would be greatly appreciated if you could let us know!

1 Like

Could you please file a bug report? Unity QA: Building quality with passion

Report ID: IN-86360

I created a bug report and like @Punrad said it’s not related to localization package. I tried it without localization in another project and there is still the same issue.

I removed the localization tag and add text mesh pro tag instead.

2 Likes

Found a work around before the fix come from the Unity side: After the translation completes, you can get all MaskableGraphic components in its children and set the maskable to false. Seems that the initialization of the TMP submesh UI isn’t initialized properly, in regard the maskable state.

1 Like