El primer & único
motor de texto para Unity

Todos los idiomas. Todos los emoji. Todos los estilos. Calidad de producción, extensible, de alto rendimiento, construido sobre estándares de la industria.

Unicode 17.0 · HarfBuzz · SDF/MSDF · Variable Fonts · Zero GC

150+
Idiomas soportados
100%
Conformidad Unicode
UI + 3D
Renderizado de texto
Soporte de emoji
El problema

1.800 millones de usuarios olvidados

Si tu juego tiene jugadores que hablan árabe, hebreo, hindi, tailandés o bengalí — TextMeshPro les muestra texto roto. No son casos marginales — representan una cuarta parte de la población mundial.

Si tu juego tiene jugadores que hablan árabe, hebreo, hindi, tailandés o bengalí — TextMeshPro les muestra texto roto. No son casos marginales — representan una cuarta parte de la población mundial.
1.8B+
Usuarios cuyos idiomas TextMeshPro no puede mostrar correctamente
العربية400M
हिन्दी600M
বাংলা230M
עברית9M
ไทย60M
தமிழ்80M
Características

Todo lo que necesitas

Construido sobre las mismas tecnologías que usan Chrome, Firefox, Adobe y Android.

Todos los sistemas de escritura

Todos los scripts del mundo — probados y aprobados. 891.757 pruebas oficiales de conformidad Unicode, cero fallos. Del árabe al tibetano.

Fuentes variables

Un archivo de fuente, variaciones infinitas. Anima suavemente peso, ancho, inclinación — en tiempo real. Una fuente reemplaza toda tu familia tipográfica.

100 instancias de UniText + 100 de TextMeshPro animando Font Size simultáneamente. Están apiladas en la misma posición, así que las 200 parecen un único bloque.

Procesamiento multi-core

El layout de texto se ejecuta en todos los núcleos de la CPU. 100, 500, 1000 objetos de texto — el rendimiento escala linealmente.

Emoji a todo color

Familias 👨‍👩‍👧‍👦, banderas 🇬🇪, tonos de piel 👋🏻👋🏿 — todo correcto. Usa fuentes del dispositivo: impacto cero en el tamaño del build, siempre actualizadas.

Contorno y sombra

Efectos de texto enriquecido mediante etiquetas simples. Color, grosor, desplazamiento y suavidad personalizables — todo acelerado por GPU.

Texto 3D en el mundo

Texto 3D en el mundo

Texto en espacio 3D mediante MeshRenderer — sin Canvas. Paridad total de funciones: todos los idiomas, todos los emoji, todos los efectos — en espacio mundo.

CJK sin archivos de fuente

Ninguna otra solución de texto para Unity lo hace así.

CJK sin archivos de fuente

El chino, el japonés y el coreano vienen directamente del sistema: sin fuentes en la compilación ni atlas precocinado. Memory-mapped: solo los glifos que usas llegan a la RAM.

Separación inteligente de palabras

El tailandés, lao y otros scripts del sudeste asiático no usan espacios entre palabras. UniText sabe dónde cortar las líneas — correctamente, siempre.

Conformidad

100% de conformidad Unicode

Todas las pruebas oficiales de Unicode. Aprobadas. Sin excepciones, sin asteriscos.

UAX #9
BiDi Algorithm
861,948
100% PASS
UAX #14
Line Breaking
19,338
100% PASS
UAX #24
Script Detection
9,705
100% PASS
UAX #29
Grapheme Clusters
766
100% PASS
Unicode 17.0.0
Último estándar Unicode (2024) — siempre actualizado
Rendimiento

Comparativa de benchmarks

Benchmarks reales en build de producción de Android.

Comparativa de velocidad

Creación de objetos
UniText
166ms×4.9 más rápido
TMP
572ms
UI Toolkit
809ms
Reconstrucción completa
UniText
136ms×5.4 más rápido
TMP
398ms
UI Toolkit
731ms
Layout
UniText
71ms×20.7 más rápido
TMP
1468ms
UI Toolkit
241ms
Reconstrucción de malla
UniText
60ms×7.1 más rápido
TMP
424ms
UI Toolkit
143ms

Memoria y GC

Ciclos de GC (creación)
3
UniText
147
TMP
0
UI Toolkit
Asignación de memoria (creación)
292 MB
UniText
2249 MB
TMP
×8 más
400 MB
UI Toolkit
×1.4 más
Asignaciones en runtime (por operación)
90 KB
UniText
13.8 MB
TMP
×153 más
39.6 MB
UI Toolkit
×440 más

* 100 objetos, 10 iteraciones, 3 de calentamiento, ~2300 caracteres por objeto (latín + árabe + hebreo + mixto). UniText.UseParallel = false.

Renderizado de glifos

Añadiendo glifos al atlas de texturas

