If you read this post, you want to learn how to convert to TMP font. Well, in that case, you have come to the right place.
We all know how crucial fonts are, especially in ensuring readability and enhancing visual appeal in a digital design. TMP (TextMesh Pro) fonts are often used in software or gaming applications, where a specific conversion method is essential to maintain font integrity.
Whether you are a developer, designer, or someone exploring various font formats, knowing how to convert to a TMP font is valuable. This guide will help you understand the process step-by-step so you are left with no doubts.
How To Convert To TMP Font?
A common question is how to convert to TMP font. The Font Asset Creator turns Unity font assets into TMP font assets. It allows you to generate bitmap and Signed Distance Field (SDF) fonts.
When a new font asset is created, TMP automatically generates the asset along with the font’s atlas material and texture. Once you have made the TMP font asset, you can delete the original Unity font asset you used to create it. However, keeping the Unity font asset in the scene may be helpful if you need to regenerate the TMP asset later.
Steps To Create A Font Asset
Before starting the steps, ensuring that the font you want to use is imported into your project is essential. If you are unsure, refer to the Unity manual’s Fonts manual. This will give you an idea about importing fonts in Unity. That being said, let us now walk you through the steps.
Here’s what you need to do:
- Open the Font Asset Creator by navigating to Window, selecting TextMesh Pro, and then Font Asset Creator.
- Select a Source Font File, the Unity font asset you wish to convert into a TMP font asset.
- After adjusting the Font Settings, select the Generate Font Atlas option to create the atlas texture. The atlas font asset and texture details show up in the texture preview area.
- Modify settings and regenerate the atlas until you achieve the desired result.
- Once you finish the above steps, hit the Save button to store the font asset in your project.
Note: To ensure the asset is accessible to TextMesh Pro, save it inside a Resources folder.
Tips To Create Font Assets
Spacing between characters in the texture (padding) is essential when creating a font asset. Measured in pixels, it ensures that characters don’t blend into each other when rendered.
Additionally, padding allows for a smooth gradient in Signed Distance Field fonts, which improves the quality of effects like shadows and outlines. A standard padding value of 5 pixels works well for a 512×512 texture.
For most standard fonts that include all ASCII characters, a texture resolution of 512×512 is usually sufficient. However, a higher-resolution texture is necessary if your font needs to support thousands of characters, like in languages with large character sets.
Even with the largest texture size available, all characters may not fit. In this case, splitting the characters across multiple font assets is a great solution.
The main font asset should contain characters that are frequently used. Additional characters can be stored in fallback font assets as it ensures proper text rendering.
Comparison Between Text Mesh Pro, Unity, And Standard Fonts
First, fonts come in several formats, including OpenType (.otf), TrueType (.ttf), and Web Open Font Format (.woff / .woff2). These formats store characters as a combination of line and curve segments rather than pixel data. Each character in this system is known as a glyph.
Unity comes with a built-in text renderer called “Unity Fonts.” While this option is easy to use, its functions and features are limited. Also, it does not produce high-quality text rendering. Unity Fonts usually support OpenType and TrueType fonts. Users can drag and drop a font file into the text renderer.
Unity then converts the font into a texture atlas, where each glyph is scaled at a specific resolution. This means the text quality depends on the font resolution you choose during conversion. This makes it less flexible for adding effects or resizing.
On the other hand, Text Mesh Pro is a more advanced text rendering solution designed to produce high-quality text with enhanced features. This particular system does not use standard font formats directly. Instead, users must generate an SDF font atlas from an OpenType or TrueType font.
Unlike Unity’s default texture atlas, TMP’s SDF font atlas stores distance field data for each glyph. This method allows for smoother font rendering across different sizes. Plus, it supports advanced effects like shadows and outlines with greater precision.
Importing Fonts Into Unity With TextMesh Pro

