Text and document engine for Unity UI and 3D. No fonts required. Top performance. Built-in capabilities include rich editing, pixel fonts, Font Memory Mapping and virtualized documents. Styles and behaviors compose through reusable constructors.
UI + 3D · Native emoji · Visual style constructors · Shared LightSide rendering

“UniText provides literally all the features of text out of the box. We migrated the project in 2 days and added 11 languages without adding a single font to the project.”
Store figures as published by Google Play and the App Store, September 2026.
Arabic shaping, mixed writing directions and scripts without spaces are part of the text engine.

One text model across labels, input fields, rich editors and documents. Custom modifiers, parsing rules and input behaviors use the same construction workflow.
Large font files are read from disk on demand without a full managed copy in memory. Unused font assets stay compressed.
Crisp pixels, automatic grid detection and pixel-aligned effects and animation. Vector pixel fonts and bitmap-only fonts share the same style system.
Selection, undo and redo, IME, rich clipboard, touch handles, native keyboards, validation, masks and passwords. Input behaviors and field decorators form reusable configurations.
Lists, ruby, formulas, inline images and prefabs. Virtualized scrolling for large documents.
Character and range animation, reveal effects and parameter timelines combine with text styles. Links, spoilers and custom targets have their own interaction states.
Custom modifiers, parsing rules, input behaviors and decorators use the existing text model. Extensions compose with built-in features and reuse the same editor tools.
Any text becomes solid, lit letters with depth, bevels and a material per surface. 3D outlines, deformers, prefabs on letters, colliders and mesh export work with the same markup and animations.
Arabic, Hebrew, Indic scripts, CJK and mixed writing directions in the same text. Unicode shaping, line breaks and selection follow the language.
Weight, width and slant remain editable and animatable. A variable font contains an entire range of styles in one file.
100 UniText + 100 TextMeshPro instances animating Font Size simultaneously. They're stacked at the same position, so all 200 look like a single block.
Shared caches avoid repeated text work. Local edits rebuild the affected content. Burst and parallel processing handle large workloads.
Families, flags, skin tones and mixed emoji sequences use the device's fonts. No emoji texture pack is required.
Fills, outlines, shadows, glow, gradients and textures combine in editable layers. Presets, markup and Markdown reuse the same styles.

World text renders without a Canvas. Languages, emoji, styles, interaction and animation use the same engine as UI text.