UniText FreeType
4.7–15.2×
más rápido
Unity FontEngine

Builds y bundles más pequeños

La compresión de fuentes mantiene tu juego final compacto

12 MB
Fuente original
4.4 MB
En tu build

Descompresión sub-milisegundo en runtime — los jugadores no lo notarán.

Escala

Diseñado a una escala diferente

El código lo dice todo — UniText es un motor de texto completo, no un componente.

765
UniText · Archivos fuente
151.759 Líneas de código
116
TMP · Archivos fuente
41.892 Líneas de código
6.6× más · Archivos fuente3.6× más · Líneas de código

Mucho más motor — y aun así más rápido y ligero que TMP.

Multiplataforma

Todas las plataformas soportadas

Bibliotecas nativas HarfBuzz y FreeType compiladas para cada plataforma y arquitectura principal.

Windows
x86x64ARM64
macOS
x64Apple Silicon
Linux
x64
Android
ARMv7ARM64x86x64
iOS
ARM64
WebGL
2.0
Unity 2022.3 LTS+
Comparación

UniText vs TMP vs UI Toolkit

Comparación de características lado a lado

CaracterísticaUniTextTextMesh ProUI 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)
  1. 1.TMP has no native BiDi/Arabic/Hebrew. The usual plugin (RTL Text Mesh Pro) is a workaround, not real RTL: no proper Unicode Bidirectional Algorithm (UAX #9) — a heuristic glyph "fixer" whose own docs note mixed English/RTL multiline text breaks — and Arabic-script shaping via a fixed presentation-form table only (no OpenType shaping, no other complex scripts).
  2. 2.UI Toolkit: requires the Advanced Text Generator (HarfBuzz/ICU) — opt-in in Unity 6.4, default from 6.5. Without ATG there is no shaping/BiDi/ICU.
  3. 3.TMP does not compose ZWJ/skin-tone/flag sequences at all; UI Toolkit attempts them but Unity itself flags emoji with flags and skin tones as "problematic".
  4. 4.TMP has no bundled UCD table: emoji data tracks Unicode 14.0, character properties come from the .NET runtime.
  5. 5.UI Toolkit text-generation parallelization ships in Unity 6.5.
  6. 6.No engine builds true extruded 3D geometry. UniText stacks offset quad copies (2.5D, z=0) with a near→far gradient and a bevel mode; TMP uses a faux bevel via normal-map shading.
  7. 7.TMP fixed-ratio distribution (wordWrappingRatios 0.4) forces ~40% of the slack into inter-letter spacing on every script (not script-aware), hardcodes last-line alignment (no text-align-last), and tolerates 5% box overflow.
  8. 8.UniText merges all UniTextWorld components sharing a material and sorting into one mesh → typically a single draw call per group (extra meshes only past the ~64k-vertex limit). World-space TextMeshPro renders each object as its own MeshRenderer with no cross-object batching, so draw calls grow linearly with the number of text objects.
  9. 9.UniText direct developer support: responses within 10 minutes, bug fixes from 1 hour to 1 day, feature implementation from 3 hours to 3 days. TMP and UI Toolkit only have Unity’s official issue tracker and community forums, with no guaranteed response or fix times.
UniText Folio

Texto interactivo y editable

UniText Folio añade selección, edición, IME, portapapeles, comportamientos de entrada y decoradores — con soporte nativo de BiDi y clústeres de grafemas.

CaracterísticaUniTextTMP InputFieldUI 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
  1. 1.TMP has no native BiDi/Arabic. RTL editing needs a third-party plugin (RTL Text Mesh Pro) — a heuristic glyph "fixer", not real RTL: no proper Unicode Bidirectional Algorithm (UAX #9), only fixed Arabic-script presentation forms (no OpenType shaping), with known mixed-direction multiline issues.
  2. 2.UI Toolkit RTL/complex-script editing requires the Advanced Text Generator (opt-in in Unity 6.4, default from 6.5).
  3. 3.UI Toolkit’s runtime TextField has no undo/redo (the handler’s UndoRedoPerformed is an unimplemented TODO); editor IMGUI fields are a separate path.
  4. 4.TMP’s "Allow Rich Text Editing" edits the raw markup string (tags preserved) — there is no command to toggle bold/italic/color over a selection.
  5. 5.Both TMP and UI Toolkit copy/paste plain text only via Unity’s systemCopyBuffer — no HTML/Markdown/RTF or images.
  6. 6.UI Toolkit’s cut/copy/paste context menu is wired only in the Editor (EditorContextualMenuManager); a built player has no built-in text context menu.

¿Listo para soportar todos los idiomas?

Deja de luchar con árabe roto, emoji faltantes y errores RTL. UniText lo maneja todo.

¿Preguntas?: [email protected]