This preview needs WebGL 2.

Signed-distance-field text for Godot 4.7

Typesetter gives Godot TextMesh Pro's feature set: rich text, outlines, underlays, glow, bevels, sprites, text that flows between boxes, and per-character animation. Every class and member follows TextMesh Pro's API under a new name, so what you already know carries over.

The text above is drawn from an atlas Typesetter generated, with the same distance formula as its shaders. Each slider changes one uniform, with no new atlas and no new mesh.

The real thing, running in your browser

This is Typesetter's demo scene exported from Godot 4.7 for the web. Every piece of text in it is a Typesetter node, drawn with the same shaders as on desktop.

The demo downloads about 40 MB, and the controls need a mouse or touch.

The same API under new names

TextMesh ProTypesetter
TextMeshProUGUITypesetterLabel
TextMeshProTypesetterText3D
TMP_FontAssetTypesetterFontAsset
TMP_InputFieldTypesetterInputField
text.SetText("{0:2}", score)text.set_text("{0:2}", score)
text.textInfo.characterInfo[i]text.text_info.character_info[i]
text.GetPreferredValues()text.get_preferred_values()

Checked against Unity's own output

A Unity batchmode project drives TextMesh Pro through its public API and records glyph positions, line breaks, sizes, atlases and renders. Typesetter is compared with those recordings on every commit, using the same open-licensed fonts on both sides.

Bold, italic, underlined, struck-through, large and red text rendered by Unity TextMesh Pro
Unity TextMesh Pro
The same text rendered by Typesetter in Godot
Typesetter in Godot

Install

  1. Copy addons/typesetter into your project. Build the native library with python native/build.py, or take it from the CI artifacts.
  2. Enable Typesetter under Project Settings, Plugins.
  3. Open Project, Tools, Typesetter: Font Asset Creator, generate an atlas, and add a TypesetterLabel to a scene.

Windows, Linux, macOS and the web are supported. Web builds use the single-threaded library (python native/build.py --web).

Provenance

Typesetter is a clean-room implementation created by Claude Opus 5.5 (Anthropic), written from Unity's public documentation, published papers and black-box measurements. No TextMesh Pro source was read, and no Unity shaders, fonts or sprites are included. It isn't affiliated with or endorsed by Unity Technologies. TextMesh Pro and Unity are trademarks of their owners. Typesetter is MIT licensed.