Todos os idiomas. Todos os emoji. Todos os estilos. Nível produção, extensível, alta performance, construído sobre padrões da indústria.
Unicode 17.0 · HarfBuzz · SDF/MSDF · Variable Fonts · Zero GC
Se o seu jogo tem jogadores que falam árabe, hebraico, hindi, tailandês ou bengali — TextMeshPro está mostrando texto quebrado para eles. Esses não são casos raros — são um quarto da população mundial.

Construído sobre as mesmas tecnologias usadas por Chrome, Firefox, Adobe e Android.
Todos os scripts do mundo — testados e aprovados. 891.757 testes oficiais de conformidade Unicode, zero falhas. Do árabe ao tibetano.
Um arquivo de fonte, variações infinitas. Anime suavemente peso, largura, inclinação — em tempo real. Uma fonte substitui toda a sua família tipográfica.
100 instâncias do UniText + 100 do TextMeshPro animando o Font Size simultaneamente. Estão empilhadas na mesma posição, então as 200 parecem um único bloco.
O layout de texto roda em todos os núcleos da CPU. 100, 500, 1000 objetos de texto — o desempenho escala linearmente.
Famílias 👨👩👧👦, bandeiras 🇬🇪, tons de pele 👋🏻👋🏿 — tudo correto. Usa fontes do dispositivo: zero impacto no tamanho do build, sempre atualizado.
Efeitos de rich text via tags simples. Cor, espessura, deslocamento e suavidade personalizáveis — tudo acelerado por GPU.

Texto no espaço 3D via MeshRenderer — sem necessidade de Canvas. Paridade total de recursos: todos os idiomas, todos os emoji, todos os efeitos — no espaço mundo.

Nenhuma outra solução de texto para Unity faz isto.
Chinês, japonês e coreano vêm diretamente do sistema — sem tipos de letra na build, sem atlas pré-gerado. Memory-mapped: só os glifos usados chegam à RAM.
Tailandês, laosiano e outros scripts do sudeste asiático não usam espaços entre palavras. UniText sabe onde quebrar as linhas — corretamente, sempre.
Todos os testes oficiais do Unicode. Aprovados. Sem exceções, sem asteriscos.
Benchmarks reais em build de produção Android.
* 100 objetos, 10 iterações, 3 warmup, ~2300 caracteres por objeto (Latim + Árabe + Hebraico + Misto). UniText.UseParallel = false.
Adicionando glifos ao atlas de textura
A compressão de fontes mantém o seu jogo distribuído pequeno
Descompressão sub-milissegundo em runtime — os jogadores não vão notar.
O código-fonte conta a história — UniText é um motor de texto completo, não um componente.
Muito mais motor — e ainda assim mais rápido e leve do que o TMP.
Bibliotecas nativas HarfBuzz e FreeType compiladas para todas as principais plataformas e arquiteturas.
Comparação de recursos lado a lado
| Recurso | 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 adiciona seleção, edição, IME, área de transferência, comportamentos de entrada e decoradores — com suporte nativo a BiDi e a clusters de grafemas.
| Recurso | 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 | |
Pare de lutar com árabe quebrado, emoji ausente e bugs de RTL. UniText cuida de tudo.