UniText Folio — Every language. Any style. No fonts required. Top performance.
UniText supplies a common text model for labels, input fields, rich editors and virtualized documents in Canvas UI and world space. Capabilities include native emoji, variable and pixel fonts, Font Memory Mapping, rich editing, layered styles and text animation. Modifier, parser, input and decoration extensions compose through the same pipeline. Shared LightSide systems provide reusable infrastructure for authoring and runtime work.
UniText belongs to the wider LightSide ecosystem. Common implementations include paints, gradients, textures, filters, state, clocks, input, geometry, GPU infrastructure and editor tools. Text, shapes and Lottie use shared shaders, materials and batching. MoveIt animates exposed component and nested layer properties.
Also available on the Unity Asset Store.
Open-source Unicode text engine for Unity
Built on HarfBuzz — the same shaping engine behind Chrome, Firefox, Adobe InDesign, and Android.
891,757 Unicode conformance tests passed. Zero failures.
| Feature | Description | |
|---|---|---|
| 🌐 | Every language | Arabic, Hebrew, Hindi, Thai, CJK, and every other Unicode script. One component, automatic font fallback |
| 🔄 | Full BiDi | Mixed LTR/RTL with numbers and punctuation renders correctly (UAX #9) |
| 😀 | Native Color Emoji | ZWJ sequences, skin tones, flags via system fonts. Zero extra build size |
| 🏷️ | Extensible Markup | 15+ built-in modifiers, custom parse rules, shared configurations |
| 👆 | Interactive Text | Clickable/hoverable regions with typed events and highlight system |
- Open Window > Package Manager
- Click + > Add package from git URL...
- Enter:
https://github.com/LightSideMeowshop/unitext.git#1.0.0
- Select any GameObject with RectTransform
- Add Component > UniText
- Type text — it works. Any language, any direction.
var uniText = gameObject.AddComponent<UniText>();
uniText.FontStack = myFontStack;
uniText.Appearance = myAppearance;
uniText.Text = "Hello, World!";
uniText.Text = "مرحبا بالعالم"; // Arabic
uniText.Text = "Mixed: Hello עולם World"; // BiDi
uniText.Text = "👨👩👧👦🇯🇵"; // Emoji| Platform | Architectures |
|---|---|
| Windows | x86, x64, ARM64 |
| macOS | x64, Apple Silicon |
| Linux | x64 |
| Android | ARMv7, ARM64, x86, x64 |
| iOS | ARM64 |
| WebGL | 2.0 |
UniText 1.0 is free and open-source under the License.
Tip
Discord is the primary channel for questions, bug reports, help and discussion across LightSide. Email: unity@lightside.media.
Third-Party Software
UniText includes the following open-source libraries in its native plugin. See Third-Party Notices.txt for full license texts.
| Library | License |
|---|---|
| HarfBuzz | Old MIT License |
| FreeType | FreeType License |
| Blend2D | Zlib License |
| Zstandard | BSD-3-Clause |
| zlib | Zlib License |
| libpng | PNG Reference Library License |
Default fonts (Noto Sans, Noto Sans Arabic, Noto Sans Hebrew) — SIL Open Font License v1.1. Thai word segmentation dictionary — derived from ICU, Unicode License V3.

