Toutes les langues. Tous les emoji. Tous les styles. Qualité production, extensible, haute performance, conçu sur les standards de l'industrie.
Unicode 17.0 · HarfBuzz · SDF/MSDF · Polices variables · Zéro GC
Si votre jeu compte des joueurs arabophones, hébraïques, hindi, thaïs ou bengalis — TextMeshPro leur affiche un texte cassé. Ce ne sont pas des cas marginaux — c'est un quart de la population mondiale.

Construit sur les mêmes technologies utilisées par Chrome, Firefox, Adobe et Android.
Chaque écriture existante — testée et validée. 891 757 tests officiels de conformité Unicode, zéro échec. De l'arabe au tibétain.
Un seul fichier de police, des variations infinies. Animez fluidement la graisse, la largeur, l'inclinaison — en temps réel. Une seule police remplace toute votre famille typographique.
100 instances UniText + 100 instances TextMeshPro animant Font Size simultanément. Elles sont superposées à la même position, donc les 200 ressemblent à un seul bloc.
La mise en page du texte exploite tous les cœurs CPU. 100, 500, 1000 objets texte — les performances augmentent linéairement.
Familles 👨👩👧👦, drapeaux 🇬🇪, tons de peau 👋🏻👋🏿 — tous corrects. Utilise les polices de l'appareil : zéro impact sur la taille du build, toujours à jour.
Effets de texte enrichi via de simples balises. Couleur, épaisseur, décalage et douceur personnalisables — le tout accéléré par le GPU.

Du texte en espace 3D via MeshRenderer — aucun Canvas requis. Parité complète des fonctionnalités : toutes les langues, tous les emoji, tous les effets — en espace monde.

Aucune autre solution de texte Unity ne procède ainsi.
Le chinois, le japonais et le coréen viennent directement du système — aucune police dans le build, aucun atlas précalculé. Memory-mapped : seuls les glyphes utilisés arrivent en RAM.
Le thaï, le lao et d'autres langues d'Asie du Sud-Est n'utilisent pas d'espaces entre les mots. UniText sait où couper les lignes — correctement, à chaque fois.
Chaque test officiel Unicode. Réussi. Sans exception, sans astérisque.
Benchmarks réels sur un build Android de production.
* 100 objets, 10 itérations, 3 warmup, ~2300 caractères par objet (latin + arabe + hébreu + mixte). UniText.UseParallel = false.
Ajout des glyphes à l'atlas de texture
La compression des polices garde votre jeu livré minuscule
Décompression sub-milliseconde à l'exécution — les joueurs ne le remarqueront pas.
Le code parle de lui-même — UniText est un moteur de texte complet, pas un simple composant.
Un moteur bien plus complet — et pourtant plus rapide et plus léger que TMP.
Bibliothèques natives HarfBuzz et FreeType compilées pour chaque plateforme et architecture majeure.
Comparaison des fonctionnalités côte à côte
| Fonctionnalité | 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 ajoute la sélection, l'édition, l'IME, le presse-papiers, les comportements de saisie et les décorateurs — avec prise en charge native du BiDi et des clusters de graphèmes.
| Fonctionnalité | 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 | |
Fini les problèmes d'arabe cassé, d'emoji manquants et de bugs RTL. UniText gère tout cela.