Search Unity

TextMesh Pro TMPro StackOverflow caused by TMPro.TextMeshProUGUI.GenerateTextMesh()

Discussion in 'Unity UI (uGUI) & TextMesh Pro' started by MrLucid72, Sep 25, 2019.

  1. MrLucid72

    MrLucid72

    Joined:
    Jan 12, 2016
    Posts:
    664


    Full err @
    https://pastebin.com/xFexAzi2

    Preview below
    Code (CSharp):
    1. StackOverflowException: The requested operation caused a stack overflow.
    2. UnityEngine.Object.EnsureRunningOnMainThread () (at C:/buildslave/unity/build/Runtime/Export/Scripting/UnityEngineObject.bindings.cs:147)
    3. UnityEngine.Object.GetInstanceID () (at C:/buildslave/unity/build/Runtime/Export/Scripting/UnityEngineObject.bindings.cs:68)
    4. TMPro.MaterialReference..ctor (System.Int32 index, TMPro.TMP_FontAsset fontAsset, TMPro.TMP_SpriteAsset spriteAsset, UnityEngine.Material material, System.Single padding) (at Library/PackageCache/com.unity.textmeshpro@2.0.1/Scripts/Runtime/MaterialReferenceManager.cs:545)
    5. TMPro.TextMeshProUGUI.GenerateTextMesh () (at Library/PackageCache/com.unity.textmeshpro@2.0.1/Scripts/Runtime/TMPro_UGUI_Private.cs:1699)
    6. TMPro.TextMeshProUGUI.GenerateTextMesh () (at Library/PackageCache/com.unity.textmeshpro@2.0.1/Scripts/Runtime/TMPro_UGUI_Private.cs:2733)
    7. TMPro.TextMeshProUGUI.GenerateTextMesh () (at Library/PackageCache/com.unity.textmeshpro@2.0.1/Scripts/Runtime/TMPro_UGUI_Private.cs:2733)
    8. TMPro.TextMeshProUGUI.GenerateTextMesh () (at Library/PackageCache/com.unity.textmeshpro@2.0.1/Scripts/Runtime/TMPro_UGUI_Private.cs:2733)
    9. [...]
    I'm not really sure what actually caused this. In fact, I couldn't repro it. I'm not really sure what combo'd to this. However, I do know that the infinite loop seems to be caused by TMPro instead of my own code (at least, so the stacktrace says), so thought I'd report it here.
     
  2. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,314
    Check if you have text objects using Auto-size with line spacing adjustments or things like that.
     
  3. MrLucid72

    MrLucid72

    Joined:
    Jan 12, 2016
    Posts:
    664
    Hmm, I have tons like that. Auto-size and line spacing are not compatible?
     
    Last edited: Sep 25, 2019
  4. MrLucid72

    MrLucid72

    Joined:
    Jan 12, 2016
    Posts:
    664
    Actually, it's starting to happen repeatedly. This comes before and after:



    Code (CSharp):
    1. IndexOutOfRangeException: Index was outside the bounds of the array.
    2. TMPro.TMP_Text.CalculatePreferredValues (System.Single defaultFontSize, UnityEngine.Vector2 marginSize, System.Boolean ignoreTextAutoSizing) (at Library/PackageCache/com.unity.textmeshpro@2.0.1/Scripts/Runtime/TMP_Text.cs:3913)
    3. TMPro.TMP_Text.GetPreferredWidth () (at Library/PackageCache/com.unity.textmeshpro@2.0.1/Scripts/Runtime/TMP_Text.cs:3540)
    4. TMPro.TMP_Text.get_preferredWidth () (at Library/PackageCache/com.unity.textmeshpro@2.0.1/Scripts/Runtime/TMP_Text.cs:1275)
    5. TMPro.TMP_InputField.get_preferredWidth () (at Library/PackageCache/com.unity.textmeshpro@2.0.1/Scripts/Runtime/TMP_InputField.cs:4044)
    6. UnityEngine.UI.LayoutUtility.<GetPreferredWidth>m__2 (UnityEngine.UI.ILayoutElement e) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Layout/LayoutUtility.cs:76)
    7. UnityEngine.UI.LayoutUtility.GetLayoutProperty (UnityEngine.RectTransform rect, System.Func`2[T,TResult] property, System.Single defaultValue, UnityEngine.UI.ILayoutElement& source) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Layout/LayoutUtility.cs:168)
    8. UnityEngine.UI.LayoutUtility.GetLayoutProperty (UnityEngine.RectTransform rect, System.Func`2[T,TResult] property, System.Single defaultValue) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Layout/LayoutUtility.cs:137)
    9. UnityEngine.UI.LayoutUtility.GetPreferredWidth (UnityEngine.RectTransform rect) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Layout/LayoutUtility.cs:76)
    10. UnityEngine.UI.LayoutUtility.GetPreferredSize (UnityEngine.RectTransform rect, System.Int32 axis) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Layout/LayoutUtility.cs:36)
    11. UnityEngine.UI.HorizontalOrVerticalLayoutGroup.GetChildSizes (UnityEngine.RectTransform child, System.Int32 axis, System.Boolean controlSize, System.Boolean childForceExpand, System.Single& min, System.Single& preferred, System.Single& flexible) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Layout/HorizontalOrVerticalLayoutGroup.cs:217)
    12. UnityEngine.UI.HorizontalOrVerticalLayoutGroup.CalcAlongAxis (System.Int32 axis, System.Boolean isVertical) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Layout/HorizontalOrVerticalLayoutGroup.cs:92)
    13. UnityEngine.UI.VerticalLayoutGroup.CalculateLayoutInputHorizontal () (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Layout/VerticalLayoutGroup.cs:18)
    14. UnityEngine.UI.LayoutRebuilder.<Rebuild>m__2 (UnityEngine.Component e) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Layout/LayoutRebuilder.cs:84)
    15. UnityEngine.UI.LayoutRebuilder.PerformLayoutCalculation (UnityEngine.RectTransform rect, UnityEngine.Events.UnityAction`1[T0] action) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Layout/LayoutRebuilder.cs:147)
    16. UnityEngine.UI.LayoutRebuilder.Rebuild (UnityEngine.UI.CanvasUpdate executing) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Layout/LayoutRebuilder.cs:84)
    17. UnityEngine.UI.CanvasUpdateRegistry.PerformUpdate () (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/CanvasUpdateRegistry.cs:171)
    18. UnityEngine.Canvas:SendWillRenderCanvases() (at ?)
    I'm trying to narrow it down, but it's tough. This didn't use to happen and I didn't update Unity for a long time, so I'm sure I did something stupid.
     
  5. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,314
    Looks like you have an Input Field with perhaps some layout components?

    If you are able to reproduce the issue, can you provide a simple repro project / scene for me to look at?
     
  6. MrLucid72

    MrLucid72

    Joined:
    Jan 12, 2016
    Posts:
    664
    It seems to be our in-game chat system (Inputs are the only TMP items, at least back when we switched to TMP, that allowed for scrollbars. Maybe read only back then, can't recall but I think it's mostly for the scrollbars).


    ^ Not the bug, but just for imagination of my setup

    Trying to show a system message from the result of using an ability (with <style>), but the stacktrace doesn't show *which* one or *what* it's trying to do. Still trying, but it's really wild.
     
    Last edited: Sep 25, 2019
  7. MrLucid72

    MrLucid72

    Joined:
    Jan 12, 2016
    Posts:
    664
    @Stephan_B Hmm, this guy has the *exact* stacktrace - I wonder if this is related:

    https://forum.unity.com/threads/bug...uncate-causes-stackoverflow-exception.728672/

    I'm actually on Unity 2019.2 -- I wonder if 2019.3 would resolve it? Still deciding if it's *my* bug or a Unity/TMP bug.

    EDIT 1: Seems like I'm on TMP 2.0.1 -- I noticed you said in the other thread with the similar stacktrace topic that there may be a fix for it [out now, it seems, but not sure how to upgrade]?

    > This will be version 2.1.0 and not 2.0.2 as it includes important changes / improvements.

    Did this version ever come out, yet? How can I obtain it?

    EDIT 2:
    * When I pass the string "Override bloop", I don't get overflow.
    * When I pass this, I get overflow:
    Code (CSharp):
    1. "Someone <u><link=occupy>occupied</link></u> you last night. This could\'ve been a <style=bd>Butler</style>, an <style=unseen>Enforcer</style>, or a <style=unseen>Servant</style>."
    bd style:
    Code (CSharp):
    1. <nobr><color=#0097EDFF><font="Overlock-Bold-SDF" material="Overlock-Bold-SDF-SmallOutline">
    2.  
    3. </font></color></nobr>
    unseen style:
    Code (CSharp):
    1. <nobr><color=#AA017DFF><font="Overlock-Bold-SDF" material="Overlock-Bold-SDF-SmallOutline">
    2.  
    3. </font></color></nobr>
     
    Last edited: Sep 25, 2019
  8. gillemp

    gillemp

    Joined:
    Nov 23, 2015
    Posts:
    28
    I'm having the same trouble right now and I do not have any input field. Sometimes it even crashes but it is weird because it only happens in one prefab instance (just in one of multiple that I have performing the same)
     
    MrLucid72 likes this.
  9. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,314
    I am planning on releasing the new release tomorrow and using today as a last day of testing.

    If you can both provide me with some simple repro scene / project, I can test those today to make sure the new release handles this correctly.

    Short of getting a repro scene, I will still try to reproduce the issue with the styles and text provided above to see if I get the overflow.
     
  10. gillemp

    gillemp

    Joined:
    Nov 23, 2015
    Posts:
    28
    You can find the
    You can find the code here: <Removed for privacy reasons>

    It happens in the "MainMenu" scene at closing the “cocktails”. Here you have a video: <Removed for privacy reasons>

    Note: I'm using Unity 2019.2.6f1
     
    Last edited: Sep 27, 2019
  11. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,314
    Pulled your repository and was able to reproduce the behavior using the current version of TMP.

    I then replaced the current package by the new version that I am about to release and everything appears to be working as expected and without any errors.

    Thank you for providing access to the repository which always makes it so much quicker and easier to find potential issues and to resolve them.
     
    MrLucid72 and gillemp like this.
  12. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,314
    Looking at your report.

    In the text, you have a "\" have could .. is that a typo or some missing \n or other control character?

    Should have an update later this afternoon.

    Update
    I am unable to reproduce the issue on my end. Does the text object in question have auto-size on it or Layout components?

    Are you able to reproduce this with a newly created text object and if so what are the steps to allow me to reproduce this?
     
    Last edited: Sep 26, 2019
  13. gillemp

    gillemp

    Joined:
    Nov 23, 2015
    Posts:
    28
    Nice! When am I going to be able of updating TMPro? Will it be in the package manager or should I download it from elsewhere?
     
  14. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,314
    Going forward always via the Package Manager.

    New release should be available within 72 hours or sooner. I am just doing additional testing now and going through reported issues to verify fixes as I did for the reported issue in this thread.
     
    gillemp likes this.
  15. MrLucid72

    MrLucid72

    Joined:
    Jan 12, 2016
    Posts:
    664
    Ah, sorry mate, our project is a giant multiplayer project that's about 20gb -- but as for a solo scene, since I didn't make this portion of the code, I'm not 100% sure what combination is actually causing this issue and still didn't narrow down the exact phrase (it's a ton of runtime stuff). I'm glad the other guy got something working while I'm still narrowing things down. Thx @gillemp

    OH nice!! Thx for the swift efforts to resolve this!

    EDIT: Still need testing? I've narrowed it down to this, so far:

    * No overflow = "Test bloop"
    * Overflow = "a <style=bd>Butler</style>, or a <style=unseen>Servant</style>"

    Still trying to test what makes this sentence so special when these styles are used everywhere else np. Mixing and matching as I speak.

    EDIT 2:

    * No overflow = "a Butler, or a Servant"
    * No overflow = "a <style=bd>Butler</style>"
    * No overflow = ", or a <style=unseen>Servant</style>"

    EDIT 3:

    * Overflow = "a <style=bd>Butler</style>, or a <style=bd>Servant</style>"

    Seems that 2+ styles, even if it's the same style, causes an overflow. That's pretty much as far as I could narrow it down.

    ...seems like it has to do with a combination of styles? Testing more...
     
    Last edited: Sep 27, 2019
  16. MrLucid72

    MrLucid72

    Joined:
    Jan 12, 2016
    Posts:
    664
    Ok bumping for final test results (edit 4):

    No Overflow
    1. "Test bloop"
    2. "a Butler, or a Servant"
    3. "a <style=bd>Butler</style>"
    4. ", or a <style=unseen>Servant</style>"
    Overflow
    1. "a <style=bd>Butler</style>, or a <style=unseen>Servant</style>"
    2. "a <style=bd>Butler</style>, or a <style=bd>Servant</style>"
    Result

    Seems like it's caused by 2 styles of any kind, even if it's the same style. 1 style does not cause overflow. However, using the same style (or different) that does not cause overflow twice within the same txt.Text will result in overflow.

    This could likely be broken down more by what's inside the style. Since BD had no overflow once, but overflow twice, here is a bump of that syle:

    Code (CSharp):
    1. <nobr><color=#0097EDFF><font="Overlock-Bold-SDF" material="Overlock-Bold-SDF-SmallOutline">
    2.  
    3. </font></color></nobr>
    It could be <nobr> or the material? Unfortunately, I ran out of time to go beyond this. Hope it helps, though.
     
  17. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,314
    Is the given text object affected by Layout Components?

    Can you provide a screenshot of the inspector of that text object so I can see if you have any other settings on it like auto-size line adjustment, width % adjustment or anything else that would potentially cause recursion.

    What text Overflow mode is on that text object? Overflow, Truncate, Ellipsis?
     
  18. MrLucid72

    MrLucid72

    Joined:
    Jan 12, 2016
    Posts:
    664




    This seems to be the one. There's a lot that happens at runtime, so it's possible it was modified beyond this based on different factors (players can resize chat, etc).
     
  19. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,314
    Ok. So this text is set on an Input Field and not a plain text component.

    Is this input field affected / controlled by any Layout Components?
     
  20. MrLucid72

    MrLucid72

    Joined:
    Jan 12, 2016
    Posts:
    664
    The Input itself? Not directly, but it's wrapped in a Content Size Fitter + Vertical Layout Group (the parent is a ScrollRect):





    Although, there are some custom scripts mostly for scrolling:

    MouseScrollFix @ https://pastebin.com/wxswu7Vx
    ChatScroll @ https://pastebin.com/1Y9wYJmp

    Just in case, here's the child txt of the input:



    EDIT: I'll try to throw the TMP outside of the scrollRect to see if I still get the errors. I'll also turn off those 2 scroll tips to see if I still get the errs.

    You still have that potential fix brewing? I'm gonna keep testing this and clicking off some components, etc. I have about an hour free for this.

    -----
    Speaking of TMProInputs, TMP links don't seem to work on these (perhaps because it's read-only? Or because it's an Input? Not sure yet. ). Spiraling off-topic on that one, but a self-reminder to post this separately later and to keep in mind. I got links working fine on regular UGUI's.
     
  21. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,314
    I'll keep trying to reproduce the issue on my end but if you have time and are able to, it would be great if you could submit a bug report with the project or any other project that would enabled me to reproduce the issue?

    P.S. Testing the <style> tag in the Input Field reveals other issues related to navigation / caret positioning which I will need to address.
     
    Last edited: Sep 29, 2019
  22. MrLucid72

    MrLucid72

    Joined:
    Jan 12, 2016
    Posts:
    664
    * Pulled the chatbox out of the scroller.
    * I disabled all script components for just raw TMP
    == Still overflow.

    Is there a way to push an update to provide a more-informative stacktrace from GenerateTextMesh() with some investigative info?

    If I DONT get an overflow if I use 1 style, but repeat the style and I get overflow, are you sure this has to do with layout items?

    Gonna bump this test:

    No Overflow
    1. "a <style=bd>Butler</style>"
    2. ", or a <style=unseen>Servant</style>"
    Overflow
    1. "a <style=bd>Butler</style>, or a <style=unseen>Servant</style>"
    2. "a <style=bd>Butler</style>, or a <style=bd>Servant</style>"
    It seems like multiple styles seems to be the key, from trial+error.

    EDIT: Maybe it does have to do with layout in some form. I can't repro it in an empty scene. Must have something special. What did the fix end up being for the other guy with the same stacktrace? His fix may also be my fix~

    My project is massive, not sure if it'll work with the uploader. I'll try soon.
     
    Last edited: Sep 29, 2019
  23. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,314
    Are you able to reproduce the behavior by simply adding an Input Field in some new scene and inserting the same text that contains those 2 styles?

    We just need to figure out some way for me to reproduce the issue on my end.
     
  24. MrLucid72

    MrLucid72

    Joined:
    Jan 12, 2016
    Posts:
    664
    It didn't -- so it's probably something at runtime. Trying to figure this out now to minimize it to an empty scene.

    It's taking a while to debug since it's a ton of runtime RPCs, so it's not easy to trace. Esp when Unity loves to get desyncd with async funcs when stepping through with VS.

    Apologies to bump this question, but did this guy's patch ever come out? With the same stacktrace, is there a chance his fix could be my fix?

    I'll update if I find anything, but today is the last day I have to test this or I may have to do something extremely ghetto like replace() all styles with <color> or whatever the style originally contained. I wonder if it works with the style unraveled?
     
    Last edited: Sep 29, 2019
  25. MrLucid72

    MrLucid72

    Joined:
    Jan 12, 2016
    Posts:
    664
    So it seems like it instantiates from a template:

    Code (CSharp):
    1.  
    2. newText = Instantiate(chatTextPrefab);
    3. newTextRect = newText.GetComponent<RectTransform>();
    4. newTextRect.SetParent(chatContent);
    5. newTextRect.localScale = chatTextRect.localScale;
    6. newTextRect.localRotation = chatTextRect.localRotation;
    7. newInput = newText.GetComponent<TMP_InputField>();
    8. newInput.text = decodedName + decodedMsg; // "a <style=bd>Butler</style>, or a <style=bd>Servant</style>"
    9. newTextRect.anchoredPosition3D = new Vector3(newTextRect.anchoredPosition.x, newTextRect.anchoredPosition.y, 0);
    10.  
    11. // If bumping up the lines of chat, sometimes this is called from a [B]ChatSizeFitter [/B]script
    12. rect.sizeDelta = new Vector2(rect.sizeDelta.x, text.preferredHeight + 4);
    13.  
    ChatSizeFitter.cs:

    Code (CSharp):
    1. using System.Collections;
    2. using System.Collections.Generic;
    3. using UnityEngine;
    4. using UnityEngine.UI;
    5. using TMPro;
    6.  
    7. public class ChatSizeFitter : MonoBehaviour
    8. {
    9.     [SerializeField]
    10.     bool lobbyChat;
    11.  
    12.     bool started = false;
    13.     TMP_InputField input;
    14.     TextMeshProUGUI text;
    15.     RectTransform rect, textRect;
    16.     float startHeight;
    17.  
    18.     // Use this for initialization
    19.     void Start()
    20.     {
    21.         started = true;
    22.         rect = GetComponent<RectTransform>();
    23.  
    24.         if (lobbyChat)
    25.         {
    26.             text = GetComponent<TextMeshProUGUI>();
    27.         }
    28.         else
    29.         {
    30.             input = GetComponent<TMP_InputField>();
    31.             text = GetComponentInChildren<TextMeshProUGUI>();
    32.             textRect = text.GetComponent<RectTransform>();
    33.             //textRect.sizeDelta = rect.sizeDelta;
    34.             //textRect.anchoredPosition3D = Vector3.zero;
    35.         }
    36.  
    37.         text.alpha = 0.01f;
    38.         startHeight = rect.sizeDelta.y;
    39.         StartCoroutine(WaitToChange());
    40.     }
    41.  
    42.     // Update is called once per frame
    43.     public void ValueChanged()
    44.     {
    45.         if (!started)
    46.             return;
    47.  
    48.         if (lobbyChat)
    49.         {
    50.             rect.sizeDelta = new Vector2(rect.sizeDelta.x, text.preferredHeight + 4);
    51.             text.alpha = 1;
    52.         }
    53.         else
    54.         {
    55.             rect.sizeDelta = new Vector2(rect.sizeDelta.x, text.preferredHeight + 4);
    56.             text.alpha = 1;
    57.         }
    58.     }
    59.  
    60.     IEnumerator WaitToChange()
    61.     {
    62.         yield return new WaitForSeconds(.001f);
    63.  
    64.         if (lobbyChat)
    65.         {
    66.             rect.sizeDelta = new Vector2(rect.sizeDelta.x, text.preferredHeight + 4);
    67.         }
    68.         else
    69.         {
    70.             rect.sizeDelta = new Vector2(rect.sizeDelta.x, text.preferredHeight + 4);
    71.         }
    72.  
    73.         yield return new WaitForSeconds(.001f);
    74.         text.alpha = 1;
    75.     }
    76. }
    chatTextPrefab is attached here: https://drive.google.com/open?id=1vCT6t4Rwp0LgFyEWbf5xQJdX7MS41FFY

    (Can ignore the scripts components - you still get the overflow issue with them turned off)

    I'm still investigating and trying to throw this in its own scene, but just in case something stands out to you while I'm 1/2 way. I'll also try to skip the call to this chat size fitter to see if it does something.

    EDIT: When testing the same thing from a test button, for whatever reason (still investigating), results in this:

    Code (CSharp):
    1. IndexOutOfRangeException: Index was outside the bounds of the array.
    2. TMPro.TMP_Text.FillCharacterVertexBuffers (System.Int32 i, System.Int32 index_X4) (at Library/PackageCache/com.unity.textmeshpro@2.0.1/Scripts/Runtime/TMP_Text.cs:5002)
    3. TMPro.TextMeshProUGUI.GenerateTextMesh () (at Library/PackageCache/com.unity.textmeshpro@2.0.1/Scripts/Runtime/TMPro_UGUI_Private.cs:3594)
    4. TMPro.TextMeshProUGUI.OnPreRenderCanvas () (at Library/PackageCache/com.unity.textmeshpro@2.0.1/Scripts/Runtime/TMPro_UGUI_Private.cs:1656)
    5. TMPro.TextMeshProUGUI.Rebuild (UnityEngine.UI.CanvasUpdate update) (at Library/PackageCache/com.unity.textmeshpro@2.0.1/Scripts/Runtime/TextMeshProUGUI.cs:209)
    6. UnityEngine.UI.CanvasUpdateRegistry.PerformUpdate () (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/CanvasUpdateRegistry.cs:198)
    7. UnityEngine.Canvas:SendWillRenderCanvases() (at ?)
    However, shows fine without overflow:



    Not sure why, yet. If there was a way to get more useful info from the stacktrace, this may be easier to debug, if you know a way.

    EDIT 2: Seems like my console logs were cutoff. Opening the REAL logs revealed more goodies, and a lead for both your code and mine:

    Code (CSharp):
    1.  
    2. C:\Repos\ToL\tol-game-win\i42-tol-win64\Library\PackageCache\com.unity.textmeshpro@2.0.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2733
    3.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Repos\ToL\tol-game-win\i42-tol-win64\Library\PackageCache\com.unity.textmeshpro@2.0.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2733
    4.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Repos\ToL\tol-game-win\i42-tol-win64\Library\PackageCache\com.unity.textmeshpro@2.0.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2733
    5.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Repos\ToL\tol-game-win\i42-tol-win64\Library\PackageCache\com.unity.textmeshpro@2.0.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2733
    6.   at TMPro.TextMeshProUGUI.OnPreRenderCanvas () [0x00127] in C:\Repos\ToL\tol-game-win\i42-tol-win64\Library\PackageCache\com.unity.textmeshpro@2.0.1\Scripts\Runtime\TMPro_UGUI_Private.cs:1656
    7.   at TMPro.TextMeshProUGUI.ForceMeshUpdate () [0x00008] in C:\Repos\ToL\tol-game-win\i42-tol-win64\Library\PackageCache\com.unity.textmeshpro@2.0.1\Scripts\Runtime\TextMeshProUGUI.cs:483
    8.   at TMPro.TMP_InputField.UpdateLabel () [0x001ec] in C:\Repos\ToL\tol-game-win\i42-tol-win64\Library\PackageCache\com.unity.textmeshpro@2.0.1\Scripts\Runtime\TMP_InputField.cs:3032
    9.   at TMPro.TMP_InputField.SetText (System.String value, System.Boolean sendCallback) [0x000f1] in C:\Repos\ToL\tol-game-win\i42-tol-win64\Library\PackageCache\com.unity.textmeshpro@2.0.1\Scripts\Runtime\TMP_InputField.cs:549
    10.   at TMPro.TMP_InputField.set_text (System.String value) [0x00001] in C:\Repos\ToL\tol-game-win\i42-tol-win64\Library\PackageCache\com.unity.textmeshpro@2.0.1\Scripts\Runtime\TMP_InputField.cs:479
    11.   at PlayerGUI.ILADSIO (System.Int16 encodedType, System.Byte[] name, System.Byte[] msg, System.Int16[] receivers, System.Boolean psychic, System.Int16 num, System.Int16 whisperTo) [0x0147c] in C:\Repos\ToL\tol-game-win\i42-tol-win64\Assets\_Imperium42\_Scripts\UI\PlayerGUI.cs:4154
    12.   at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke(System.Reflection.MonoMethod,object,object[],System.Exception&)
    13.   at (wrapper managed-to-native) UnityEngine.Object.CurrentThreadIsMainThread()
    14.   at UnityEngine.Object.EnsureRunningOnMainThread () [0x00001] in C:\buildslave\unity\build\Runtime\Export\Scripting\UnityEngineObject.bindings.cs:147
    15.   at UnityEngine.Object.GetInstanceID () [0x00002] in C:\buildslave\unity\build\Runtime\Export\Scripting\UnityEngineObject.bindings.cs:68
    16.   at TMPro.MaterialReference..ctor (System.Int32 index, TMPro.TMP_FontAsset fontAsset, TMPro.TMP_SpriteAsset spriteAsset, UnityEngine.Material material, System.Single padding) [0x0001e] in C:\Repos\ToL\tol-game-win\i42-tol-win64\Library\PackageCache\com.unity.textmeshpro@2.0.1\Scripts\Runtime\MaterialReferenceManager.cs:545
    17.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x000d9] in C:\Repos\ToL\tol-game-win\i42-tol-win64\Library\PackageCache\com.unity.textmeshpro@2.0.1\Scripts\Runtime\TMPro_UGUI_Private.cs:1699
    18.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Repos\ToL\tol-game-win\i42-tol-win64\Library\PackageCache\com.unity.textmeshpro@2.0.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2733
    19.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Repos\ToL\tol-game-win\i42-tol-win64\Library\PackageCache\com.unity.textmeshpro@2.0.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2733
    20.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in
    21. [..........]
    22. C:\Repos\ToL\tol-game-win\i42-tol-win64\Library\PackageCache\com.unity.textmeshpro@2.0.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2733
    23.   at TMPro.TextMeshProUGUI.OnPreRenderCanvas () [0x00127] in C:\Repos\ToL\tol-game-win\i42-tol-win64\Library\PackageCache\com.unity.textmeshpro@2.0.1\Scripts\Runtime\TMPro_UGUI_Private.cs:1656
    24.   at TMPro.TextMeshProUGUI.Rebuild (UnityEngine.UI.CanvasUpdate update) [0x0004b] in C:\Repos\ToL\tol-game-win\i42-tol-win64\Library\PackageCache\com.unity.textmeshpro@2.0.1\Scripts\Runtime\TextMeshProUGUI.cs:209
    25.   at UnityEngine.UI.CanvasUpdateRegistry.PerformUpdate () [0x00125] in C:\buildslave\unity\build\Extensions\guisystem\UnityEngine.UI\UI\Core\CanvasUpdateRegistry.cs:198
    26. UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
    27. UnityEngine.DebugLogHandler:LogException(Exception, Object)
    28. UnityEngine.Logger:LogException(Exception, Object)
    29. UnityEngine.Debug:LogException(Exception, Object)
    30. UnityEngine.UI.CanvasUpdateRegistry:PerformUpdate() (at C:\buildslave\unity\build\Extensions\guisystem\UnityEngine.UI\UI\Core\CanvasUpdateRegistry.cs:202)
    31. UnityEngine.Canvas:SendWillRenderCanvases() (at C:\buildslave\unity\build\Modules\UI\ScriptBindings\UICanvas.bindings.cs:72)
    32.  
    33. (Filename: Library/PackageCache/com.unity.textmeshpro@2.0.1/Scripts/Runtime/MaterialReferenceManager.cs Line: 545)
    34.  
    35.  
    ---------

    My issue is happening @ my own PlayerGUI.cs:4154, so investigating that. Does the extended stacktrace do anything for you?
     
    Last edited: Sep 29, 2019
  26. MrLucid72

    MrLucid72

    Joined:
    Jan 12, 2016
    Posts:
    664
    Ok, found something significant:

    // Overflow
    Code (CSharp):
    1. newText = Instantiate(chatTextPrefab);
    2. newTextRect = newText.GetComponent<RectTransform>();
    3. newTextRect.SetParent(chatContent);
    4. newTextRect.localScale = chatTextRect.localScale;
    5. newTextRect.localRotation = chatTextRect.localRotation;
    6. newInput = newText.GetComponent<TMP_InputField>();
    7. newInput.text = decodedName + decodedMsg; // OVERFLOW TRIGGERS HERE with "a <style=bd>Butler</style>, or a <style=bd>Servant</style>"
    // NO overflow
    Code (CSharp):
    1. newText = Instantiate(chatTextPrefab);
    2. //newTextRect = newText.GetComponent<RectTransform>();
    3. //newTextRect.SetParent(chatContent);
    4. //newTextRect.localScale = chatTextRect.localScale;
    5. //newTextRect.localRotation = chatTextRect.localRotation;
    6. newInput = newText.GetComponent<TMP_InputField>();
    7. newInput.text = decodedName + decodedMsg; // CAUSES STACK OVERFLOW with "a <style=bd>Butler</style>, or a <style=bd>Servant</style>"
    It's a combo with one of the commented out statements relating with RectTransform. I'm trying to narrow it down now. Guessing scale, since you were looking for something like that earlier.

    EDIT:
    Narrowed it down. Wasn't what I thought.

    // Overflow
    Code (CSharp):
    1. newText = Instantiate(chatTextPrefab);
    2. newTextRect = newText.GetComponent<RectTransform>();
    3. newTextRect.SetParent(chatContent); // << OVERFLOW CATALYST
    4. //newTextRect.localScale = chatTextRect.localScale;
    5. //newTextRect.localRotation = chatTextRect.localRotation;
    6. newInput = newText.GetComponent<TMP_InputField>();
    7. newInput.text = decodedName + decodedMsg; // OVERFLOW TRIGGERS HERE with "a <style=bd>Butler</style>, or a <style=bd>Servant</style>"
    This only happens if I set the parent. This is the catalyst for the overflow @ .text set.

    I can see it spawn outside of the scrollRect, which has the layout components mentioned above.

    It's strange because I tested once by moving the chat parent OUTSIDE the scrollRect, which had no layout components... I suppose I'll try that again.

    EDIT 2:
    Yep it's that.
     
    Last edited: Sep 29, 2019
  27. MrLucid72

    MrLucid72

    Joined:
    Jan 12, 2016
    Posts:
    664
    YES! I got a minimal repro. I'll upload it soon with bug report.

    EDIT: Done @Stephan_B

    (Case 1187718) TMPro Input is gets stackoverflow if you instantiate a new Input (eg, for a readonly chatbox) and set parent to ScrollRect


    PS - In that bug report, I also included a +1 script to test the links not working on Input.
     
    Last edited: Sep 29, 2019
  28. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,314
    Thank you for submitting the bug report.

    Looking at it, there appears to be a few missing items. For instance, the ChatLinker.cs script makes references a TMPLinkUtil and Glossary class which are missing.

    The TestScript references a Prefab which is also missing.

    Can you provide those additional files?
     
  29. MrLucid72

    MrLucid72

    Joined:
    Jan 12, 2016
    Posts:
    664
    Rep
    Replied to the email -- check once more
     
  30. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,314
    Got the reply. Thank you.

    I'll take a look tomorrow morning since it is now almost 2:00 AM on my end.
     
    MrLucid72 likes this.
  31. MrLucid72

    MrLucid72

    Joined:
    Jan 12, 2016
    Posts:
    664
    Hi there -- just wanted to follow up after supplying a new project with all the dependencies the way it's supposed to be (instead of just the scene supplied originally with some oddities)~ There should also be a screencast of me performing the test in the attached project test scene.

    Also, is it best to reply here or via ticket email?
     
  32. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,314
    Did you submit a new bug report with the project? I do not see an update to case 1187718.

    I check / read both these places.
     
  33. MrLucid72

    MrLucid72

    Joined:
    Jan 12, 2016
    Posts:
    664
    I think my ticket is broken. I tried responding with just test bump and the fogbugz link didn't update. I'll upload it to Google Drive and send a link asap when I get to desktop
     
  34. MrLucid72

    MrLucid72

    Joined:
    Jan 12, 2016
    Posts:
    664
  35. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,314
  36. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,314
    Had a chance to look at the test / reproduction package and was able to identify the issue which was related to the handling of text overflow modes like Truncate.

    Handling of the text overflow modes has been re-worked in the latest release of the TMP package which are now available.

    The latest release for Unity 2018.4 is version 1.5.0-preview.1 and 2.1.0-preview.1 for Unity 2019.x.

    P.S. I uncovered a minor issue testing the project / package you provided which is related to the use of the Read Only flag on the Input Fields.

    Here are the changes that will be included in the next release related to this ReadOnly issue

    upload_2019-10-3_23-20-5.png
     
    Last edited: Oct 4, 2019
    MrLucid72 likes this.
  37. MrLucid72

    MrLucid72

    Joined:
    Jan 12, 2016
    Posts:
    664
    Oh, rockin!! Glad you were able to repro it among finding some read-only oddities and get that update out. I'll look for it now -- woot!! Thanks again for this. I also passed along your GS note to the 'as official as it gets' Online/Mplayer Discord server where most GS users reside.
     
  38. MrLucid72

    MrLucid72

    Joined:
    Jan 12, 2016
    Posts:
    664
    @Stephan_B Tried the update (thanks!) - however, doesn't seem to work on 2018.1.8f1:

    Library\PackageCache\com.unity.textmeshpro@2.1.0-preview.1\Scripts\Runtime\TMP_FontAsset.cs(2098,25): error CS0103: The name 'FontEngineEditorUtilities' does not exist in the current context

    Do I need 2018.4.5+? I tried uncommenting, but it broke other things:

    upload_2019-10-6_0-18-6.png
     
  39. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,314
    Version 1.4.0 of the TMP package requires Unity 2018.3 or newer.

    Version 1.5.0-preview.1 requires Unity 2018.4 and preferably a version newer than 2018.4.5. The handling of this compiler conditional / implementation is different in version 1.5.x. vs. version 2.1.0-preview.1.

    Version 2.1.0-preview.1 is for Unity 2019.x.
     
    MrLucid72 likes this.
  40. MrLucid72

    MrLucid72

    Joined:
    Jan 12, 2016
    Posts:
    664
    ☕ Must have read this without coffee. I thought it said 2019.4 (while at the same time thinking I'm on 2018). Oops! Now that my mind is back:

    Rather, 2.1.0-preview.1 doesn't work with 2019.1.8f1 @Stephan_B - apologies for the confusion.

    So it should be working with this version, but getting those errs above -- I just mentioned my version an entire generation wrong ;p
     
    Last edited: Oct 6, 2019
  41. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,314
    This FontEngineEditorUtilities landed in a subsequent release of 2019.1 which was 2019.1.10f1.
     
  42. MrLucid72

    MrLucid72

    Joined:
    Jan 12, 2016
    Posts:
    664
    Ok -- we tried Unity 2019.1.14f1 with TMPro 2.1.0-preview (restarted Unity): The errors went away, but text is now blank in our chat, our other dev reported. Reverted TMPro package and our input txt returned

    upload_2019-10-7_11-22-0.png

    I'll be able to test myself soon, but any initial thoughts?

    Also, as a temporary workaround (in case I don't end up getting it to work), what *actually* caused that overflow bug? Something to do with auto-sizing components? What can I change to have the most minimal impact to disable that overflow bug, even if it means a *slight* change in appearance?

    I'd still rather get this to work, of course, but only the tester is able to upgrade to the new Unity ver right now while I'm stuck wrapping up unrelated things on my side. It'd be great if I could upgrade next patch instead of this one (

    EDIT: Tester showed the err for empty:



    PS, for efficient chat on this matter, if preferred, I'm on Discord as Xblade#4242 ( @ https://discord.gg/tol if need a mutual server )
     
    Last edited: Oct 7, 2019
  43. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,314
    Could be related to masking / RectMask 2D especially when ScrollViews are involved in conjunction with Input Field.

    To verify, just enable / disable those components in the related hierarchy to see if that makes the text appear again.

    If that has no effect, again getting some type of repro or access to the project would be the easiest / quickest way to identify and correct this issue.
     
  44. MrLucid72

    MrLucid72

    Joined:
    Jan 12, 2016
    Posts:
    664
    Oh, you're fast -- I just edited above with an error. Some type of null @ OnEnable @ TMP_InputField:1022

    Happy to add you to the repo, but it's an insanely large project that's not fun to navigate -- it's not pretty for testers. I'll pass your note along.
     
  45. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,314
    Send me a PM with whatever information I need along with steps to reproduce.

    The null is likely a missing check RectMask2D for null as you might have edited the structure of the Input Field and child where the RectMask2D has likely been removed.

    Since I am looking into some issues related to masking, I will be adding this additional null check.
     
  46. MrLucid72

    MrLucid72

    Joined:
    Jan 12, 2016
    Posts:
    664
    Ok I personally grabbed Unity 2019.1.14f1 with the next TMPro preview package and was able to repro in the original overflow project sent to you:

    Although that project strips some of the resizing mechanisms, I believe the core bug is still there. In the 'content' of scrollrect, I tried just adding a normal TMP Input to compare. Indeed, our "ChatText" prefabs for RectMask2D is disabled (but not removed).

    I tried moving the ChatText *outside* the ScrollRect, and it still isn't showing up (tried a few toggle actives). In this test, I just added a red Image color playing around. I just can't get the text str to show up



    I tried copying over a bunch of properties from a regular input to the buggy one back-and-forth (does that bug still exist where it gets buggy when I copy+paste a TMP component or was that fixed in the new ver?): I still can't get the text to show.



    Try that overflow project once more -- if unable to get results, I'll PM more info for project details.
     
    Last edited: Oct 8, 2019
  47. MrLucid72

    MrLucid72

    Joined:
    Jan 12, 2016
    Posts:
    664
    Found something:

    So if I copy+paste all the vals from the ChatText into a new TMPro (same everything -- except the only difference I can see the text I type):

    I noticed something weird. Let's say I delete *everything* (the input has *no* custom scripts) except canvas and that input. Watch:

    https://recordit.co/hQIDYFlc0U

    ^ Somehow, there's an invisible border even when it's JUST the Input and Canvas. Tell me I'm wrong though because I haven't had my coffee yet, but that's pretty weird at first look :)

    Also, if I add the mask back in the prefab, the text still doesn't show up

     
  48. livingtarget

    livingtarget

    Joined:
    Apr 21, 2015
    Posts:
    18
    For the record we have the same issue with the following text: <b><color=white>Bando</color></b> has teleported their Fortress to <b><color=white><color=#FFA043>(116, 360)</color></color></b>.

    I assume it's because they use the eightball in their name. But maybe it's the same problem. Unicode for 8Ball: U+1F3B1

    Code (CSharp):
    1. (Filename: Library/PackageCache/com.unity.textmeshpro@1.4.1/Scripts/Runtime/TMP_Text.cs Line: 4982)
    2.  
    3. StackOverflowException
    4.   at (wrapper managed-to-native) UnityEngine.Texture.GetDataWidth(UnityEngine.Texture)
    5.   at UnityEngine.Texture.get_width () [0x00002] in C:\buildslave\unity\build\Runtime\Export\Texture.bindings.cs:31
    6.   at TMPro.TMP_Text.SaveSpriteVertexInfo (UnityEngine.Color32 vertexColor) [0x003e1] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMP_Text.cs:4982
    7.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x02234] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2571
    8.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    9.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    10.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    11.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    12.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    13.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    14.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    15.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    16.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    17.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    18.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    19.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    20.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    21.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    22.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    23.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    24.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    25.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    26.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    27.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    28.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    29.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    30.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    31.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    32.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    33.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    34.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    35.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    36.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    37.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    38.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    39.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    40.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    41.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    42.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    43.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    44.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    45.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    46.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    47.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    48.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    49.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    50.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    51.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    52.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    53.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    54.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    55.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    56.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    57.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    58.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    59.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    60.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    61.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    62.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    63.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    64.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    65.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    66.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    67.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    68.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    69.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    70.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    71.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    72.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    73.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    74.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    75.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    76.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    77.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    78.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    79.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    80.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    81.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    82.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    83.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    84.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    85.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    86.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    87.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    88.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    89.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    90.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    91.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    92.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    93.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    94.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    95.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    96.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    97.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    98.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    99.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    100.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    101.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    102.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    103.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    104.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    105.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    106.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    107.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    108.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    109.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    110.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    111.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    112.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    113.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    114.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    115.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    116.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    117.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    118.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    119.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    120.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    121.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    122.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    123.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    124.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    125.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    126.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    127.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    128.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    129.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    130.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    131.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    132.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    133.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    134.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    135.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    136.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    137.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    138.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    139.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    140.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    141.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    142.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    143.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    144.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    145.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    146.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    147.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    148.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    149.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    150.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    151.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    152.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    153.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    154.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    155.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    156.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    157.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    158.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    159.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    160.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    161.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    162.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    163.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    164.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    165.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    166.   at TMPro.TextMeshProUGUI.GenerateTextMesh () [0x027ad] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:2737
    167.   at TMPro.TextMeshProUGUI.OnPreRenderCanvas () [0x00127] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TMPro_UGUI_Private.cs:1657
    168.   at TMPro.TextMeshProUGUI.Rebuild (UnityEngine.UI.CanvasUpdate update) [0x0004b] in C:\Projects\Warhammer\Warhammer\Library\PackageCache\com.unity.textmeshpro@1.4.1\Scripts\Runtime\TextMeshProUGUI.cs:209
    169.   at UnityEngine.UI.CanvasUpdateRegistry.PerformUpdate () [0x00125] in C:\buildslave\unity\build\Extensions\guisystem\UnityEngine.UI\UI\Core\CanvasUpdateRegistry.cs:198
    170. UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
    171. UnityEngine.DebugLogHandler:LogException(Exception, Object)
    172. UnityEngine.Logger:LogException(Exception, Object)
    173. UnityEngine.Debug:LogException(Exception, Object)
    174. UnityEngine.UI.CanvasUpdateRegistry:PerformUpdate() (at C:\buildslave\unity\build\Extensions\guisystem\UnityEngine.UI\UI\Core\CanvasUpdateRegistry.cs:202)
    175. UnityEngine.Canvas:SendWillRenderCanvases() (at C:\buildslave\unity\build\Runtime\UI\ScriptBindings\UICanvas.bindings.cs:72)
     
    Last edited: Oct 8, 2019
    MrLucid72 likes this.
  49. MrLucid72

    MrLucid72

    Joined:
    Jan 12, 2016
    Posts:
    664
    Hey Brando, did you find any temporary workaround yet while awaiting a fix? The new TMPro preview update fixes the overflow for us, but doesn't play well with ScrollRects or something (nothing shows).
     
  50. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,314
    This overflow case should be handled correctly in the latest release which is 1.5.0-preview.1.

    Please test with the new release and let me know if you still have that issue.

    The text not being visible is related to incorrect handling of the 2D RectMask which also includes the null reference / missing check for that. I should be able to resolve that issue shortly. I'll try to post code changes if possible otherwise, I'll release a new preview .2 this week.
     
    MrLucid72 likes this.