🚀 UniText 2.0 — Coming Soon. The biggest update since the initial release — rewritten from scratch.
See what's new in 2.0
🎨 No more materials. UniTextAppearance is gone. Effects are configured directly on components and can target individual parts of the text.
🔤 Variable Fonts. Full axis support — weight, width, italic, slant, optical size — controllable per-character. Three-tier resolution: variable axes → static faces → synthesis. Same algorithm as CSS. No other game engine has this (except Godot).
⚡ SDF & MSDF rendering from raw curves. Runtime Bézier rasterization via Burst. No pre-baked atlases. A single global Texture2DArray: 1 draw call instead of N, automatic LRU eviction, adaptive tile sizes by glyph complexity, defragmentation.
👨👩👧👦 Font Families. Primary + faces (bold, italic, light). CSS §5.2 weight matching — same algorithm browsers use. Redesigned UniTextFontStack.
🌍 UniTextWorld. 3D text without Canvas. Full pipeline (Unicode, BiDi, shaping, effects, emoji, fallback) via MeshRenderer.
✨ Effects. Outline and shadow with per-character control. Multi-pass rendering. Works in Canvas and World.
🔠 SmallCaps. Native OpenType smcp via HarfBuzz. Proper glyphs when available, automatic synthesis when not.
🇹🇭 Thai & Lao word segmentation. Dictionary-based word breaking (26K Thai words). Correct line breaks for SE Asian scripts.
📦 Zstd font compression. ~2.7x smaller builds for Latin/Arabic, ~1.3x for CJK. ~600 MB/s desktop, ~175 MB/s mobile.
📝 Markdown. **bold**, *italic*, ~~strikethrough~~, ++underline++ — out of the box.
🛠️ Editor UX. Style selector with ~30 presets and search. Font family inspector. Glyph picker with live preview. Atlas preview tabs. Styles & Style Presets.
🐛 ...and a mountain of fixes. Full changelog and migration notes included with the release.
⚠️ Major version bump — expect breaking changes from 1.x.
Industrial-grade Unicode 17.0 text engine for Unity. Built on HarfBuzz — the same shaping engine used by Chrome, Firefox, Adobe InDesign, and Android.
Passes all 891,757 official Unicode conformance tests. Zero GC allocations at runtime. 3-21x faster than TextMeshPro.
- 🌐 150+ languages — Arabic, Hebrew, Hindi, Thai, CJK, and every other Unicode script. One component, automatic font fallback
- 🔄 Full BiDi — mixed LTR/RTL with numbers and punctuation renders correctly (UAX #9)
- 😀 Native color emoji — ZWJ sequences, skin tones, flags via system fonts. Zero extra build size
- 🏷️ Extensible markup — 15+ built-in modifiers, custom parse rules, shared configurations
- 👆 Interactive text — clickable/hoverable regions with typed events and highlight system
- 🚀 Zero allocations — custom pooling, parallel processing, 3-21x faster than TextMeshPro
- Open Window > Package Manager
- Click + > Add package from git URL...
- Enter:
https://github.com/LightSideMeowshop/unitext.git#1.0.0
- Select any GameObject with RectTransform
- Add Component > UniText
- Type text — it works. Any language, any direction.
var uniText = gameObject.AddComponent<UniText>();
uniText.FontStack = myFontStack;
uniText.Appearance = myAppearance;
uniText.Text = "Hello, World!";
uniText.Text = "مرحبا بالعالم"; // Arabic
uniText.Text = "Mixed: Hello עולם World"; // BiDi
uniText.Text = "👨👩👧👦🇯🇵"; // Emoji
Android production build, 100 objects x 2300 chars:
| Benchmark | vs TextMeshPro | vs UI Toolkit |
|---|---|---|
| Object creation | 3.4x faster | 4.9x faster |
| Full rebuild | 2.9x faster | 5.4x faster |
| Layout | 20.7x faster | 3.4x faster |
| Mesh rebuild | 7.1x faster | 2.4x faster |
- 🧹 Zero GC allocations at runtime — custom pooling with 95%+ hit rate
- 🧵 Multi-threaded parallel text processing
- ⚙️ FreeType glyph rendering: 4.7-15.2x faster than Unity FontEngine
| Platform | Architectures |
|---|---|
| Windows | x86, x64, ARM64 |
| macOS | x64, Apple Silicon |
| Linux | x64 |
| Android | ARMv7, ARM64, x86, x64 |
| iOS | ARM64 |
| WebGL | 2.0 |
- Unity 2021 LTS or newer
UniText includes the following open-source libraries in its native plugin. See Third-Party Notices.txt for full license texts.
- HarfBuzz (Old MIT License) — text shaping engine
- FreeType (FreeType License) — font rasterization. Portions of this software are copyright (c) The FreeType Project (https://freetype.org). All rights reserved.
- Blend2D (Zlib License) — 2D vector rasterization
- Zstandard (BSD-3-Clause License) — data compression
- zlib (Zlib License) — general-purpose compression
- libpng (PNG Reference Library License) — PNG decoding
Default fonts (Noto Sans, Noto Sans Arabic, Noto Sans Hebrew) are licensed under the SIL Open Font License v1.1.
Thai word segmentation dictionary is derived from ICU and licensed under the Unicode License V3.
See LICENSE.md