Search Unity

  1. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice

TextMesh Pro Version 1.5.0, 2.1.0 & 3.0.0 Preview 14 - Now Available! for Testing!

Discussion in 'UGUI & TextMesh Pro' started by Stephan_B, Oct 1, 2019.

  1. tessellation

    tessellation

    Joined:
    Aug 11, 2015
    Posts:
    198
    I really appreciate the improvements to this warning, which changed in preview.7:

    The character with Unicode value \u1234 was not found in FontName's Glyph Table. It was replaced by a space in text object MyTextObject (TMPro.TextMeshProUGUI).

    When you click on the warning, it used to take you to the text object, now it does not. I think it's just a matter of passing the object into the Debug.LogWarning() method and use string.Format() for the text. It would also be great if it could display the text containing the missing character. Also, I know this is totally minor, but is it missing from the "Glyph Table" or the "Character Table"?
     
  2. funkyCoty

    funkyCoty

    Joined:
    May 22, 2018
    Posts:
    146
    Hopefully it's not something else causing this within the game we're working on. The main steps seem to just be, set text to some non empty string, wait a frame, then set it to String.Empty, and the world and ui text elements never update.
     
  3. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    4,501
    There used to be an issue where setting the text with mixed properties like using SetText() and then .text could behave this way but those were addressed a while back.

    I will need more information or some repro project / scene to check what might be happening here as per my tests, it should be working correctly.
     
  4. tessellation

    tessellation

    Joined:
    Aug 11, 2015
    Posts:
    198
    Our game doesn't use IMGUI at runtime, so we'd like to disable this package in Unity 2018.4. Unfortunately TMP_InputField.cs still has a dependency to the Event class in several places. Does this code require the Event class to work? In other words, can it be removed or updated to newer systems?

    Library/PackageCache/com.unity.textmeshpro@1.5.0-preview.7/Scripts/Runtime/TMP_InputField.cs(1883,40): error CS1069: The type name 'Event' could not be found in the namespace 'UnityEngine'. This type has been forwarded to assembly 'UnityEngine.IMGUIModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' Enable the built in package 'IMGUI' in the Package Manager window to fix this error.
     
  5. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    4,501
    TMP doesn't have a dependency on IMGUI other than for Editors.

    TMP does have a dependency on UnityEngine.UI (which is the whole Canvas system) which in turn has dependencies on UnityEngine.Events which handles all callbacks in UGUI and UnityEngine.EventSystems which handles interactions. These systems are pretty integral to the UI system.
     
  6. tessellation

    tessellation

    Joined:
    Aug 11, 2015
    Posts:
    198
    Then why is the error above from com.unity.textmeshpro@1.5.0-preview.7/Scripts/Runtime?

    I don't believe UnityEngine.EventSystems and UnityEngine.Events are part of the IMGUI built-in package, but I could be wrong. The dependencies for built-in packages aren't easy to examine.
     
  7. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    4,501
    IMGUI is the Immediate mode UI system used mostly in the Editor.

    UGUI is the Canvas system which does have dependencies on UnityEngine.EventSystems and UnityEngine.Events.

    It does look like the Event class and Input class used by the Input System is part of this IMGUI module. That is some pretty core functionality overall so I doubt this could get stripped.
     
  8. tessellation

    tessellation

    Joined:
    Aug 11, 2015
    Posts:
    198
    Yes, I'm aware of all this. I believe IMGUI will always be part of the Editor. When you disable this module, I'm 95% sure it's just referring to the runtime IMGUI libraries, which none of our code uses, nor any other assets and packages. Currently only TMP seems to use it.

    According to the documentation, UnityEngine.Events and UnityEngine.EventSystems are not part of IMGUI library. Also the Input class is part of the CoreEngine Library in Unity 2018.4 and part of the LegacyInput library in Unity 2019. The Events library is for UnityEvent classes, which are like the inspector versions of the C# events. EventSystems are for mouse and UI events where you derive from the *Handler interfaces, but Unity never implemented keyboard events.

    The Event class is part of the IMGUI module and so that's basically what I'm asking - is there a necessary dependency on this class in the runtime aspects of TMP_InputField.cs? From what I can tell by looking at the TMP source, TMP_InputField appears to be doing some keyboard event processing, which is available only in IMGUI or the new InputSystem. You could write your own code to check state changes using Input.GetKey() instead of using the event system, but this would require a lot of rework and testing. Something for the TMP task backlog, perhaps.
     
  9. Ceciaman

    Ceciaman

    Joined:
    Jul 30, 2013
    Posts:
    26
    Hi,
    when i compile the Build for IOS in Xcode i'recived this error
    It appear when i use emoticon icon on iPhone Device
    How can solve it?

    2020-03-21 13:28:45.127415+0100 uwall[16525:5966227] [User Defaults] Couldn't write values for keys (

    "Dictation SLS Languages Enabled"

    ) in CFPrefsPlistSource<0x282d18800> (Domain: com.apple.assistant.support, User: kCFPreferencesCurrentUser, ByHost: No, Container: (null), Contents Need Refresh: No): setting preferences outside an application's container requires user-preference-write or file-write-data sandbox access
     
  10. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    4,501
    This is the first time I see this message. In the TMP Settings, their is the iOS Emoji support which does enable that functionality. That is the only thing that is specific to Emojis. Maybe Apple changes something lately.

    See if disabling the flag has any affect on this.

    I would suggest submitting a bug report with the relevant information / project for us to look at.
     
  11. NoFS

    NoFS

    Joined:
    Jan 31, 2016
    Posts:
    3
    I was suffering exactly same problem with funkyCoty, and I think I found the reason that a sample project cannot reproduce that bug. I conducted some experiments, and figured out that this bug was caused by DOTween.

    Of course I cannot say it's definite, but I guess moving TMPro component text by DOTween causes mesh... update bug?

    upload_2020-3-23_0-53-27.png

    This is code in a coroutine which was used to tween the TMPro box. The TMPro textbox changes its text during or after the move, depends on the timing of keyboard input. If I change the text after the tween, problem doesn't happen. But During the tween, problem happens.

    So I changed DOTween code to mere WaitForSeconds. And that fixed the problem. This is why I think DOTween is the cause of the bug.

    I'm sorry that I couldn't make sample project; it's too late here... If I have some time tomorrow, I guess I can make sample project.

    I'm using DOTween v1.2.320 and the latest TMPro. / URP 7.3.1 - 2D renderer
     
  12. CharBodman

    CharBodman

    Joined:
    Sep 20, 2018
    Posts:
    34
    Hi @Stephan_B , been utilizing 1.5.0 on one of our project using Addressables.

    Appreciate the new
    TMP_Text.onSpriteAssetRequest
    to support loading sprite assets via addresables.

    The main problem I have seen with that API is there is no way to replace a material if it has been released via addressables.

    This means that any font assets can never be cleaned up from memory. A simple fix is to allow replacing materials via
    MaterialReferenceManager.AddSpriteAsset(spriteAssetHashCode, tempSpriteAsset);
    .

    The material reference manager currently prevents setting the same has twice.

    Code (CSharp):
    1.  
    2. /// <summary>
    3. /// Add new Sprite Asset to dictionary.
    4. /// </summary>
    5. /// <param name="hashCode"></param>
    6. /// <param name="spriteAsset"></param>
    7. public static void AddSpriteAsset(int hashCode, TMP_SpriteAsset spriteAsset)
    8. {
    9.     MaterialReferenceManager.instance.AddSpriteAssetInternal(hashCode, spriteAsset);
    10. }
    11.  
    12. /// <summary>
    13. /// Internal method to add a new sprite asset to the dictionary.
    14. /// </summary>
    15. /// <param name="hashCode"></param>
    16. /// <param name="spriteAsset"></param>
    17. private void AddSpriteAssetInternal(int hashCode, TMP_SpriteAsset spriteAsset)
    18. {
    19.     if (m_SpriteAssetReferenceLookup.ContainsKey(hashCode)) return; <---------
    20.  
    21.     // Add reference to Sprite Asset.
    22.     m_SpriteAssetReferenceLookup.Add(hashCode, spriteAsset);
    23.  
    24.     // Add reference to Sprite Asset using the asset hashcode.
    25.     m_FontMaterialReferenceLookup.Add(hashCode, spriteAsset.material);
    26.  
    27.     // Compatibility check
    28.     if (spriteAsset.hashCode == 0) spriteAsset.hashCode = hashCode;
    29. }

    I think if we can set the key rather than Adding the key. That would be helpful and backwards compatible.
     
  13. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    4,501
    I am planning on adding a Resource Manager for TMP. By resources, I mean Font Assets, Sprite Assets, Style Sheets, etc.

    This Resource Manager would include functions to Add and Remove resources from the manager's list.

    The main difference with the callback would be to provide for the ability to preemptively load / add these resources instead of waiting for a potential callback to request them.

    Would this alternative implementation and addition of the resource manager be a more practical solution for you?
     
  14. CharBodman

    CharBodman

    Joined:
    Sep 20, 2018
    Posts:
    34
    Awesome, Yes that would fit our needs much better. Thanks again.
     
  15. NoFS

    NoFS

    Joined:
    Jan 31, 2016
    Posts:
    3
    Sorry for confusion, it was not because DOTween. It was because of rotation.

    1. Set *.text any non-empty string(e.g. "TEST")
    2. Set *.text = string.Empty
    3. Rotate the TMPro textbox by any direction.
    4. "TEST" will appear in the textbox
     
  16. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    4,501
    Will need some reproduction case as I am not able to reproduce this behavior. That has to be something else causing this behavior.
     
  17. NoFS

    NoFS

    Joined:
    Jan 31, 2016
    Posts:
    3
    I think this is really weird...

    I sent bug report with sample project, with a video that describes how to reproduce this problem. But they also fail to reproduce this problem.

    I'll also upload sample project here, with how-to video. I'm so sorry... If you cannot reproduce this bug with this sample, then just ignore it; I think I can bypass this bug. Thank you.
    -------------------------------------------------
     

    Attached Files:

  18. xeon321

    xeon321

    Joined:
    Nov 10, 2016
    Posts:
    9
    Any plans to keep the texts from getting affected by post processing in HDRP?
     
  19. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    4,501
    This would be something to bring up / discuss with the Post Processing folks in whatever forum channel they hang up in.
     
  20. ihgyug

    ihgyug

    Joined:
    Aug 5, 2017
    Posts:
    177
    I am not sure it's in HDRP, but in URP you can render UI after post-processing has been applied :

    upload_2020-3-29_13-18-35.png
     
  21. aurelien-morel-ubiant

    aurelien-morel-ubiant

    Joined:
    Sep 27, 2017
    Posts:
    275
    @Stephan_B If I want to manage both version from your plugin concerning this change :

    Code (CSharp):
    1.  
    2. #if ??????
    3.     public class SkinnedTMProUGUIEditor : TMP_EditorPanelUI
    4. #else
    5.     public class SkinnedTMProUGUIEditor : TMP_UiEditorPanel
    6. #endif
    7.  
    Have you a define that could allow me to do this ? Or is it impossible ?
     
  22. dKleinTriCAT

    dKleinTriCAT

    Joined:
    Jul 2, 2019
    Posts:
    7
    The input field in preview 8 is still a bit wonky.
    - I have a script that modifies text alignment for the input field text. As soon as I start typing some characters into the inputfield (which is set to one-line) the textfield itself gets moved slightly to left by tmp. There it will stay and act as if nothing happened. Filling the field will then work normally, but the text transform will stay at a slight offset even if cleared again.
    - I am using an inputfield as a chatlog (since I'm not sure how to easily select text on a regular tmp text) and the inbuilt scrollbar option is a pain. I can't change the meaning of 0 and 1. When I try scroll down after adding text (setting the value to 1) the inputfield will fight me because it sets the value to 0 automatically each time. Also when scrolling, the scrollbar willl sometimes just randomly return to the value it had before scrolling, as if the inputfield is trying to restore its former scrollvalue. All of this can easily be reproduced by slightly changing your example 20 (inputfields), so it uses the inputfield as chatlog output.
     
    Last edited: Apr 3, 2020
  23. dKleinTriCAT

    dKleinTriCAT

    Joined:
    Jul 2, 2019
    Posts:
    7
    Pls excuse the double post, the forum somehow doesn't allow me to edit the above.

    Just an addendum to point 1: The Offset values (Left,Right,Top,Bottom) for the empty textfield change from (5,5,5,5) to (0,10,5,5) after a few characters. And they don't change back. Also the offset seems to happen the first time I press backspace and delete a character.

    Edit:
    Found another point: If the text in an inputfield changes while being selected (even if it's only invisible tags), the selection changes (because start- and/or endIndex aren't correct anymore)
     
    Last edited: Apr 3, 2020
  24. ExtrysGO

    ExtrysGO

    Joined:
    Oct 25, 2017
    Posts:
    94
    It doesnt render on right eye on URP
     
  25. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    4,501
    Make sure you are using the latest release of the TMP package which is Preview 8.

    More specifically the releases are version 1.5.0-preview.8 for Unity 2018.4, version 2.1.0-preview.8 for Unity 2019.x and version 3.0.0-preview.8 for Unity 2020.x.

    You will need to update the TMP Essential Resources as the shaders have been updated along the way. You can update the TMP Essential Resources by going to "Window - TextMeshPro - Import TMP Essential Resources".
     
  26. ExtrysGO

    ExtrysGO

    Joined:
    Oct 25, 2017
    Posts:
    94
    yes im using 2.1.0 prev 8
    and it doesnt render i single pass instantiated on right eye for VR, just left even using mobile/Distance field
     
  27. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    4,501
    Did you update the TMP Essential Resources?
     
    ExtrysGO likes this.
  28. ExtrysGO

    ExtrysGO

    Joined:
    Oct 25, 2017
    Posts:
    94
    I just upgraded from package manager
     
  29. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    4,501
    You also need to re-import the TMP Essential Resources via the "Window - TextMeshPro - Import TMP Essential Resources" menu option. These contain the updated shaders.
     
  30. ExtrysGO

    ExtrysGO

    Joined:
    Oct 25, 2017
    Posts:
    94
    Ohh nice Thanks a lot!
     
  31. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    4,501
    Just wanted to say that I have resolved this issue which was the resulting of a rounding error in the lossy scale of the object as a result of the rotation. This will be fixed in Preview 9.

    P.S. The reproduction project was once again essential to enable me to figure out the source of the issue. Without it, it would have been nearly impossible to guess / figure out.

    P.S.S. It also took me a while to get to your reproduction project as I have so much stuff to handle but to everyone reading this, always feel free to poke me / bump a post if I have not replied or provided feedback on something where you still need help.
     
  32. Driven

    Driven

    Joined:
    May 31, 2013
    Posts:
    69
    I have a problem with the TouchScreenKeyboard using the TmPro Inputfield. When clicking it the Keyboard opens normally but if i close it by touching anywhere but the keyboard, i can not reopen the keyboard again, the event is also not fired anymore. Closing the Keyboard by pressing the back button or the ok button still works.
    The closing by touching anywhere used to work in Unity 2019.3.0 and broke in a later version (using 2019.3.6 right now).
    Is this a known bug?
     
  33. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    4,501
    This appears to be a new issue affecting both TMP Input Field and UI Input Field.

    I really need someone to submit a bug report with included project and reproduction steps so I can bring it up to the attention of the relevant folks at Unity.
     
  34. Driven

    Driven

    Joined:
    May 31, 2013
    Posts:
    69
    Stephan_B likes this.
  35. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    4,501
    Thank you for submitting the bug report.

    I will try looking at it later tonight / over the weekend.
     
  36. Driven

    Driven

    Joined:
    May 31, 2013
    Posts:
    69
    ok thanks :). if you need any more info or you are not able to roproduce just let me know, hope this get's fixed asap so users can reinteract with the chatfield again.
     
  37. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    4,501
    I had a chance to take a closer look and was able to reproduce this behavior in 2019.3.9f1 with both the TMP Input Field and UI Input Field.

    I was not able to reproduce this behavior in 2019.2.21f1. The project you submitted was using 2019.3.6f1 which might be the first version of 2019.3 where this first occurs.

    I added my notes to the bug report so QA can confirm this and forward it to the relevant team at Unity which in this case is likely to be the Android team.

    I will provide feedback as soon as I get more information on this.
     
  38. dKleinTriCAT

    dKleinTriCAT

    Joined:
    Jul 2, 2019
    Posts:
    7
    @Stephan_B As the current topic is about the input field, I'd like to bump my findings on them further up this page again :)
     
  39. Driven

    Driven

    Joined:
    May 31, 2013
    Posts:
    69
    @Stephan_B thanks for forwarding it. I have another bug for you which is related to the text itself. Since preview 7 the text glitches or Updates differently. I made another ticket for this, the case number is 1237700
     
  40. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    4,501
    I will try looking into this later tonight and provide feedback once I have more information.

    Update
    The issue is occurring as a result of the ContentSizeFitter which should not be there on that component as per the warning.

    upload_2020-4-14_12-58-19.png

    The change in behavior appears to be related to the OnRectTransformDimensionsChange optimization to skip updates due to rounding errors. Still looking into it...

    Update 2
    The underlying issue is most definitely related to the use of redundant ContentSizeFitter and Layout Components (those issuing warnings) as these cause the Layout System to get confused.

    Having said that and as per my previous update, the optimizations to ignore size changes of the RectTransform resulting from rounding errors causing OnRectTransformDimensionsChange() getting called erroneously are fine. Changing of the pivot of the object also triggers OnRectTransformDimensionsChange() which in this case should not be ignored although the size of the RectTransform doesn't change in this case... but oh well.

    As such I have revised the optimization to ignore very small changes (< 0.0001f) of the size and pivot of the RectTransform as these result in unnecessary re-layout of the text.

    This change will make everything behave as it did in Preview 5 while preserving the optimizations. These changes will be in Preview 9.

    I still recommended you look to remove these redundant ContentSizeFitters and address those warnings as they could cause other unforeseen issues.
     
    Last edited: Apr 15, 2020
    Driven likes this.
  41. Driven

    Driven

    Joined:
    May 31, 2013
    Posts:
    69
    Thanks for the feedback and the upcoming fix :). Regarding the contentsizefitter it was never a problem in any situation or project even though there is a warning. Sometimes it is needed below a layoutgroup to behave how i want it and i actually don't know how to approach this in a different way - because why should i, it works and never messed anything up so far. For future UI setups i will try finding a different solution or the unity UI team updates it to support it fully. Looking forward to preview 9 for more testing.
     
  42. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    4,501
    I bring this up because I had a conversation with the lead developer on the UI system where he stated those warnings were there for a good reason and the source of many potential layout issues and behaviors resulting from their use. The ScrollView resetting child position / anchors in strange ways was one of those cases.
     
  43. livingtarget

    livingtarget

    Joined:
    Apr 21, 2015
    Posts:
    29
    How close do you think we are until the next stable release?
     
  44. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    4,501
    I am hoping Preview 9 is it ... so closer ;)
     
  45. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    4,501
    Preview 10 is being published and should be available shortly via the Package Manager.

    The ChangeLog for this release is below and will be available within the next 24 hours online.

    ### Changes
    • Revised caching of Preferred Width and Height to further reduce the amount of time it has to be recomputed when using a complex structure of Layout components.
    • Fixed potential issue when using Text Overflow Ellipsis and Truncate modes when the text contains characters using superscript, subscript or using the &lt;voffset&gt; tag.
    • Revised culling of text objects when using a RectMask2D where the bounds of the text geometry instead of the RectTransform define the culling rect.
    • Added HDR support to material preset colors.*1
    • Fixed various formatting issues in this ChangeLog.
    • Added the ability to define a unicode value for a missing sprite character in the TMP Settings.
    • Added support for displaying a missing sprite character when the requested sprite character is not present in the sprite asset or potential fallback(s). This new functionality is only available when trying to reference a sprite by name.
    • Sprite Characters will now have a default Unicode value of 0xFFFE (Private NonCharacter) instead of a Unicode value of 0x0 (default unicode value for missing character).
    • Using the sprite asset context menu option "Update Sprite Asset" will now remap sprite characters with unicode value of 0x0 to 0xFFFE in addition to its currently functionality.
    • Updating TMP Essential Resources via the "Window - TextMeshPro - Import TMP Essential Resources" menu option will no longer override existing TMP Settings.
    • Minor optimization where SDF Scale on some text objects could be unnecessarily updated due to floating point rounding errors in their lossy scale. Case #1230799
    • Fixed minor issue where text objects created before importing the required TMP Essential Resources would have no default text.
    • Improvements to line breaking for CJK and mixed Latin and CJK characters. See the following [forum post](https://forum.unity.com/threads/tmp-bug.852733/#post-5688274) for more details.
    • Fixed potential NullReferenceException that could occur in the TMP InputField on some platforms if the InputSystem reference is null. Case #1232433
    • Added small padding to bitmap character geometry to prevent potential clipping.
    • Added optimization to ignore very small RectTransform pivot changes that are usually the result of rounding errors when using Layout Components. Case #1237700
    • Sorting Layer ID and Sorting Order properties located in the Extra Settings of &lt;TextMeshPro&gt; text objects will now be serialized when creating Editor Presets. Case #1215750
    • TextMeshProUGUI sub text objects will now be set as first sibling of their parent to prevent them from being rendered over other non text object child in the scene hierarchy.
    • Fixed text objects becoming visible when set to empty or null as a result of a scale change. Case #1238408
    • Fixed useMaxVisibleDescender property now getting set properly via scripting. Case #1218526
    • Fixed SortingLayerID and SortingOrder not getting set correctly when multiple &lt;TextMeshPro&gt; objects are selected. Case #1171272
    • Fixed default settings getting applied to disabled text objects in the scene hierarchy whose text property was set to null. Case #1151621
    • Fixed mouse cursor flickering when hovering the Text Input Box of a text prefab with RTL enabled. Case #1206395
    • Several derived properties of text objects are no longer being serialized and thus no longer showing as Overrides in Prefabs.*2
    • And more...
    *1 TMP Essential Resources were updated to add support for HDR in the Shader.
    *2 This includes the TMP_TextInfo which is generated data as well as reference to MeshFilter. SubMesh objects are no longer serialized either as they are created as needed and do not need to be saved with the scene or prefabs. I did a fair amount of testing related to the textInfo no longer being serialized and didn't run into any issues but I'll be keeping an eye out on this change.

    I also updated the TMP Examples & Extras to include an updated version of the TMP_TextInfoDebugTool.cs which now includes labels for most of the font metrics as seen below.

    upload_2020-4-22_0-8-58.png

    As usual please report any issues with this specific release in this thread.



    Note 1: Preview 9 ran into publishing automation issues and as such had to be sacrificed to the automation overlords which is why this is preview 10 instead ;)

    Note 2: I also have an update of the FontEngine on the way which will include the following changes:
    • Fixed potential allocations issues when fetching lots of GlyphPairAdjustmentRecords from a font file.
    • Improved performance when trying to add multiple characters and glyphs to font assets at runtime.
    • Fixed potential incorrect alignment of characters when using SDF8, SDF16 and SDF32.
    • Added Multi threading to the Font Asset Creator which depending on the number of cores on your system will make baking SDF8, SDF16 and SDF32 much less painful.
    • Other minor improvements.
    The above will require a new version of Unity as well as updated version of the TMP package to take advantage of some of these new improvements.

    Note 3: I will be releasing another preview to address some other minor issues as I didn't want to further delay this release.
     
    Last edited: Apr 22, 2020
  46. Driven

    Driven

    Joined:
    May 31, 2013
    Posts:
    69
    @Stephan_B i updated to preview 10 and deleted everything before doing that but all Textfields are now not getting rendered when a rectmask2D is sitting somewhere in a parent object of the textcomponent. I could make a repro project again but i think this is very easy to reproduce. You mentionend it will require a new version of Unity (which?) to make the changes work but i think it's not supposed to break in older versions right? (still using 2019.3.6). Let me know if you still need a bug report.
     
  47. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    4,501
    No new version of Unity should be required as it related to the RectMask2D.

    Upgrading to newer versions when using the package manager no longer requires removing / deleting the "TextMesh Pro" folder.

    When updating the TMP Essential Resources or TMP Examples & Extras, to get updates shaders or examples, etc, you can use the "Window - TextMeshPro - Import ..." to import the updated package which will open a window allowing to see what has changed and to even select what to import / replace. Or just delete the "TextMesh Pro" and re-import it all but that is not needed really.

    On to the RectMask2D issue, I did test all the examples scenes along with many other scenes that contain RectMask2D components and didn't see that behavior. Can you provide an example of the scene setup that would enable me to reproduce this?
     
  48. Driven

    Driven

    Joined:
    May 31, 2013
    Posts:
    69
    @Stephan_B case: 1240595, if you can tell me what's going on i would be happy :).
     
  49. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    4,501
    Thank you.

    Pulling the case as we speak to take a closer look. Will provide feedback as soon as I have more information.

    Update
    The issue is related to the calculations to determine if the bounds of the text overlap the clipping region not accounting for potential render modes of the Canvas such as Overlay vs Screen space vs World Space.

    The following changes should resolve this issue.

    upload_2020-4-22_17-9-20.png

    Please confirm this is working as expected on your end.
     
    Last edited: Apr 23, 2020
  50. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    4,501
    Just letting everyone know that I will be releasing Preview 11 tonight.

    This release will include:
    Fix for the incorrect clipping with RectMask2D as per my previous post.
    Modification of the ForceMeshUpdate() function to enable it to work when the Canvas is disabled.

    I will wait another hour or so in case something new is reported but otherwise and unless the package publishing gremlins are out to get me tonight, Preview 11 will be available in a few hours.
     
unityunity