TextMesh Pro - Advanced Text Rendering for Unity - Beta now available in Asset Store

It is not missing. It does not exist :slight_smile: (well not in the current package).

Just run over to the TextMesh Pro User Forum, follow this link to get the 64 bit dll.

P.S. I just released a new beta of TextMesh Pro for Unity 4.6. Once I am done with support for Unity 4.6, I’ll move on to Unity 5.0 which I haven’t really had much time to play with yet.

Excellent, thanks I’ll check that out.

Animating Vertices per Character
Using TextMeshPro.textInfo.characterInfo to access information about each of the characters in a block of text, I applied a simple matrix rotation to rotate / reveal each character.


The gif animation didn’t come out too good but you get the idea.

Here is an image of the text object selected in the editor.

Text Overflow - Page Mode
I just added a new feature in TextMesh Pro which allows you to control / break blocks of text into pages. Basically instead of Truncating the text that doesn’t fit inside a Text Container or RectTransform, it is broken into pages. A new property public int pageToDisplay; which is also exposed in the editor allows you to control which page is shown.

Instead of using string manipulation to control which portion of the text is shown or creating additional text objects with subsets of the text, this new feature is very efficient as it controls which portion of the mesh is visible by simply degenerating vertices that should not be visible. Since the text is never changed, rich text tags, alignment, word wrapping and all other text layout is preserved.

Here is a short video showing this new feature.

Would this ā€œtext overflowā€ feature have any application for dialogue balloons?

It would anytime you have more content to show then the size of the Text Container / RectTransform. So if the dialogue doesn’t fit inside a balloon, you could use the Text Overflow - Page mode and instead of having a button to move to the next page, you could have timer or something that automatically switches to the next page.

Is Unity4.6 UI support available in the latest version? if so how do I create Unity4.6 UI label that uses TextMesh pro? if not any ETA on the support?

Support for Unity 4.6 and the new UI has been available in the past few beta releases of TextMesh Pro which is available to Registered User on the TextMesh Pro User Forum.

In the latest beta release, adding a TextMeshPro UI object is done using the Create Menu just like you do with Unity 4.6. Instead of selecting <Create - UI - Text>, you select <Create - UI - TextMeshPro Text>.

Although the following video focuses on support for UI Mask with the new UI and TextMesh Pro, it does show how to add a label to a button for instance.

https://www.youtube.com/watch?v=k5hLS6cmjTU

I’m trying to set up some text on a curve – just a simple arc. I’ve added the Advanced Layout script to my TMP text, and tried the Translation and Scale curves. Both do something, but neither simply bends the text around the curve that I create in the curve editor. (And when I change that curve, the text doesn’t update to the new curve.) Am I doing something wrong? I can’t find anything about curves in the documentation pdf.

What version of Unity and TextMesh Pro are you running? With the first Beta Release of TextMesh Pro version 0.1.46, I also included a Demo & Extra Content package which includes a few new script examples. One of those scripts was used to create the following example.

The Advanced Text Layout Component was a prototype and sort of paved the way for these newer and more efficient implementations.

To get access to this Demo & Extra Content, make sure you register to the TextMesh Pro User Forum. This will then get you access to the latest beta releases with support for Unity 4.6 as well. This demo package can be found in the Beta Release 0.1.46 B2.4 found in the TMPro Alpha & Beta Releases section of the forum.

New Rich Text Tag - Monospaced
This new rich text tag will forcing character spacing to be monospaced. The new tag format is <mspace=xx.x> .

Here is an example showing this new tag along with a few newly added ones.

I have Beta Release 0.1.44. So the curved text is still in beta?

I’ve registered on the forum now, so as soon as you approve me (username ā€œgecko64ā€) I’ll grab that newer beta.

Yes.

I just approved your registration. Make sure you get Beta Release 0.1.46 B3.2 but download also the Demo & Extra Content from the Beta Release 0.1.46 B2.4 thread.

P.S. Since almost everyone downloading the latest beta is using Unity 4.6, I will double check to make this latest package is still ok with Unity 4.3 +. It should be I didn’t test it since the last release oops!

EDIT : Found one minor issue with the package in Unity 4.3. Line 648 in the TMPro_SDFMaterialEditor.cs will need to be changed to this.

Undo.RecordObject(go.GetComponent<TextMeshPro>(), "Material Assignment");

I will update the package of course but just in case you download it faster than I can upload a new one.

These examples are using the normal TextMesh Pro Component which you are currently using so they should work out the gate for you.

P.S.S. I am also checking the Demo & Extra Content Package in Unity 4.3.

EDIT: That package contains tons of test scenes for Unity 4.6. Give me about 30 minutes to update it so it works in Unity 4.3+ as well.

P.S.S Cube Power: I just uploaded two new packages which will work in Unity 4.3 along with a revised Demo & Extra Content package as well. Those will be found in the ā€œTopic: Revised Demo & Extra Content for Unity 4.3 (NOT Unity 4.6)ā€ thread along with instructions for you.

Okay, I’ve got the latest beta and the demo stuff. I’m trying to tweak the Halloween demo so is has the kind of curve I want – but the first and last letters are outside the curve. How do I get the entire string of text to follow the curve?

I think they are outside because the curve may have ease-in and ease-out. Go in the curve editor to edit that.

The script is also provided to show how it can be warped on a curve. The curve is simply evaluated and those values are used to position and rotate each letter. Instead of an animation curve, you could also implement and provide this via an equation.

Got it, Thanks a lot!

New! Text Indentation Tag
I just added a new rich text tag which provides control over character indentation within the same block of text.

Hi, we are considering buying your plugin, but I have few questions (wasn’t able to find a direct answers easily). Does using 4.6 TMP control allow to scale text down/up without loosing sharpness? Let’s say we use font size 64 in the textfield and then show it at 0.5 scale or 2.0 does it remain sharp or should we switch font size on the way too? Even though 4.6ui has bunch of performance problems, how does current beta compare to native 4.6 text control? Does using TMP for static texts have any impact on performance? thanks in advance for your answers.

The text will remain sharp and clean at any point size, resolution and scales linearly. Since TextMesh Pro uses a different text rendering technique, only one font asset is required per font type to render at any size. Furthermore by using different materials (presets) you can change the look of this font to dynamically add outline, shadows, bevel, glow, etc…

I have created several videos which explain this varying degrees but this more recent one goes over it quickly but will also give you a glimpse of additional functionality in the tool over the UI Text in Unity 4.6.

Only one single font asset is used for all point sizes and resolutions. Scaling must be uniform (ie. X, Y, Z) most people forget about Z which would cause the text not to render correctly.

In terms of performance, the TextMesh Pro UGUI component uses the CanvasRenderer and as such inherits the same overhead as UI Text or anything rendered using CanvasRenderer. The normal TextMesh Pro component which uses the Mesh Renderer should still be used for text in a scene as it doesn’t inherit this additional overhead and thus offers better performance.

BTW: UI Text or TextMesh Pro will have similar performance, the performance overhead comes from the Canvas system and Unity having to do extra processing to try to batch all these elements into fewer draw calls. As Unity improves that part of Unity 4.6, performance will improve for all components using the Canvas system.

In terms of Text Control, TextMesh Pro offers substantially more control over your text than UI Text. The previous video should give you a good idea but just in case, TextMesh Pro offers control over character, line and paragraph spacing, kerning, numerous additional rich text tags to control text alignment within the body of the text or indentation, new page overflow mode, support for superscript, subscript, smallcaps, and more. Here is an image of a few of the newer tags added.

Example showing some of the tag that provide control over text alignment within the body of the text.