모든 언어.
모든 스타일.

Unity UI와 3D를 위한 텍스트·문서 엔진. 폰트 파일 없이 작동. 최고의 성능. 풍부한 편집 기능, 픽셀 폰트, Font Memory Mapping, 문서 가상화 등을 기본 제공. 재사용 가능한 구성 요소로 스타일과 동작을 조합.

UI와 3D · 네이티브 이모지 · 스타일 구성 · 공통 LightSide 렌더링

모두
지원 언어
100%
Unicode 준수
UI + 3D
텍스트 렌더링
✓
이모지 지원
실제 서비스 중

UniText로 만들었습니다

Ryah's Rhythm: Relaxing Games
Matchala Games
1M+
다운로드
4.7 ★
Google Play
리뷰 48.2K개
4.9 ★
App Store
리뷰 1.1K개

“UniText는 텍스트에 필요한 기능을 말 그대로 전부 기본으로 제공합니다. 2일 만에 프로젝트를 마이그레이션했고, 프로젝트에 폰트를 단 하나도 추가하지 않고 11개 언어를 넣었습니다.”

Matchala Games

2026년 9월 Google Play와 App Store에 공개된 스토어 수치입니다.

모든 언어

모든 언어.

아랍어, 히브리어, 인도 문자, CJK와 혼합된 쓰기 방향. 정확한 글자 형태, 줄바꿈과 선택.

아랍어, 히브리어, 인도 문자, CJK와 혼합된 쓰기 방향. 정확한 글자 형태, 줄바꿈과 선택.
العربيةArabic
हिन्दीHindi
বাংলাBengali
עבריתHebrew
ไทยThai
தமிழ்Tamil
기능

UniText 기능

레이블, 입력 필드, 편집기, 문서가 하나의 텍스트 모델을 공유. 사용자 정의 수정자, 파싱 규칙, 입력 동작도 같은 구성 방식을 사용.

Font Memory Mapping

큰 폰트 파일을 필요할 때 디스크에서 읽으며 관리 메모리에 전체 복사본을 유지하지 않음. 사용하지 않는 폰트는 압축 상태 유지.

진정한 픽셀 폰트

선명한 픽셀, 자동 격자 감지, 격자에 맞춘 효과와 애니메이션. 벡터 픽셀 폰트와 비트맵 폰트가 스타일 시스템 공유.

텍스트 편집과 입력

선택, 실행 취소와 다시 실행, IME, 서식 있는 클립보드, 터치 핸들, 네이티브 키보드, 검증, 마스크, 비밀번호. 입력 동작과 필드 데코레이터를 재사용 가능한 구성으로 조합.

서식 있는 문서

목록, 루비, 수식, 인라인 이미지와 프리팹. 큰 문서를 위한 가상화 스크롤.

애니메이션과 상호작용

문자·범위 애니메이션, 표시 효과, 매개변수 타임라인을 텍스트 스타일과 조합. 링크, 스포일러, 사용자 정의 상호작용 요소는 각자의 상호작용 상태를 가짐.

확장과 구성

사용자 정의 수정자, 파싱 규칙, 입력 동작, 데코레이터가 기존 텍스트 모델을 사용. 확장은 기본 기능과 조합되며 동일한 편집기 도구를 재사용.

모든 언어

아랍어, 히브리어, 인도 문자, CJK와 혼합된 쓰기 방향. 정확한 글자 형태, 줄바꿈과 선택.

가변 폰트

굵기, 너비, 기울기를 편집하고 애니메이션으로 조절. 파일 하나에 다양한 글꼴 스타일 포함.

100개의 UniText + 100개의 TextMeshPro 인스턴스가 동시에 Font Size를 애니메이션합니다. 같은 위치에 겹쳐져 있어 200개 모두 하나의 블록처럼 보입니다.

최고의 성능

공유 캐시로 반복 작업 제거. 부분 변경은 해당 내용만 갱신. Burst와 병렬 처리로 큰 작업 부하 분산.

네이티브 이모지

기기 폰트의 가족, 국기, 피부색, 복합 이모지. 별도 텍스처 팩 불필요.

