Design Persistent 2D Text
Appearance and Writing add professional title-design and lettering tools without turning text styling into effect markup. They compile once into renderer-neutral plans, publish precise bounds and cost diagnostics, and stay independent from Typewriter cadence and Composed Effect invocation.
Build an Appearance
Choose Inline, Catalog, or Custom in the Appearance tab. An empty Inline stack preserves native appearance. Catalog follows the style chosen through Browse; Custom assigns a Style Asset directly. Switching source preserves each source's settings and selection. The top row paints in front of the rows below it. Stable layer identities preserve masks, parents, selections, and references when you reorder the stack.
Duplicate creates a separate Custom asset. Make Inline copies a linked style into local editable layers. Save creates a reusable Custom asset; Save & Register also adds it to Catalog. Editing a linked Style Asset updates every text that uses it.
- Paint: solid colors, linear, radial, and conic gradients, textures, repeating patterns, and filtered procedural noise. Mapping can follow a glyph, word, line, logical match, the entire text, or another supported coordinate space.
- Structure: fill, inside or outside strokes with round, miter, or bevel joins, contour dashes, inner or outer shadow, glow, adaptive faux depth, patterned typography lines, connected highlights, backgrounds, and borders.
- Surface: bevel plus calibrated metal, foil, chrome, ice, glass, gel, enamel, neon, embossed, debossed, holographic, and related material responses.
- Editorial: halftone, grain, duotone, distress, ink bleed, letterpress, stencil, sticker plate, CMYK offset, RGB separation, prismatic edge, and engraved line.
- Animated title treatments: sweep, shimmer, liquid fill, burning or electric edges, glitch and heat distortion, liquid warp, dissolve, trails, smear, and progressive focus.
Use selectors, groups, masks, and professional blend modes only when the design needs them. A restrained two- or three-layer style usually reads better, batches more broadly, and is easier to adapt than a stack built only to show every feature.
Select Text and Share Paints
A selector chooses which logical text units receive a layer. Tag regions and explicit ranges retain their match identity when text wraps. Range mapping can restart a paint for Each Match or span the Entire Selection. Repeated regions can therefore share one look while keeping independent gradient frames. Text Studio respects the shaping clusters published by the selected backend.
Open Apply Where and choose Selection = Range to target an exclusive-end range such as 0..5 or ^5..^0. Advanced exposes expandable Conditions. Match chooses All Conditions or Any Condition, Kind chooses the predicate, and Invert excludes it. Make Independent copies a shared condition before local editing.
Mapping controls coordinates separately from selection. Text spans the complete text across wrapping, Line restarts per line, and Glyph restarts per glyph. Local Graphic and Animated layers also support Range and other shared mapping spaces. Neighborhood filters expose Glyph and Text.
A Paint asset shares a color, gradient, texture, or pattern across layers and Appearance assets. Assign the same paint to keep related elements consistent. Override only the mapping, tint, transform, or other exposed groups that need a local difference. Make Local creates an independent value; Reset Overrides returns to the shared settings. Editing a shared paint updates its consumers without requiring an unrelated text-layout rebuild.
Style Selected Words with Appearance Tags
Register a reusable Appearance asset in the Text Studio Project Settings appearance catalog and give it a stable ID such as warning. Wrap the passage with <$warning>Low health</$warning> or <style ref="warning">Low health</style>. Repeated uses share the style while retaining independent text ranges, so selection and gradient mapping follow the words when content changes or wraps.
Replace is the default: the invoked style takes over inside its range, and closing the tag restores the enclosing Appearance. Set mode=overlay to add the complete style above the enclosing look. Tags can nest. Tint and opacity adjust one invocation; for example, <$warning mode=overlay tint=#ffcc66 opacity=0.8>Low health</$warning>. Use an explicitly exposed parameter when one named layer setting should vary.
For a small local treatment, use <style fill=#ffcc66 outline=#332211 outlineWidth=0.04>Notice</style>. Outline widths, shadow offsets, shadow blur, and glow radius use em units. Use a reusable asset for a design that appears in several places. Native TMP <style="Title"> continues to use the TMP style sheet.
A Tagged Group can define a style within the selected Appearance or refer to a reusable asset. The nearest local definition takes precedence over inherited definitions and the project catalog. Apply Where narrows an already active style; it does not invoke one. A missing or invalid style leaves the enclosing result visible and reports a diagnostic. These are 2D Appearance tags; complete Text Studio 3D styles remain owned by the 3D host.
Add Lines and Connected Highlights
Underline, overline, and strikethrough support solid, double, dotted, dashed, and wavy patterns. Use font metrics for conventional typography, em units for sizing with the text, or pixels for an output-sized line. A zero thickness removes the line. Pattern phase can restart for each match or line. Skip Ink excludes glyph ink from the line when the chosen mode and available source support it.
Use Connected Range topology for a highlight that follows a selected passage across wrapping. Its surface owns an ordered set of paintable treatments, such as fill, border, shadow, and glow. Keep connectivity, paint mapping, and layer selection separate: joining the highlight does not have to restart its gradient. Groups can scope painter order; diagnostics identify incompatible overlapping scopes.
Prepare Fonts and Inline Images
Exact contour joins, contour dashes, and high-detail field treatments need prepared font data. Open Tools > Text Studio > Runtime Preparation. Overview checks open scenes and build content and offers one Prepare action. Keep Prepare automatically before each build enabled for normal use. Details explains each kind of prepared data and links text objects to their saved assets.
Prepared data lists saved font and image companions and add-on libraries with their validity, size, and build references. Settings contains Update after edits, Check = Whole project or Open scenes only, font-outline Permission, Characters shown at runtime, Phrases and special characters, and One text object expert controls. Allow saving font outlines only when the font license permits embedding; Use existing data only reuses valid saved data and reports missing sources.
Prepare the characters and languages that the product will display. Characters shown at runtime adds sets such as digits, Latin, and punctuation; Phrases and special characters covers future names, dialogue, server messages, and representative languages. A dynamic font cannot infer future content. Existing prepared coverage from the same source is preserved when updating it. More detail and wider distance reach increase preparation cost and memory. Preparation can be canceled without publishing a partial font.
Whole project includes unsaved open scenes, enabled build scenes, Resources, and preloaded assets with their dependencies. Addressables and other custom content must prepare through their own content build. An asset absent from build references may still be used by custom loading and is never automatically deleted.
Native inline sprites keep their original RGB and alpha. Fill can preserve those colors, tint them, or use a painted silhouette; applicable outline, shadow, and glow layers use the silhouette independently. Runtime Preparation saves silhouette companions for static artwork; Prepared data lets you inspect them. Changed runtime images use bounded asynchronous preparation. Native color can remain visible while a new silhouette is pending. Prepare a static companion again after changing its artwork.
Adjust Contributions and Composited Images
Color Adjustment affects selected lower contributions while preserving their individual blend operations. Composite Adjustment processes the accumulated image at that point in the stack. Use the latter when the result must depend on the already combined image. Named controls include saturation, hue, exposure, brightness, contrast, tint, grayscale, sepia, and invert. Their order, alpha behavior, and clamp settings can change the result.
A shared background may cover selected and unselected text. Choose whether an adjustment affects the whole intersecting surface or excludes a partially selected surface. Test the result after wrapping and during reveal. Layer opacity, source alpha, Writing, and adjustment strength remain distinct controls.
Choose Quality and Check Costs
Automatic field quality chooses from available prepared tiers for the displayed size and required effect reach. Native uses the native source, while an explicitly requested quality requires suitable prepared data. Increasing field detail does not repair missing glyph coverage. Exact pixel contours use one output view, or views with matching scale and perspective; incompatible views are diagnosed.
Share Appearance and Paint assets across repeated labels. Keep static image and font preparation outside gameplay where practical. Larger blur areas, isolated groups, history, and overlapping old/new resources can dominate memory even when the layer count is small. Appearance budget diagnostics describe admitted resource payloads; they are not a whole-process memory measurement. Profile the target player with representative text, output sizes, masks, and animation.
Try the Production Examples
Live Game HUD demonstrates colored inline icons and live text replacement. Subtitles and Accessibility combines shared paints, connected emphasis, English, French, and German cues, and player-controlled size and layout. Whisperwood Canvas uses a layered gold title and prepared capital-letter font. Their shared Appearance resources are editable base-package assets. Extend the prepared title font before using another alphabet.
Add Writing
Writing has explicit semantic levels. Ink Reveal uses signed-distance glyph coverage and does not claim pen order. Outline Trace follows prepared contours but is not handwriting. True Handwriting requires authored centerlines with stroke order, pressure, time, and pen lifts. If exact phrase or glyph data is unavailable, Text Studio follows a diagnosed phrase-to-glyph-to-outline-to-coverage fallback ladder instead of pretending the result is handwritten.
Direct Writing on a text object is the simplest whole-object workflow and supports manual progress. A Writing layer inside a Composed Effect uses the same compiler, prepared paths, scheduler, retained geometry, bounds, and progress transport, but gains the composition's range, phase, curve, sequence, filter, and spatial controls.
Understand the Execution Route
- Fused Field keeps compatible local layers and glyph-coverage Writing in the shared text draw. Compatible texts share table-driven materials instead of receiving per-style material instances.
- Retained Geometry adds bounded shared-material geometry only for exact decorations, long faux depth, dashed edges, or authored Writing paths that cannot be represented by the source field.
- Hero Compositor is reserved for masks, destination-dependent blends, neighborhood filters, blur, history, or explicitly authored hero treatment. It uses bounded pooled surfaces and sleeps when a static result can be reused.
Browse and Apply Premium Designs
Open Tools > Text Studio > Text Gallery and choose Visual Designs. Each production-rendered card identifies its owning workflow, supported renderer, draw or pass class, resource needs, and reduced-motion behavior. With a Text Studio object selected, Apply changes only the named workflow; Create New builds a separate editable object. A complete Design assigns its Appearance, Writing, and Behavior Profile references once while preserving source, tags, Tag Stack, placement, renderer selection, and local values.