API Reference
Complete documentation for all public types in UniText 2.2.5.
Core
Main components and entry points
UniText
classCanvas text rendering component with full Unicode support. Uses CanvasRenderer for rendering within Unity UI Canvas.
TextProcessor
classProcesses Unicode text through script analysis, BiDi reordering, shaping, and layout.
TextLayout
classPositions glyphs within the layout bounds based on line breaking results and alignment settings.
UniTextBuffers
classContainer for all intermediate and final buffers used during text processing.
UniTextMeshGenerator
classConverts positioned glyphs into Unity mesh data for text rendering.
UniTextSettings
classGlobal settings ScriptableObject for UniText configuration.
Fonts
Font management and rendering
UniTextFont
classFont asset containing glyph data, metrics, and texture atlases for text rendering.
UniTextFontProvider
classManages font assets and provides font lookup services for text rendering.
FaceInfo
structFont face metrics from OpenType/TrueType tables. All metric values are in font design units unless noted otherwise.
FontFamily
structA font family: a primary font plus optional variant faces (Bold, Italic, Variable, etc.).
Glyph
structA glyph: visual representation of a character in a font atlas.
GlyphAtlas
classModifiers
Markup modifiers and effects
BaseModifier
classBase class for all text modifiers that alter text appearance or behavior.
ParsedRange
structRepresents a parsed text range with associated tag information.
Style
classSerializable container that links a modifier with its parse rule. Tracks registration state and ownership to prevent bugs.
InlineObject
classDefines an inline object (UI prefab) that can be embedded within text flow.
AssetGradientProvider
class[[IGradientProvider]] backed by an explicit [[UniTextGradients]] asset referenced on the modifier. Use this when a single component should resolve gradients from a different catalog than the project-wide one.
AssetObjProvider
class[[IObjProvider]] backed by an explicit [[UniTextObjects]] asset referenced on the modifier. Use this when multiple components should share the same inline-object catalog managed as a project asset.
Parse Rules
Custom parsing rules
IParseRule
interfaceInterface for custom text parsing rules that identify modifier application ranges.
TagParseRule
classBase class for parsing XML-style markup tags (e.g., <b>, <color=#FF0000>).
CompositeParseRule
classCombines multiple parse rules into a single rule.
StringParseRule
classMatches literal string patterns and optionally replaces them.
BackslashEscapeRule
classEscapes a single ASCII punctuation character preceded by \. Example: \* becomes a literal * and is protected from any other parse rule.
CodeSpanRule
classProtects content inside backtick-delimited code spans (e.g. `x`, ``x``, ```x```) from being processed by other parse rules. Follows CommonMark §6.1 balanced-run semantics: an N-backtick run is closed by the next N-backtick run of the same length.
Emoji
Emoji support and rendering
Unicode
Unicode algorithms and text processing
UnicodeData
classProvides access to Unicode character properties and the global data provider.
GeneralCategory
enumUnicode General Category property values.
IWordSegmenter
interfaceInterface for script-specific word segmenters that inject break opportunities into SA-class (Complex Context Dependent) text runs.
LineBreakType
enumSpecifies the type of line break opportunity according to UAX #14.
LineRangeEntry
structA contiguous run of positioned glyphs within a single line whose clusters fall inside a queried range. Bounds are in local mesh coordinates (relative to the text origin), with X clamped to the line's visible content extent (trailing whitespace excluded per CSS Text §4.1.3 via [[width]]).
TextDirection
enumSpecifies the base text direction for bidirectional text processing.
Shaping
Text shaping and layout
Shaper
classText shaper that converts codepoints to positioned glyphs via HarfBuzz. Performs full OpenType shaping (GSUB/GPOS) including kerning, ligatures and mark positioning.
ShapedGlyph
structRepresents a shaped glyph with positioning information from the shaping engine.
ShapedRun
structRepresents a text run after shaping, with glyph information and metrics.
ShapingResult
structResult of a shaping operation containing glyphs and metrics.
Editor
Unity Editor integration and tools
DefaultParameterAttribute
classMarks a string field as a default parameter for a parse rule. Draws a toggle + rich parameter fields based on the paired modifier's ParameterFieldAttribute.
EscapeTextAreaAttribute
classHideFromTypeSelectorAttribute
classHides a type from the TypeSelector dropdown while keeping it deserializable.
ParameterFieldAttribute
classTypeDescriptionAttribute
classTypeGroupAttribute
classUtilities
Utility classes and helpers
AssetNamedCatalog<TEntry, TAsset>
classSerializable base for [[INamedCatalog{TEntry}]] implementations that delegate resolution to an explicit ScriptableObject asset reference — useful when multiple components should share the same catalog managed as a project asset.
INamedCatalog<TEntry>
interfaceResolves named entries by case-insensitive name. Used by every "named catalog" feature in UniText (gradients, inline sprites, inline-object prefabs) so the same set of providers — inline list, shared asset, custom code — composes across all of them.
IndexEx
classExtension methods for parsing [[Index]] from string representation.
InlineNamedCatalog<TEntry>
classSerializable base for [[INamedCatalog{TEntry}]] implementations that keep their entries inline on the owning modifier — edited in the inspector or mutated at runtime via [[SetEntries]], [[Add]], [[Remove]].
NamedCatalogAsset<TEntry>
classAbstract ScriptableObject base for named-entry catalogs. Subclasses give the catalog a concrete entry type, a CreateAssetMenu path, and (optionally) a payload validity filter for editor enumeration.
PooledArrayAttribute<T>
classA pooled array-based implementation of [[IAttributeData]].