모든 스타일을 구성

채우기, 외곽선, 그림자, 발광, 그라디언트, 텍스처를 편집 가능한 레이어로 구성. 프리셋과 마크업이 같은 스타일 재사용.

3D 텍스트

3D 텍스트

Canvas 없이 렌더링. 언어, 이모지, 스타일, 상호작용, 애니메이션이 UI 텍스트와 같은 엔진 사용.

폰트 파일 없이 작동

폰트 파일을 포함하지 않고 중국어, 일본어, 한국어 표시.

폰트 파일 없이 작동

시스템 폰트 자동 선택. 데스크톱과 모바일에서 자체 폰트는 선택 사항이며 WebGL은 지정한 폰트 사용.

자연스러운 줄바꿈

단어 사이에 공백을 쓰지 않는 태국어, 라오어, 크메르어, 미얀마어의 단어 분할 지원.

준수

Unicode 준수

UAX #9 · UAX #14 · UAX #24 · UAX #29

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
Unicode 17.0
성능

벤치마크 비교

Android 프로덕션 빌드에서의 실제 벤치마크.

속도 비교

오브젝트 생성
UniText
166ms×4.9 더 빠름
TMP
572ms
UI Toolkit
809ms
전체 재빌드
UniText
136ms×5.4 더 빠름
TMP
398ms
UI Toolkit
731ms
레이아웃
UniText
71ms×20.7 더 빠름
TMP
1468ms
UI Toolkit
241ms
메시 재빌드
UniText
60ms×7.1 더 빠름
TMP
424ms
UI Toolkit
143ms

메모리 및 GC

GC 사이클 (생성)
3
UniText
147
TMP
0
UI Toolkit
메모리 할당 (생성)
292 MB
UniText
2249 MB
TMP
×8 더 많음
400 MB
UI Toolkit
×1.4 더 많음
런타임 할당 (작업당)
90 KB
UniText
13.8 MB
TMP
×153 더 많음
39.6 MB
UI Toolkit
×440 더 많음

* 100개 오브젝트, 10회 반복, 3회 워밍업, 오브젝트당 ~2300자 (라틴 + 아랍어 + 히브리어 + 혼합). UniText.UseParallel = false.

글리프 렌더링

텍스처 아틀라스에 글리프 추가

UniText FreeType
4.7–15.2×
더 빠름
Unity FontEngine

더 작은 빌드와 번들

폰트 압축으로 출시 게임 용량을 작게 유지

12 MB
원본 폰트
→
4.4 MB
빌드에 포함

런타임에서 1밀리초 미만의 압축 해제 — 플레이어는 알아채지 못합니다.

LightSide

LightSide 전체의 공통 시스템

LightSide 제품은 런타임과 편집기 전반에서 공통 시스템을 재사용. 각 제품은 같은 기반에 고유한 동작을 추가.

LightSide Core

Core 공통 시스템의 예: 상태와 중첩 속성 접근, 시간과 모션, 포인터 라우팅, 기하 처리, 작업 스레드, 풀, 직렬화, 리소스 관리, GPU 전송, 에디터 컨트롤. 제품 간 공통 구현.

같은 구성 방식

UniText 모디파이어와 UniShapes 레이어가 선택기, 중첩 설정, 프리셋, 속성 편집기 공유.

공통 색상과 그라디언트

텍스트와 도형이 색상, 그라디언트, 텍스처, 필터에 같은 Core 시스템 사용.

하나의 Draw Call로 함께

텍스트, 도형, Lottie가 셰이더, 머티리얼, 배칭 공유. MoveIt이 컴포넌트와 레이어 속성 애니메이션 처리.

크로스 플랫폼

모든 플랫폼 지원

데스크톱, 모바일, WebGL, tvOS, visionOS의 UI 및 3D 텍스트.

Windows
x64ARM64
UWP
x64ARM64
macOS
x64Apple Silicon
Linux
x64ARM64
Android
ARMv7ARM64x86x64
iOS
ARM64
tvOS
ARM64
visionOS
ARM64
WebGL
2.0
Unity 2022.3 LTS+
비교

