The Text Mesh generates 3D geometry that displays text strings.
You can create a new Text Mesh from Component > Mesh > Text Mesh.
Properties
Property:
Function:
TextA non-interactive piece of text to the user. This can be used to provide captions or labels for other GUI controls or to display instructions or other text. More info See in Glossary
The text that will be rendered
Offset Z
How far should the text be offset from the transform.position.z when drawing
Character Size
The size of each character (This scales the whole text.)
Line Spacing
How much space will be in-between lines of text.
AnchorA UI layout tool that fixes a UI element to a parent element. Anchors are shown as four small triangular handles in the Scene View and anchor information is also shown in the Inspector. More info See in Glossary
Which point of the text shares the position of the Transform.
Alignment
How lines of text are aligned (Left, Right, Center).
Tab Size
How much space will be inserted for a tab ‘\t’ character. This is a multiplum of the ‘spacebar’ character offset.
Font Size
The size of the font. This can override the size of a dynamic font.
Font Style
The renderingThe process of drawing graphics to the screen (or to a render texture). By default, the main camera in Unity renders its view to the screen. More info See in Glossary style of the font. The font needs to be marked as dynamic.
Rich Text
When selected this will enable tag processing when the text is rendered.
Text Meshes can be used for rendering road signs, graffiti etc. The Text MeshThe main graphics primitive of Unity. Meshes make up a large part of your 3D worlds. Unity supports triangulated or Quadrangulated polygon meshes. Nurbs, Nurms, Subdiv surfaces must be converted to polygons. More info See in Glossary places text in the 3D sceneA Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. More info See in Glossary. To make generic 2D text for GUIs, use a GUI Text component instead.
Follow these steps to create a Text Mesh with a custom Font:
Import a font by dragging a TrueType Font - a .ttf file - from the Explorer (Windows) or Finder (OS X) into the Project ViewA view that shows the contents of your Assets folder (Project tab) More info See in Glossary.
Select the imported font in the Project View.
Choose GameObject > Create Other > 3D Text.
You have now created a text mesh with your custom TrueType Font. You can scale the text and move it around using the Scene View’sTransform controls.
Note: If you want to change the font for a Text Mesh, need to set the component’s font property and also set the texture of the font material to the correct font texture. This texture can be located using the font asset’s foldout. If you forget to set the texture then the text in the mesh will appear blocky and misaligned.
Hints
You can download free TrueType Fonts from 1001freefonts.com (download the Windows fonts since they contain TrueType Fonts).
If you are scripting the Text property, you can add line breaks by inserting the escape character “\n” in your strings.
Text meshes can be styled using simple mark-up. See the Styled Text page for more details.
Fonts in Unity are rendered by first rendering the font glyphs to a texture map. If the font size is set too small, these font textures will appear blocky. Since TextMesh assets are rendered using quadsA primitive object that resembles a plane but its edges are only one unit long, it uses only 4 vertices, and the surface is oriented in the XY plane of the local coordinate space. More info See in Glossary, it’s possible that if the size of the TextMesh and font texture differ the TextMesh will look wrong.
Did you find this page useful? Please give it a rating:
Is something described here not working as you expect it to? It might be a Known Issue. Please check with the Issue Tracker at issuetracker.unity3d.com.
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thanks for helping to make the Unity documentation better!