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.
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:
Have a worldspace canvas set up.
Put an image under that worldspace canvas. Give this a mask component.
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).
During runtime, instantiate the prefab outside of the image, such that it would be masked.
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!
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.
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.