UniText vs TMP vs UI Toolkit

나란히 놓고 비교하는 기능 비교

기능UniTextTextMesh 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
Font Memory Mapping
On-demand file cache10
Not documented10
Not documented10
Pixel Fonts
Automatic grid + full styles11
Raster setup11
Raster setup11
Automatic Pixel-Grid Detection
Pixel-Aligned Effects & Animation
Shared style system11
Custom work
Custom work
Per-Glyph Metric Overrides
Limited (not under ATG)
Rendering
MSDF Rendering
GPU Glyph Rasterization
3D World-Space Text
Shared world batching8
MeshRenderer8
World-space 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)
Styles & Ecosystem
Visual Modifier & Layer Constructors
Nested layers + presets
Material controls
USS + UI Builder
Shared Paints for Text & Shapes
Colors, gradients, textures, filters
Separate graphics
USS styling
Shared Rendering with Shapes & Lottie
Core shaders + batching8
Separate integrations
Custom integration
Nested Property Animation
MoveIt + shared property system
Custom animation
USS transitions / code
Virtualized Rich Documents
Document viewport
Custom implementation
List virtualization
Support
Direct Developer Support
Discord9
(Unity issue tracker / forums)
(Unity issue tracker / forums)
  1. 1.TMP requires an external implementation for Unicode bidirectional processing and complex-script shaping. A right-to-left flag alone does not provide those algorithms.
  2. 2.UI Toolkit complex scripts use Advanced Text Generator. Unity 6.4 requires it to be enabled; behavior depends on the Unity version and generator selected.
  3. 3.Emoji sequence support depends on the text engine and the selected emoji font. TMP sprite substitution does not provide general Unicode sequence shaping.
  4. 4.TMP emoji data and runtime character-property tables are separate; its displayed version is not a claim of complete Unicode conformance.
  5. 5.UI Toolkit text-generation parallelization is available in Unity 6.5.
  6. 6.UniText extrusion is a layered visual effect with offset quads and bevel shading. It does not create a solid 3D text mesh.
  7. 7.TMP justification distributes spacing using its word/character ratio. UniText also supports script-aware distribution and configurable final-line alignment.
  8. 8.Core batches compatible text, shapes and Lottie. Materials, textures, masks, sorting and geometry capacity can split draw calls. TMP world text uses MeshRenderer and remains subject to Unity renderer batching rules.
  9. 9.Discord is the main LightSide channel for questions, bug reports, help and discussion.
  10. 10.UniText maps file-backed fonts and player font payloads without retaining a full managed copy. WebGL and embedded Editor assets use in-memory data. TMP and TextCore documentation do not specify an equivalent package-managed mapped-payload cache; their internal native storage is not classified here.
  11. 11.UniText detects or accepts a native pixel grid, samples one texel per font pixel and snaps effects and animation to that grid. Integer font-size multiples are pixel-exact. TMP and TextCore document raster font modes that require font-asset configuration; they are not marked as lacking pixel-font rendering.
UniText Folio

인터랙티브 및 편집 가능한 텍스트

UniText Folio는 선택, 편집, IME, 클립보드, 입력 동작 및 데코레이터를 추가합니다 — 네이티브 BiDi 및 자소 클러스터 지원 포함.

기능UniTextTMP 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
Accessibility Semantics & Adapter Hooks
Limited (manual)
Pluggable / Non-Blinking Caret
Limited
Basic
Extensibility
Skinnable Selection Highlight
Limited
Basic
Rich Pointer-Event Model
Basic
Limited
  1. 1.TMP editing requires an external implementation for Unicode bidirectional processing and complex-script shaping.
  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.

UniText

Unity UI와 3D를 위한 텍스트·문서 엔진. 폰트 파일 없이 작동. 최고의 성능. 풍부한 편집 기능, 픽셀 폰트, Font Memory Mapping, 문서 가상화 등을 기본 제공. 재사용 가능한 구성 요소로 스타일과 동작을 조합.

지원 및 토론: [email protected]