Ogni lingua. Ogni emoji. Ogni stile. Production-grade, estensibile, ad alte prestazioni, costruito sugli standard del settore.
Unicode 17.0 · HarfBuzz · SDF/MSDF · Font variabili · Zero GC
Se il tuo gioco ha giocatori che parlano arabo, ebraico, hindi, thai o bengalese — TextMeshPro mostra loro testo illeggibile. Non sono casi marginali — sono un quarto della popolazione mondiale.

Costruito sulle stesse tecnologie usate da Chrome, Firefox, Adobe e Android.
Ogni script del pianeta — testato e superato. 891.757 test ufficiali di conformità Unicode, zero fallimenti. Dall'arabo al tibetano.
Un file font, infinite variazioni. Anima fluidamente peso, larghezza, inclinazione — in tempo reale. Un solo font sostituisce l'intera famiglia tipografica.
100 istanze di UniText + 100 di TextMeshPro che animano il Font Size simultaneamente. Sono sovrapposte nella stessa posizione, quindi tutte e 200 sembrano un unico blocco.
Il layout del testo gira su tutti i core della CPU. 100, 500, 1000 oggetti di testo — le prestazioni scalano linearmente.
Famiglie 👨👩👧👦, bandiere 🇬🇪, tonalità della pelle 👋🏻👋🏿 — tutto corretto. Usa i font del dispositivo: zero impatto sulle dimensioni della build, sempre aggiornati.
Effetti rich text tramite semplici tag. Colore, spessore, offset e morbidezza personalizzabili — tutto accelerato via GPU.

Testo nello spazio 3D tramite MeshRenderer — nessun Canvas necessario. Parità completa delle funzionalità: ogni lingua, ogni emoji, ogni effetto — nello spazio mondo.

Nessun'altra soluzione di testo per Unity fa così.
Cinese, giapponese e coreano arrivano direttamente dal sistema: nessun font nella build, nessun atlas precompilato. Memory-mapped: in RAM finiscono solo i glifi usati.
Thai, lao e altri script del sud-est asiatico non usano spazi tra le parole. UniText sa dove andare a capo — correttamente, ogni volta.
Ogni test ufficiale Unicode. Superato. Nessuna eccezione, nessun asterisco.
Benchmark reali su build di produzione Android.
* 100 oggetti, 10 iterazioni, 3 warmup, ~2300 caratteri per oggetto (latino + arabo + ebraico + misto). UniText.UseParallel = false.
Aggiunta di glifi all'atlas di texture
La compressione dei font mantiene il tuo gioco distribuito leggero
Decompressione sub-millisecondo a runtime — i giocatori non se ne accorgeranno.
Il codice racconta la storia — UniText è un motore di testo completo, non un componente.
Molto più motore — eppure più veloce e leggero di TMP.
Librerie native HarfBuzz e FreeType compilate per ogni piattaforma e architettura principale.
Confronto funzionalità fianco a fianco
| Funzionalità | 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 | ||
| Per-Glyph Metric Overrides | Limited (not under ATG) | ||
| Rendering | |||
| MSDF Rendering | |||
| GPU Glyph Rasterization | |||
| 3D World-Space Text | (batched, ~1 draw call)8 | (no batching, draw calls per object)8 | (2D panel) |
| Lit / Shaded 3D Text | Limited (shader swap) | ||
| 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) | ||
| Support & Maintenance | |||
| Direct Developer Support | Fast, dedicated9 | (Unity issue tracker / forums) | (Unity issue tracker / forums) |
UniText Folio aggiunge selezione, modifica, IME, appunti, comportamenti di input e decoratori — con supporto nativo per BiDi e cluster di grafemi.
| Funzionalità | 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 | ||
| Editing Accessibility (screen-reader) | Limited (manual) | ||
| Pluggable / Non-Blinking Caret | Limited | Basic | |
| Extensibility | |||
| Skinnable Selection Highlight | Limited | Basic | |
| Rich Pointer-Event Model | Basic | Limited | |
Basta combattere con arabo rotto, emoji mancanti e bug RTL. UniText gestisce tutto.