Chinese, Japanese and Korean without bundled font assets.
System fonts provide automatic coverage for every language. Custom font files are optional on desktop and mobile; WebGL uses assigned fonts.
Language-aware wrapping includes scripts written without spaces, including Thai, Lao, Khmer and Myanmar.
Official tests cover bidirectional text, line breaking, script detection and grapheme boundaries.
Real benchmarks on Android production build.
* 100 objects, 10 iterations, 3 warmup, ~2300 characters per object (Latin + Arabic + Hebrew + Mixed). UniText.UseParallel = false.
Adding glyphs to texture atlas
Font compression keeps your shipped game tiny
Sub-millisecond decompression at runtime — players won't notice.
LightSide products reuse common systems throughout their runtime and editors. Each adds its own behavior on top of that foundation.
Examples of Core systems: state and nested property access, clocks and motion primitives, pointer routing, geometry, worker threads, pools, serialization, resource management, GPU transport and editor controls. Common implementations across the products.
UniText modifiers and UniShapes layers share selectors, nested settings, presets and property editing.
Colors, gradients, textures and filters use the same Core systems for text and shapes.
Text, shapes and Lottie share shaders, materials and batching. MoveIt animates exposed component and layer properties.
UI and world text on desktop, mobile, WebGL, tvOS and visionOS.
Side-by-side feature comparison
| Feature | UniText | TextMesh Pro | UI Toolkit |
|---|---|---|---|
| Scripts & Internationalization | |||
| Bidirectional Text (UAX #9) | Requires plugin1 | Requires ATG2 | |
| Auto Text Direction | |||
| Arabic Script (joining) | Requires plugin1 | Requires ATG2 | |
| Arabic Kashida Justification | |||
| Hebrew Script | Requires plugin1 | Requires ATG2 | |
| Hindi / Devanagari (Indic) | Requires ATG2 | ||
| Complex OpenType Shaping (GSUB/GPOS) | HarfBuzz | Basic | Requires ATG2 |
| Language-Aware Shaping (locl, pan-CJK) | |||
| Thai / Lao Word Segmentation | Requires ATG2 | ||
| Korean Line Breaking | Requires ATG2 | ||
| Unicode Line Breaking (UAX #14) | Basic | Limited2 | |
| Unicode Version | 17.0 | 14.04 | 15.02 |
| Emoji | |||
| Emoji Sequences (ZWJ / skin tone / flags) | Limited3 | ||
| Emoji in RTL Text | Requires ATG2 | ||
| Fonts | |||
| Variable Fonts | |||
| Font Families (Bold / Italic / weight) | Limited | Limited | |
| Real OS Bold / Italic Cuts | Limited | Limited | |
| Small Caps (OpenType smcp) | Basic (faux) | Basic (faux) | |
| Automatic System-Font Fallback | Limited | ||
| Font Compression (build size) | Zstd | ||
| Font Memory Mapping | On-demand file cache10 | Not documented10 | Not documented10 |
| Pixel Fonts | Automatic grid + full styles11 | Raster setup11 | Raster setup11 |
| Automatic Pixel-Grid Detection | |||
| Pixel-Aligned Effects & Animation | Shared style system11 | Custom work | Custom work |
| Per-Glyph Metric Overrides | Limited (not under ATG) | ||
| Rendering | |||
| MSDF Rendering | |||
| GPU Glyph Rasterization | |||
| 3D World-Space Text | Shared world batching8 | MeshRenderer8 | World-space panel |
| Lit / Shaded 3D Text | Limited (shader swap) | ||
| Extruded 3D Text (solid meshes) | UniText 3D6 | ||
| Extrude / Bevel Effect6 | (configurable stack + bevel) | Basic (shader bevel) | |
| Gradients (linear / radial / angular) | Limited (linear) | Limited (vertical) | |
| Per-Range Custom Shaders | |||
| Multi-Core Processing | Limited (6.5+)5 | ||
| Layout | |||
| Justified Text | (script-aware, CSS Text 3) | Limited7 | Limited (inter-word, markup) |
| Line Height Control | Limited (markup only) | ||
| Paragraph Spacing | Limited (broken under ATG) | ||
| Text Indent | Limited (markup only) | ||
| Lists (ordered / nested) | |||
| Ruby / Furigana | |||
| Padding (box-model) | Limited (margin) | Limited (element box) | |
| Text-Box Trim (cap-height) | |||
| Font-Size-Adjust (x-height match) | |||
| Markup & Interaction | |||
| Configurable / Custom Tags | |||
| Markdown Syntax | |||
| Interactive Links / Hashtags | Limited (no events) | (experimental) | |
| Text Selection / Highlighting | Limited (input field) | Limited (TextField) | |
| World-Space Pointer Events | Limited (panel quad) | ||
| Styles & Ecosystem | |||
| Visual Modifier & Layer Constructors | Nested layers + presets | Material controls | USS + UI Builder |
| Shared Paints for Text & Shapes | Colors, gradients, textures, filters | Separate graphics | USS styling |
| Shared Rendering with Shapes & Lottie | Core shaders + batching8 | Separate integrations | Custom integration |
| Nested Property Animation | MoveIt + shared property system | Custom animation | USS transitions / code |
| Virtualized Rich Documents | Document viewport | Custom implementation | List virtualization |
| Support | |||
| Direct Developer Support | Discord9 | (Unity issue tracker / forums) | (Unity issue tracker / forums) |
UniText Folio adds selection, editing, IME, clipboard, input behaviors and decorators — with native BiDi and grapheme-cluster support.
| Feature | UniText | TMP InputField | UI Toolkit TextField |
|---|---|---|---|
| Components & Modes | |||
| Read-Only Selectable Text | Limited (full field chrome) | ||
| Editable Text without Field Chrome | Limited (cosmetic) | Limited | |
| World-Space (3D) Editing | Limited (World-Space Canvas only) | Limited (2D panel) | |
| Backend-Independent Input | Limited (breaks under Input System-only) | ||
| Selection & Caret | |||
| BiDi / RTL Caret & Selection | Requires plugin1 | Requires ATG2 | |
| Grapheme-Cluster Caret (emoji / ZWJ) | Limited (surrogate only) | Limited (codepoint only) | |
| Word / Line / Paragraph Selection | Limited (no triple-click) | ||
| Platform Key Bindings (macOS / Win / Linux) | Basic (Ctrl→Cmd only) | Limited | |
| Vertical Caret Column Memory | |||
| Editing | |||
| Undo / Redo | 3 | ||
| Word / Line Delete (Ctrl+Backspace) | |||
| Rich-Text WYSIWYG Editing | 4 | ||
| Programmatic Edit with Undo Policy | |||
| Input Sanitization (surrogates / paste cap) | Limited | Limited | |
| IME & Composition | |||
| IME Composition (CJK / dead keys) | Limited | ||
| Non-Destructive Composition + Clause Styling | Limited (single underline) | Limited (no clauses) | |
| Clipboard | |||
| Rich Multi-Format Clipboard (HTML / Markdown) | 5 | 5 | |
| Image / Media Paste | |||
| Input Behaviors, Filters & Validation | |||
| Built-in Input Filters (integer / email / …) | Basic (numeric only) | ||
| Live Input Mask (phone / card / date) | |||
| Validation Status & Message | |||
| Composable / Extensible Behavior Pipeline | |||
| Field Decorators | |||
| Floating Label (Material) | |||
| Character Counter | |||
| Supporting / Error Text | |||
| Custom / Extensible Decorators | |||
| Menus & Mobile | |||
| Context Menu (cut / copy / paste) | Limited (Editor-only)6 | ||
| Touch Selection Handles | |||
| Magnifier Loupe | |||
| Soft-Keyboard Configuration | Limited | Limited | |
| Keyboard Avoidance | |||
| Focus & Accessibility | |||
| Focus Guard (external toolbar) | Limited | ||
| Accessibility Semantics & Adapter Hooks | Limited (manual) | ||
| Pluggable / Non-Blinking Caret | Limited | Basic | |
| Extensibility | |||
| Skinnable Selection Highlight | Limited | Basic | |
| Rich Pointer-Event Model | Basic | Limited | |
Text and document engine for Unity UI and 3D. No fonts required. Top performance. Built-in capabilities include rich editing, pixel fonts, Font Memory Mapping and virtualized documents. Styles and behaviors compose through reusable constructors.