Troubleshooting and Reference
Nothing appears
Read Setup Status first. Confirm the base Text Studio component exists, the active text backend has a font with usable TTF or OTF outlines, at least one layer is enabled, the front face is closed when a visible cap is expected, and the current render pipeline has valid materials.
Geometry looks wrong
Use Live Preview diagnostics for material regions, normals, contour direction, bounds, wireframe, and sockets. Temporarily disable depth sweep, deformers, contour programs, and decorations until the responsible stage is clear.
Animation is expensive
Begin with the Realtime or Massive Text profile. Prefer combined or chunked output. Lower rebuild-heavy Contour Bloom and Bevel Pulse frequency before reducing ordinary transform effects. Use Runtime Statistics only while diagnosing.
Asset and window reference
Customer-facing assets include 3D Themes, Project Theme Settings, Control Themes, 3D Styles, Prepared Fonts, Bevel Profiles, extrusion paths, contour assets, generated contours, contour programs, tube profiles, Material Sets, spatial placements, interactions, layout modules, deformers, spawners, and module inputs. Customer-facing windows include the 3D Gallery, Style Browser, Style Compare, Material Set Browser, Live Preview, Glossary, and Font Baker.
Support
Include the Unity version, render pipeline, Text Studio and Text Studio 3D versions, active backend and font, style or layer asset, performance profile, a screenshot of Setup Status, and a minimal scene when requesting support.
Essential scripting API
TextStudio3DText is the primary runtime facade. Use property setters for normal configuration, ApplyPreset or ApplyPerformanceProfile for a starting point, RebuildGeometry after in-place asset edits, and ScheduleGeometryBuild when several topology edits should coalesce. Unity object and mesh operations are main-thread work.
using TextStudio.ThreeD;
void ConfigureSign(TextStudio3DText sign)
{
sign.ApplyPreset(BuiltInExtrudeStyles.Preset.Bevelled);
sign.ApplyPerformanceProfile(TextStudio3DPerformanceProfile.Realtime);
sign.AutomaticLOD = true;
sign.RebuildGeometry();
}
Prewarm and pool
PrewarmGlyphs warms reusable geometry without changing the visible mesh and reports whether the current configuration is renderer-specific. TextStudioEmitter owns complete temporary 3D hosts, prewarms registered presets, and returns each host only after its normal Hide lifecycle. Use TextStudio3DControlPool only for repeating interactive control prefabs.
emitter.Prewarm();
TextStudioEmissionHandle hit =
emitter.EmitValue(damagePreset, amount, target);
// Optional runtime update or manual dismissal:
hit.SetValue(updatedAmount);
hit.Dismiss();
Runtime overrides and topology
Visibility, tint, compatible material changes, and supported visual channels can update without rebuilding topology. Changes to text, outline source, contours, bevels, body, sweep, decorations, grouped geometry, or topology modules require a build. ScheduleGeometryBuild returns one coalesced request whose state can be queried or canceled before dispatch.
Glyph handles, ranges, raycasts, and materials
TryGetGlyphHandle resolves by visible Text Studio glyph identity and optionally authored layer. A handle becomes stale after topology changes. Use current handles or TextStudio3DGlyphRange for tint, material, force, and interaction commands. EnsureMeshCollider after topology changes before RaycastGlyph.
renderer.EnsureMeshCollider();
if (renderer.RaycastGlyph(ray, 50f, out TextStudio3DGlyphHandle handle,
out MaterialRegion region, out RaycastHit hit))
{
renderer.SetGlyphColorTint(handle, new Color32(255, 180, 40, 255));
}
SetGlyphMaterial works on Per Letter and Physical outputs because those modes own independent renderers. Region-targeted overloads can address Front Face, bevels, sides, back, trim, or Decorations. For Combined output use color tint or material-channel effects unless the complete mesh material assignment is being changed.
Interactions, forces, and sockets
ApplyInteractionPreset and ResetInteraction drive the same retained state used by the no-code controller. Force commands act on current glyph identity and should be reset or contained according to the gameplay lifecycle. Named sockets provide stable attachment points without exposing generated hierarchy details.
Authoring assets and extension points
Supported authoring contracts include Font3D, Extrude3DStyle, TextStudio3DLayer and its nine specifications, BevelProfile, contour assets and programs, tube profiles, Material Sets, extrusion path assets, module interfaces, style compilation, and explicit geometry validation. Internal generators, caches, renderer bookkeeping, pooled chunks, and the embedded polygon library are not customer APIs.
Inspector and asset reference
- TextStudio3DText inspector: Setup Status, Style, Geometry Layers, Materials, Output, Quality, Interaction, Geometry Modules, Runtime Statistics, Actions, and Frozen Snapshot.
- 3D Style and Layer inspector: nine specifications, layer ordering, selection, scope, Stack or Overlay, and validation.
- Bevel Profile: profile graph, anchors, tangents, samples, snapping, mirroring, and scene handles.
- Contour Asset, Generated Contour, and Contour Program: reusable shapes and ordered boolean composition.
- Contour Tube Profile and Contour Repeats: continuous and discrete contour decorations.
- Material Set and mapping: nine semantic regions and coordinate projection.
- Spatial Placement and Extrusion Path assets: glyph arrangement versus front-to-back sweep.
- Prepared Font and Font Baker: runtime outline coverage and multilingual preparation.
- Interaction, controls, layouts, navigation, pools, deformers, spawners, and module inputs: reusable production systems.
- Gallery, Style Browser, Style Compare, Material Set Browser, Live Preview, Glossary, Font Baker, and validation samples: customer authoring windows and references.
Inspector coverage, part 1 of 5
Inspector or surface | Controls and ownership | Primary manual coverage |
|---|---|---|
TextStudio3DText main inspector | Setup, style, layers, materials, output, quality, interaction, modules, statistics, actions, and freeze. | First 3D result; geometry model; animation; output |
Extrude3DStyle | Shared layer stack, local detachment, order, Stack or Overlay, selection, Solo, and reset. | Geometry model; Build a Style Layer by Layer |
TextStudio3DMaterialSet | Assignments for the nine semantic regions without changing geometry or mapping. | Design Materials and Surfaces |
BevelProfile | Profile graph, anchors, tangents, samples, smoothing, snapping, mirroring, and handles. | Bevel Profiles and Bevel Profile Assets |
QuadraticBezierExtrusionPathAsset | Start, control, end, sampling, banking, roll, taper, and closed state. | Placement Versus Extrusion Sweep |
SplineExtrusionPathProvider | Container, curve index, seed up, banking, roll, scale, samples, refresh, and snapshot. | Unity Splines Extrusion; 3D Integrations |
TextStudio3DContourAsset | Validated custom vector loops and contour identity. | Choose a Contour Source; SVG Import |
TextStudio3DGeneratedContourAsset | Rounded rectangle, pill, plate, shield, badge, banner, and frame generation. | Generated Contours |
TextStudio3DContourProgram | Input source plus ordered union, subtraction, intersection, and clipping operations. | Build a Contour Program |
TextStudio3DContourTubeProfile | Reusable validated closed section for contour tubes. | Contour Tubes |
Inspector coverage, part 2 of 5
Inspector or surface | Controls and ownership | Primary manual coverage |
|---|---|---|
TextStudio3DSpatialPlacement | Helix, cylinder, sphere band, tunnel, staircase, spatial grid, orientation, and presets. | Arrange Text in Space |
TextStudio3DInteractionController | Hover, repel, magnet, ripple, blast, gravity, target, strength, radius, reset, and motion policy. | Animate 3D Text and Add Interaction |
Font3D | Prepared outline coverage, source ownership, fallback, and optional embedded data. | Prepare Fonts and Languages |
Font Baker | Source, target, character set, fallback, spacing, kerning, mesh quality, and validation. | Font Baker Workflow |
LayoutElementModule | Post-layout transform without rewriting source or placement. | Build Advanced Reusable Modules |
DeformerModule | Ordered deformation stack, semantic space, bounds, falloff, and stable preview. | Deformer Stacks; Module Mental Model |
SpawnModule | One prefab per rendered glyph, sockets, delay, lifetime, limits, and retained instances. | Glyph Prefab Spawner |
Variable holder and module inputs | Designer-controlled values mapped into reusable module assets. | Module Inputs and Custom Modules |
3D Gallery and Style Compare | Search, compare, apply, duplicate, detach, and validate real style recipes. | Learn From the Shipped Samples; 80-Style Gallery |
Material Set Browser | Browse reusable looks and inspect region assignments before applying. | Material Sets; Learn From the Shipped Samples |
Inspector coverage, part 3 of 5
Inspector or surface | Controls and ownership | Primary manual coverage |
|---|---|---|
Freeze and Frozen Snapshot | Persistent static output, ownership, validation, unfreeze consequences, and player stripping. | Freeze a Finished Title |
Runtime Statistics | Glyph, entry, vertex, triangle, mesh, renderer, material, cache, and rebuild state. | Runtime Statistics |
Glyph Sockets | Center, front, back, top, bottom, and contour-fraction attachment poses. | Named Glyph Sockets |
Module3DBase | Typed roles, stages, channels, cache impact, bounds, lifecycle, and material-region registration. | Module Mental Model; Developer Reference |
Mesh export | Output ownership, real generated mesh, materials, pipeline family, and validation. | Strict Freeze; Output and Performance |
TextStudio3DButton | Click behavior and normal, hover, pressed, selected, disabled, and validation states. | World-Space UI |
TextStudio3DToggle | Boolean value, state visuals, callbacks, and navigation. | Buttons, Toggles, Sliders, Lists, and Selectors |
TextStudio3DSlider | Range, value, step, visual fill, callbacks, and pointer or navigation input. | Buttons, Toggles, Sliders, Lists, and Selectors |
TextStudio3DList | Items, selection, navigation, events, and pooled presentation. | Buttons, Toggles, Sliders, Lists, and Selectors |
TextStudio3DInputField | Value, placeholder, length, validation, focus, caret, and optional keyboard path. | Input Field |
Inspector coverage, part 4 of 5
Inspector or surface | Controls and ownership | Primary manual coverage |
|---|---|---|
TextStudio3DSelector | Option value, previous or next input, display, and change events. | Buttons, Toggles, Sliders, Lists, and Selectors |
TextStudio3DPointerRaycaster | Camera, layers, distance, hover, press, selection, and world-space ray input. | Pointer, Navigation, Layout, and Pools |
TextStudio3DNavigationGroup | Ordered focus traversal and independent selected value. | Pointer, Navigation, Layout, and Pools |
TextStudio3DControlLayout | Linear, grid, circular, spline, or volume placement with shared spacing and orientation. | Pointer, Navigation, Layout, and Pools |
TextStudio3DControlTheme | Shared label, surface, depth, scale, and interaction-state treatment. | Control Foundation and States |
TextStudio3DControlPool | Bounded prefab reuse with restored value, validation, focus, events, and framing. | Pointer, Navigation, Layout, and Pools |
TextStudioEmitter | Shared temporary host emission with profiles, values, stacking, following, prewarming, lifecycle events, and bounded pooling. | Prewarming and Bounded Caches |
3D Authoring Glossary | Product vocabulary for layers, contours, surfaces, paths, output, caches, and modules. | Troubleshooting and Reference |
Input System integration | Action-reference mappings for pointer, navigation, submit, and text entry. | 3D Integrations |
XR Interaction Toolkit integration | XR hover, select, ray, and lifecycle bridge for world-space controls. | 3D Integrations |
Inspector coverage, part 5 of 5
Inspector or surface | Controls and ownership | Primary manual coverage |
|---|---|---|
UniText 3D sample | Shaped mixed-script text converted into matching 3D outlines. | Prepare Fonts and Languages; 3D Integrations |
Unity Splines integration | Base spatial placement plus guarded depth-extrusion provider. | Placement Versus Extrusion Sweep; 3D Integrations |
Runtime public API | Presets, output, rebuild, prewarm, pools, overrides, handles, raycasts, regions, and sockets. | Essential Scripting API |