Setiap bahasa. Setiap emoji. Setiap gaya. Gred pengeluaran, boleh diperluas, berprestasi tinggi, dibina di atas standard industri.
Unicode 17.0 · HarfBuzz · SDF/MSDF · Variable Fonts · Zero GC
Jika permainan anda mempunyai pemain berbahasa Arab, Ibrani, Hindi, Thai, atau Bengali — TextMeshPro menunjukkan teks rosak kepada mereka. Ini bukan kes terpinggir — mereka adalah suku daripada populasi dunia.

Dibina di atas teknologi yang sama digunakan oleh Chrome, Firefox, Adobe, dan Android.
Setiap skrip di Bumi — diuji dan lulus. 891,757 ujian pematuhan Unicode rasmi, sifar kegagalan. Dari Arab hingga Tibet.
Satu fail fon, variasi tanpa had. Animasikan berat, lebar, condong dengan lancar — secara masa nyata. Satu fon menggantikan seluruh keluarga fon anda.
100 instance UniText + 100 instance TextMeshPro menganimasikan Font Size secara serentak. Mereka disusun pada kedudukan yang sama, jadi kesemua 200 kelihatan seperti satu blok tunggal.
Susun atur teks berjalan merentasi semua teras CPU. 100, 500, 1000 objek teks — prestasi meningkat secara linear.
Keluarga 👨👩👧👦, bendera 🇬🇪, ton kulit 👋🏻👋🏿 — semuanya betul. Menggunakan fon peranti: sifar kesan pada saiz binaan, sentiasa terkini.
Kesan teks kaya melalui tag ringkas. Warna, ketebalan, anjakan dan kelembutan boleh disuaikan — semuanya dipercepat GPU.

Teks dalam ruang 3D melalui MeshRenderer — tiada Canvas diperlukan. Pariti ciri penuh: setiap bahasa, setiap emoji, setiap kesan — dalam ruang dunia.

Tiada penyelesaian teks Unity lain berbuat begini.
Bahasa Cina, Jepun dan Korea diambil terus daripada sistem — tiada fon dalam build, tiada atlas prabakar. Memory-mapped: hanya glif yang digunakan masuk ke RAM.
Thai, Lao, dan skrip Asia Tenggara lain tidak menggunakan ruang antara perkataan. UniText tahu di mana hendak memecah baris — dengan betul, setiap kali.
Setiap ujian Unicode rasmi. Lulus. Tiada pengecualian, tiada asterisk.
Penanda aras sebenar pada binaan pengeluaran Android.
* 100 objek, 10 lelaran, 3 pemanasan, ~2300 aksara setiap objek (Latin + Arab + Ibrani + Bercampur). UniText.UseParallel = false.
Menambah glyph ke atlas tekstur
Pemampatan fon mengekalkan permainan yang dihantar anda kekal kecil
Penyahmampatan sub-milisaat pada masa jalan — pemain tidak akan perasan.
Pangkalan kod bercerita sendiri — UniText adalah enjin teks yang lengkap, bukan sekadar komponen.
Jauh lebih banyak enjin — dan masih lebih pantas dan lebih ringan daripada TMP.
Pustaka asli HarfBuzz dan FreeType dikompilasi untuk setiap platform dan seni bina utama.
Perbandingan ciri secara bersebelahan
| Ciri | 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 menambah pemilihan, pengeditan, IME, papan klip, gelagat input dan penghias — dengan sokongan BiDi asli dan grapheme-cluster.
| Ciri | 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 | |
Berhenti bergelut dengan Arab yang rosak, emoji yang hilang, dan pepijat RTL. UniText mengendalikan semuanya.