Back to Home

UniText 2.0: font rendering in Unity

UniText 2.0 updates the text engine for Unity with a focus on HarfBuzz shaping, SDF/MSDF rendering and Variable Fonts. BiDi/RTL support, dynamic atlas and World Space text simplify complex UI development. Commercial version, with open 1.0.

UniText 2.0 in Unity: from shaping to World Space
Advertisement 728x90

UniText 2.0: Key Improvements in Rendering and Font Handling for Unity

UniText 2.0 is a complete overhaul of the text engine for Unity. The changelog covers nearly all components, retaining the strengths of version 1.0 while adding new features. The focus has shifted to simplifying work with styles, fonts, and modern Unicode standards. The open-source version 1.0 remains available, while 2.0 is commercial via the official website or Asset Store.

Version 2.0 targets mid/senior developers, offering tools for optimizing builds and rendering without compromising performance. Burst support delivers a boost on native platforms, though it's limited by Unity 6.4's current capabilities on WebGL.

Rendering and Shaping Technologies

The engine uses HarfBuzz for text shaping—a standard tool for complex scripts. Rendering is implemented via SDF and MSDF, ensuring sharpness at various scales without artifacts. Integration with Burst compiles critical paths to native code, minimizing overhead.

Google AdInline article slot

Full support for RTL languages (Arabic, Hebrew) and BiDi text complies with Unicode specs, including 100% test pass rate. This eliminates the need for custom solutions with mixed LTR/RTL content.

A single dynamic font atlas replaces the multiple atlases from TMP. Automatic compression reduces font size in builds by 2–3 times. Tooling lets you subset glyphs, excluding unused characters.

Advanced Font and Parsing Support

Support for Font Family and Variable Fonts has been added. Variable Fonts allow dynamic variation of weight, width, and other parameters without multiple files, solving issues with assets from designers.

Google AdInline article slot

Parsing supports Markdown, BBCode, or custom parsers. Emojis include ZWJ sequences, skin tone modifiers, and native system emojis—without embedding them in the build.

The visual modifiers system avoids material dependencies, enabling batching with different effects. It extends via custom modules, presets, and tags for fragment styles. The Inspector is streamlined for quick setup.

Key features in list:

Google AdInline article slot
  • HarfBuzz + SDF/MSDF + Burst for rendering.
  • RTL/BiDi with full Unicode compliance.
  • Dynamic atlas with 2-3x compression.
  • Font Family, Variable Fonts, emojis (ZWJ, skin tone, system).
  • Modifiers without materials, custom presets and tags.
  • Markdown/BBCode parsing.

Text in 3D Space and Performance

New feature: World Space text outside Canvas with automatic batching. This is ideal for AR/VR and 3D UI, where Canvas limits flexibility.

Benchmarks confirm performance gains, especially in scenarios with large text volumes. On Desktop and WebGL (Unity 6.3+), builds run smoothly, though WebGL doesn't fully leverage Burst.

Testing reveals minor bugs, but critical ones are fixed promptly. Production use requires additional validation in real loops.

What Matters

  • Switching to a single atlas and compression drastically reduces build size.
  • Full BiDi/RTL support without reinventing the wheel simplifies localization.
  • Modifiers and tags enable granular text styling without losing batching.
  • Variable Fonts and system emojis minimize assets.
  • World Space text expands use beyond UI Canvas.

The engine positions itself as an alternative to TMP for projects with high text demands. Prospects depend on UI Toolkit's evolution, but the current stack looks solid for production.

— Editorial Team

Advertisement 728x90

Read Next