Text Mesh Pro allows you to render fonts as SDFs, making high-quality and smooth text rendering in Unity possible. A powerful graphics tool, SDFs store distance values from a surface, allowing sharp and scalable font rendering.
If you are wondering how to import fonts into Unity, follow the instructions below. We have discussed everything you need to know.
Step 1: Install Text Mesh Pro
Text Mesh Pro is built into Unity, so you don’t have to download it separately. However, if you removed it from your project, you must reinstall it using the Package Manager.
Setup:
Before you start, ensure you have a font file in your project (.ttf or .otf). You can download Roboto from Google Fonts if you don’t have one.
- Click the Download All button and extract the .zip file.
- Drag and drop Roboto-Regular.ttf into your Unity project.
Once the font file is imported, you can convert it into a TMP font asset.
Step 2: Create a TMP Font Asset
To use the font with TMP, you need to create a Unity Font Asset, which acts as a container for the font and allows you to apply it to TMP elements.
There are two ways to create a TMP Font Asset from your imported .ttf file:
- Using a Keyboard Shortcut
Select the .ttf file and press CTRL + SHIFT + F12.
- Using the Context Menu
Right-click the .ttf file, and select Create. Go to TextMeshPro and choose Font Asset.
This creates the font asset, but you must still generate the font atlas.
Step 3: Generate the Font Atlas
To enable rendering, you must generate a font atlas within the Text Mesh Pro font asset:
- Select the font asset in your project.
- In the Inspector, choose Update Atlas Texture.
This opens the Font Asset Creator, where you need to adjust one setting:
- Change the Character Set from Unicode Range (Hex) to ASCII or Extended ASCII.
- Select Generate Font Atlas and wait for the process to complete.
- Once done, hit the Save button to finalize the asset.
Your font asset is now fully configured and ready for use.
Using The Font In A TextMesh Pro GameObject
To apply the font to a GameObject, follow these steps:
- Go to GameObject and then to UI.
- Select Text – TextMeshPro in the toolbar.
- Choose the new GameObject and open the Inspector.
- Assign your TMP font asset to the Font Asset field.
- Your custom font is ready to be used in Unity with TMP.
Adding Custom Fonts To Unity
You can find fonts for your Unity project on different websites. Since each font has a different license, checking the usage terms before using it is essential.
Here are some websites where you can download fonts:
Google Fonts
Google Fonts offers an extensive collection of free fonts. Although most of them can be used for commercial projects, checking the license for any special requirements is a good idea. The site also provides helpful articles on choosing and using fonts.
Font Squirrel
Font Squirrel has many fonts that are free for commercial use. Some of these fonts are also available on Google Fonts.
The League of Movable Type
This is an open-source font website where you will find high-quality and unique fonts. The best part is these fonts are free to use.
Font Asset Creator Settings
To open the TextMesh Pro font creation window, click TextMeshPro and Font Asset Creator in the Unity editor. Here, you can adjust font settings, preview the texture, generate the asset, and save the new font asset.
Font Source
You need to select a font to create the TMP font asset. This font is used only for creation and is not included in your final build unless you use it elsewhere or place it in the Resources folder.
Font Size
You can set the font size for the texture creation. This can be done either manually or by auto-sizing.
Font Padding
Padding separate characters in the texture so they render clearly. More padding allows smoother transitions in the SDF gradient and can improve the quality of effects like thick outlines.
Packing Method
Optimum packing finds the best size that fits all characters in the texture. On the other hand, fast packing is quicker, but may use a smaller font size.
Atlas Resolution
For SDF fonts, higher resolution gives better text quality. However, if you need to support thousands of characters, you may need to split them into multiple font assets or use larger textures.
Character Set
You choose which characters from the font you need. You can pick from preset sets like ASCII or create your list. You can also use a text file to save your character set.
Font Style
You can pick from font styles like italic, bold, outline, and bold + italic. Plus, you can adjust the strength of outline effects and boldness.
Font Asset
TextMesh Pro font assets store everything needed to render text. Face info shows details about the font, like name, padding, size, and texture size. Line metrics allow you to adjust settings like ascender/descender height, baseline, and line height. You can fine-tune these values if needed.
Font Weights
You can adjust the italic and bold versions of the font. TMP will simulate italic and bold styles if you don’t specify these. You can also change the weight and spacing of text.
Glyph Info
You can inspect and adjust the data for each character in the font. Each character is shown as a rectangle, and you can modify the character’s size, placement, and spacing.
Final Words
Knowing how to convert to TMP font is essential as it helps ensure high-quality text rendering in Unity. Following the steps outlined in this guide, you can easily create a TMP font asset and apply it to your project. TextMesh Pro offers advanced text rendering features, which allow you to develop scalable fonts with additional effects.
FAQs
How do you use a custom font in text mesh pro?
To use a custom TextMesh Pro font, you must first import the font into your Unity project and create a TMP Font Asset from the imported font. After that, assign the new TMP Font Asset to the TextMeshPro component.
How do you convert TTF to web font?
You can use online tools like Font Squirrel or Transfonter to convert a TTF to a web font.
How do you import fonts into TMP?
To import fonts into TextMesh Pro, import the TTF or OTF font file into your Unity project and create a TMP Font Asset. This will generate a font asset that can be used in your TMP text components.
How do I change the default font in Text Mesh Pro?
To change the default font in TextMesh Pro, go to the TextMesh Pro Settings and select Font Asset Creator in Unity. From there, you can modify the Default Font Asset as you like.
How to use TMPro text?
To use TMP text in Unity, create a TextMeshPro – Text object from the GameObject menu. Once added, you can modify the text content in the Inspector and customize various settings as needed.
How do I import my font?
Drag the TTF or OTF font file into your project’s Assets folder to import your font into Unity. After importing, create a TMP Font Asset from the font file. You can use the new font in your TextMesh Pro components throughout the project.