Search Unity

TextMesh Pro Useful Information & Download Links

Discussion in 'UGUI & TextMesh Pro' started by Stephan_B, Feb 28, 2017.

Thread Status:
Not open for further replies.
  1. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    6,204
    Today Unity announced at GDC 2017 the acquisition of TextMesh Pro which is now available on the Asset Store for Unity 5.3.4+

    First time users of TextMesh Pro should take the time to watch the Font Asset Creation and Working with Material Preset videos as they cover important aspects of working with TextMesh Pro.

    There are also several addition videos available in the same YouTube Channel covering most of the key features available in TextMesh Pro. The TextMesh Pro package also includes lots of examples covering these key features as well. These examples are located in "TextMesh Pro/Examples/Scenes/...".

    You can also find the online documentation for the TextMesh Pro here.

    Should you have any questions or run into any issues, please take the time to review the product FAQ as well as perform a quick search on the TextMesh Pro user forum. In the event you are unable to find the information you seek, then please feel free to post here in the Unity UI forum. Please add the <TextMesh Pro> prefix to these posts.

    *** IMPORTANT NOTE ***
    For compatibility reasons, users of the paid version of TextMesh Pro SHOULD NOT update to the free DLL only version available on the Asset Store. Updates to the Paid version are available on TextMesh Pro user forum. See details

    Although the current TextMesh Pro user forum will remain active for users who previously purchased TextMesh Pro, it will not be possible for new users of the free Unity release to register and post the TMP forum.

    As mentioned above, please feel free to post in the Unity UI section of the forum here.
     
    Last edited: Nov 8, 2017
    JeanCalou, Xarbrough, DGordon and 5 others like this.
  2. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    6,204
    Release 1.0.55.0b8 of TextMesh Pro which includes a release for Unity 5.6 has been submitted to the Asset Store and should become available shortly.

    Please be sure to read the Release Notes and Upgrade Notes before upgrading to this new release.
     
  3. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    6,204
    Release 1.0.55.0b10 of TextMesh Pro is now available.

    Please read the Release and Upgrade Notes before updating to this new release and always be sure to backup your project first.

    These new releases should be available on the Asset Store within the next few days.

    Since there is an issue with the Asset Store Tool which prevents uploading packages for Unity 2017.1 to the Asset Store, here is a link to download the latest release for Unity 2017.1.
     
  4. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    6,204
    Release 1.0.55.0b11 of TextMesh Pro has been submitted to the Asset Store and should be available within the next few days.

    Please read the Release and Upgrade Notes before updating to this new release and always be sure to backup your project first.

    Since the Asset Store Tool still hasn't been updated for Unity 2017.1, here is a link to this latest release for Unity 2017.1.
     
    MattVD, HarshPandey13 and Xarbrough like this.
  5. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    6,204
    Release 1.0.55.0b12 of TextMesh Pro has been submitted to the Asset Store and should be available within the next few days.

    Please read the Release and Upgrade Notes before updating to this new release and always be sure to backup your project first.

    Although the releases for Unity 2017.1 and 2017.2 will be available on the Asset Store, here is a link to download those directly.

    TextMesh Pro Release 1.0.55.2017.1.0b12 for Unity 2017.1

    TextMesh Pro Release 1.0.55.2017.2.0b12 for Unity 2017.2

    Please report any issues in this section of the user forum.

    *** Reminder ***
    As per the Upgrade Note part of the Release Notes, before importing the new release of TMP, you have to first remove the previous version by deleting the "TextMesh Pro" folder.

    Be sure to back up any files or assets you may have saved inside the TextMesh Pro folder hierarchy (you should not have but just in case) before deleting the folder. Be sure to review and note any changes you may have made to the TMP Settings file, Stylesheet and other assets.

    Until TMP is part of the Unity installer, as you upgrade to new major releases of Unity (ie. 5.5, 5.6, 2017.1, 2017.2, etc.) you will also need to keep updating TMP to the matching release for that version of Unity.
     
    Last edited: Aug 9, 2017
    coeing, alxcancado and Barkers-Crest like this.
  6. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    6,204
    Release 1.0.56.0b1 of TextMesh Pro has been submitted to the Asset Store and should be available within the next few days.

    Please read the Release and Upgrade Notes before updating to this new release and always be sure to backup your projects first.

    Here are direct links to download the latest releases for the indicated versions of Unity.
    TextMesh Pro Release 1.0.56 - Unity 5.5
    TextMesh Pro Release 1.0.56 - Unity 5.6
    TextMesh Pro Release 1.0.56 - Unity 2017.1
    TextMesh Pro Release 1.0.56 - Unity 2017.2
    TextMesh Pro Release 1.0.56 - Unity 2017.3

    *** Important Reminder ***
    As per the Upgrade Note part of the Release Notes, before importing the new release of TMP, you have to first remove the previous version by deleting the "TextMesh Pro" folder.

    Be sure to back up any files or assets you may have saved inside the TextMesh Pro folder hierarchy (you should not have but just in case) before deleting the folder. Be sure to review and note any changes you may have made to the TMP Settings file, Stylesheet and other assets.

    Until TMP is part of the Unity installer, as you upgrade to new major releases of Unity (ie. 5.5, 5.6, 2017.1, 2017.2, etc.) you will also need to keep updating TMP to the matching release for that version of Unity.
     
    Last edited: Dec 5, 2017
  7. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    6,204
    Release 1.0.56.xx.0b3 of TextMesh Pro has been submitted to the Asset Store and should be available within the next few days.

    Please read the Release and Upgrade Notes before updating to this new release and always be sure to backup your projects first.

    Here are direct links to download the latest releases for the indicated versions of Unity.
    TextMesh Pro Release 1.0.56 - Unity 5.5
    TextMesh Pro Release 1.0.56 - Unity 5.6
    TextMesh Pro Release 1.0.56 - Unity 2017.1
    TextMesh Pro Release 1.0.56 - Unity 2017.2
    TextMesh Pro Release 1.0.56 - Unity 2017.3

    *** Important Reminder ***
    As per the Upgrade Note part of the Release Notes, before importing the new release of TMP, you have to first remove the previous version by deleting the "TextMesh Pro" folder.

    Be sure to back up any files or assets you may have saved inside the TextMesh Pro folder hierarchy (you should not have but just in case) before deleting the folder. Be sure to review and note any changes you may have made to the TMP Settings file, Stylesheet and other assets.

    Until TMP is part of the Unity installer, as you upgrade to new major releases of Unity (ie. 5.5, 5.6, 2017.1, 2017.2, etc.) you will also need to keep updating TMP to the matching release for that version of Unity.
     
    syscrusher likes this.
  8. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    6,204
    Release 1.2.2 of TextMesh Pro has been submitted to the Asset Store and should be available within the next few days.

    Please read the Release and Upgrade Notes before updating to this new release and always be sure to backup your projects first.

    Here are direct links to download the latest releases for the indicated versions of Unity.
    TextMesh Pro Release 1.2.2 - Unity 5.5
    TextMesh Pro Release 1.2.2 - Unity 5.6
    TextMesh Pro Release 1.2.2 - Unity 2017.1
    TextMesh Pro Release 1.2.2 - Unity 2017.2
    TextMesh Pro Release 1.2.2 - Unity 2017.3

    *** Important Reminder ***
    As per the Upgrade Note part of the Release Notes, before importing the new release of TMP, you have to first remove the previous version by deleting the "TextMesh Pro" folder.

    Be sure to back up any files or assets you may have saved inside the TextMesh Pro folder hierarchy (you should not have but just in case) before deleting the folder. Be sure to review and note any changes you may have made to the TMP Settings file, Stylesheet and other assets.

    Until TMP is part of the Unity installer, as you upgrade to new major releases of Unity (ie. 5.5, 5.6, 2017.1, 2017.2, etc.) you will also need to keep updating TMP to the matching release for that version of Unity.
     
  9. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    6,204
    Frequently Asked Questions (in the process of being revised / edited)

    1. When I change the material properties of a text object, it affects the other text objects using that same font asset. How do I control what objects are affected by material property changes?


    All Font Assets contain a Default Material which gets assigned to the text objects that are using this font asset. Since these text objects share the same material, changes to the material properties of any of them is reflected on all of them. In order to have different visual styles on these objects, you will need to use different Material Presets or instances of the current material assigned to those objects. See the following updated video about Creating & Working with Material Presets.

    2. I see visual artifacts around the edges of characters. How do I get rid of them?


    These artifacts can be caused by material properties like Dilation, Outline, Underlay, etc. As these property values get near their maximum range, parts of adjacent characters in the font atlas texture can bleed into each other.

    Most material properties are normalized (0, 1) or (-1, 1). As such, the effective range of these material properties is determined by the Ratio of Sampling Point Size to Padding. The larger the ratio the more effective range these properties will have. Ie. the thicker the Outline or Underlay Offset range you will have.

    These visual artifacts are the result of the Sampling Point Size to Padding ratio being too small and usually combined with material property values near their maximum range. To resolve this issue simply regenerate the font asset to increase this ratio.

    A good ratio to use by default is 10%. See the following updated video about Font Asset Creation which provides information about padding and how it affects material properties and their range.

    3. Characters seems to be cut off near their edges, especially when zooming out. How do I fix this?


    By default, character sprites are fit tightly around their visible shape. This minimizes overdraw. However, this can cause the described effect. To solve this, enable extra padding in the font settings panel of your text object.

    4. Why is the data contained in the TextMeshPro.textInfo class invalid after I just set the text via script?


    For optimization purposes, changes to any of the properties of the text object are processed as a group once per frame which happens just before the frame is rendered. Once the text object is re-generated the text object and content of the TextMeshPro.textInfo will be updated. Most of the time, this is fine however for those times where you need a text object to be updated right away, you can use the ForceMeshUpdate() function.

    5. My materials appear to be broken. How do I fix them?


    Have a look at this video.

    6. How can I use UTF-16 and UTF-32 characters?


    You have to use escape codes for such characters. For UTF-16, use codes like \uF199. For UTF-32, use codes like \U00FF00FF. You can add them to the font atlas explicitly in the same way, or use unicode ranges.

    7. I have many dynamic text objects with auto-size and the performance is bad. How do I improve this?


    Auto-size is expensive, because text layout needs to be performed multiple times to find the best fit point size. If the text is static or remains about the same length, it would be more efficient to only use Auto-size when the text object is first instantiated to find the best fit point size. Thereafter simply disable the Auto-size and manually set the point size via script.

    8. Why can't I get the text component via GetComponent<TextMeshPro>()?


    You can, but there are actually two different types of TextMeshPro components.

    The normal TMP component is of type <TextMeshPro> which can be access using GetComponent<TextMeshPro>(). The UI TMP component is of type <TextMeshProUGUI> which can be accessed via GetComponent<TextMeshProUGUI>().

    Both TextMesh Pro components inherit from a base class which is TMP_Text where you can also get a reference to either types of TextMesh Pro components by using GetComponent<TMP_Text>().

    To access these components in your scripts you will also need to include the "using TMPro;" namespace.

    9. How can I assign a different material preset to my text object?


    You can apply a different material preset by dragging it from the project view onto the material inspector of the text object. To learn more about creating and using Material Presets, see the following video.

    10. How can I increase the range of text effects like dilation, outline, and underlay?


    The effective range of these material properties is determined by the Sampling Point Size to Padding ratio when creating the font asset. The larger the ratio, the more effective range you will have. Of course a larger ratio means a larger padding value which means less room for character data. So there is a trade-off between character sampling quality and visual effect range. Use the smallest padding that works for you. Note that the padding is specified in pixels, so if you double the texture size you also have to double the padding to keep the same range. See here and here for more details. See the following updated video about Font Asset Creation which provides information about padding and how it affects material properties and their range.

    11. Can I use drop caps?
    <br />While there is no special support for drop caps, you can create them with some creative use of rich tags. See this topic for details.<br /><br />

    12. Can I put text on a curve?


    Yes. See the following thread.

    13. Why doesn't the font tag load my custom font?


    Your font asset has to be placed in a Resources folder and more specifically at the location specified in the TMP Settings. The default location for font assets specified in the TMP Settings is "Resources/Fonts & Materials".

    14. Why is a tag rendered as text, instead of being used for rich text?


    When a tag doesn't work, it is shown as plain text. This is done so you can see that there is something wrong and can identify the problem. Failure can be caused by invalid tags, missing or invalid tag arguments, or because sprite or font resources could not be located.

    15. Text displays fine in the Editor but on some platforms, the text from some objects is not visible. What could be causing this?


    The most common source of this issue is using a mixture of <TextMeshPro> and <TextMeshProUGUI> objects that happen to share the same font asset or material preset. This behavior is due to the Mesh Renderer and Canvas Renderer fighting over the ZTest of the shared material where on some platforms some of the text objects become invisible.

    For example, when the Canvas render mode is set to Overlay, the ZTest on the material would be set to Always whereas for an object in World Space, it would be set to LEqual. Since a material can't be both values at once, the renderer who set the value last typically wins. There is more to this but that is the essence of it.

    A simple way to address this issue is to use a separate set of Material Presets for the text objects using the Canvas system and another for the text objects using the Mesh Renderer.
     
    Last edited: Sep 19, 2021
Thread Status:
Not open for further replies.
unityunity