Skip to content

TextStudio3DText

ClassTextStudio.ThreeDTextStudio.3D
public sealed class TextStudio3DText : MonoBehaviour, ITextStudio3DAuthoring, ITextStudio3DBuilds, ITextStudio3DGlyphs, ITextStudio3DPhysicalLetters

3D text renderer add-on. This component no longer owns text, reveal, placement, animation, font choice, or layout. The central TextStudioText hub and its active text backend are the single source of truth for all of those. This component:

  • Implements ITextStudioRenderer: consumes per-frame TextStudioFrames and renders extruded 3D geometry using per-glyph positions that the active backend computed on the hub.
  • Extracts TTF/OTF outlines from the active backend for glyph extrusion. TMP remains the built-in fallback. A matching Font3D companion can supply embedded outline data without becoming a second font choice. Optional glyph libraries provide prepared geometry.
  • Owns the generated mesh on an auto-managed child GameObject called _TS3D so its UnityEngine.MeshFilter/UnityEngine.MeshRenderer do not collide with another world-space text renderer on the same GO. The source renderer is automatically hidden by the hub whenever this component is attached.
  • Supports ordinary world objects, World Space Canvas, and Screen Space Camera Canvas. Screen Space Overlay has no camera depth, so it is rejected.

Rebuild policy: geometry rebuilds when the resolved text, style, layers, output mode, or font identity change. Per-frame work otherwise is just vertex streaming against the existing AnimatedCombinedMesh.

public TextStudio3DSurfaceAccess AcquireSurfaceAccess()

Prepares current-surface queries on the next submitted frame. Acquisition may allocate; steady-state queries reuse preparation.

Returns

TextStudio.ThreeD.TextStudio3DSurfaceAccess

public TextStudio3DStrokeBuildDiagnostics CaptureStrokeBuildDiagnostics()

Captures immutable stroke binding, extraction and output diagnostics for currently retained entry meshes, including prepared-library hits. Returns null when this output has no stroke diagnostics. This on-demand inspection allocates outside frame evaluation.

Returns

TextStudio.ThreeD.TextStudio3DStrokeBuildDiagnostics

public TextStudio3DGeometryValidationReport ValidateCurrentGeometry()

Validates the final per-glyph geometry produced by the most recent topology build, including post-geometry module output. This is an explicit diagnostic operation and is never run automatically during normal rendering.

Returns

TextStudio.ThreeD.TextStudio3DGeometryValidationReport

TryGetGlyphRange(int, int, out TextStudio3DGlyphRange)

Section titled “TryGetGlyphRange(int, int, out TextStudio3DGlyphRange)”
public bool TryGetGlyphRange(int startVisibleGlyphIndex, int count, out TextStudio3DGlyphRange range)

Creates a topology-versioned range over consecutive Text Studio visible-glyph identities. The requested range must fit completely inside the current visible text.

Parameters

Name Type
startVisibleGlyphIndex System.Int32
count System.Int32
range TextStudio.ThreeD.TextStudio3DGlyphRange

Returns

System.Boolean

TryGetAllGlyphs(out TextStudio3DGlyphRange)

Section titled “TryGetAllGlyphs(out TextStudio3DGlyphRange)”
public bool TryGetAllGlyphs(out TextStudio3DGlyphRange range)

Creates a topology-versioned range covering all currently visible glyphs.

Parameters

Name Type
range TextStudio.ThreeD.TextStudio3DGlyphRange

Returns

System.Boolean

IsGlyphRangeCurrent(TextStudio3DGlyphRange)

Section titled “IsGlyphRangeCurrent(TextStudio3DGlyphRange)”
public bool IsGlyphRangeCurrent(TextStudio3DGlyphRange range)

Reports whether a range still belongs to this renderer's current topology.

Parameters

Name Type
range TextStudio.ThreeD.TextStudio3DGlyphRange

Returns

System.Boolean

public TextStudio3DGlyphHandleCollection GetGlyphHandles(TextStudio3DGlyphRange range)

Returns an allocation-free enumerable over every generated layer entry selected by a current range.

Parameters

Name Type
range TextStudio.ThreeD.TextStudio3DGlyphRange

Returns

TextStudio.ThreeD.TextStudio3DGlyphHandleCollection

TryGetGlyphHandle(int, out TextStudio3DGlyphHandle)

Section titled “TryGetGlyphHandle(int, out TextStudio3DGlyphHandle)”
public bool TryGetGlyphHandle(int visibleGlyphIndex, out TextStudio3DGlyphHandle handle)

Returns the first generated layer entry for one Text Studio visible-glyph identity. Use the layer overload when a particular authored layer is required.

Parameters

Name Type
visibleGlyphIndex System.Int32
handle TextStudio.ThreeD.TextStudio3DGlyphHandle

Returns

System.Boolean

TryGetGlyphHandle(int, int, out TextStudio3DGlyphHandle)

Section titled “TryGetGlyphHandle(int, int, out TextStudio3DGlyphHandle)”
public bool TryGetGlyphHandle(int visibleGlyphIndex, int layerIndex, out TextStudio3DGlyphHandle handle)

Returns a topology-versioned handle for one visible glyph and authored layer. Handles remain current across visual animation and material changes, and become stale after topology replacement, renderer disablement, or mesh clearing.

Parameters

Name Type
visibleGlyphIndex System.Int32
layerIndex System.Int32
handle TextStudio.ThreeD.TextStudio3DGlyphHandle

Returns

System.Boolean

IsGlyphHandleCurrent(TextStudio3DGlyphHandle)

Section titled “IsGlyphHandleCurrent(TextStudio3DGlyphHandle)”
public bool IsGlyphHandleCurrent(TextStudio3DGlyphHandle handle)

Reports whether a handle still belongs to this renderer's current topology.

Parameters

Name Type
handle TextStudio.ThreeD.TextStudio3DGlyphHandle

Returns

System.Boolean

TryGetGlyphVertexRange(TextStudio3DGlyphHandle, out int, out int)

Section titled “TryGetGlyphVertexRange(TextStudio3DGlyphHandle, out int, out int)”
public bool TryGetGlyphVertexRange(TextStudio3DGlyphHandle handle, out int vertexStart, out int vertexCount)

Tries to resolve a current glyph handle to its contiguous vertex range in combined output.

Parameters

Name Type
handle TextStudio.ThreeD.TextStudio3DGlyphHandle
vertexStart System.Int32
vertexCount System.Int32

Returns

System.Boolean: False for stale handles or output modes that do not expose a combined vertex range.

ReleasePhysicalLetters(float, Vector3?, Vector3?)

Section titled “ReleasePhysicalLetters(float, Vector3?, Vector3?)”
public void ReleasePhysicalLetters(float mass = 1, Vector3? initialVelocity = null, Vector3? initialAngularVelocity = null)

Releases already-authored Physical Letters with optional initial velocities.

Parameters

Name Type
mass System.Single
initialVelocity System.Nullable{UnityEngine.Vector3}
initialAngularVelocity System.Nullable{UnityEngine.Vector3}
public bool TryGetPhysicalBody(int visibleGlyphIndex, out Rigidbody body)

Resolves the one logical physical body owned by a visible glyph.

Parameters

Name Type
visibleGlyphIndex System.Int32
body UnityEngine.Rigidbody

Returns

System.Boolean

TryGetGlyphHandle(Rigidbody, out TextStudio3DGlyphHandle)

Section titled “TryGetGlyphHandle(Rigidbody, out TextStudio3DGlyphHandle)”
public bool TryGetGlyphHandle(Rigidbody body, out TextStudio3DGlyphHandle handle)

Resolves an owned physical body to its current visible glyph and primary rendered layer.

Parameters

Name Type
body UnityEngine.Rigidbody
handle TextStudio.ThreeD.TextStudio3DGlyphHandle

Returns

System.Boolean

public void ResetPhysicalLetters(bool kinematic = true)

Returns physical letters to their authored transforms.

Parameters

Name Type Description
kinematic System.Boolean Whether restored rigidbodies remain kinematic.
public MeshCollider EnsureMeshCollider(bool convex = false)

Adds (or refreshes) a MeshCollider on the internal renderer child pointing at TextStudio3DText.CurrentMesh. Call once after the text has stabilised; re-call whenever the text content or extrusion changes. The collider is added to the hidden _TS3D child so it doesn't conflict with user colliders on the host GameObject.

Parameters

Name Type
convex System.Boolean

Returns

UnityEngine.MeshCollider

public void RemoveMeshCollider()

Removes any MeshCollider previously added by TextStudio3DText.EnsureMeshCollider(bool).

RaycastGlyph(Ray, float, out TextStudio3DGlyphHandle, out RaycastHit)

Section titled “RaycastGlyph(Ray, float, out TextStudio3DGlyphHandle, out RaycastHit)”
public bool RaycastGlyph(Ray ray, float maxDistance, out TextStudio3DGlyphHandle handle, out RaycastHit hit)

Casts against the current combined mesh and returns a stable visible-glyph/layer handle. Call TextStudio3DText.EnsureMeshCollider(bool) after topology changes before raycasting.

Parameters

Name Type
ray UnityEngine.Ray
maxDistance System.Single
handle TextStudio.ThreeD.TextStudio3DGlyphHandle
hit UnityEngine.RaycastHit

Returns

System.Boolean

RaycastGlyph(Ray, float, out TextStudio3DGlyphHandle, out MaterialRegion, out RaycastHit)

Section titled “RaycastGlyph(Ray, float, out TextStudio3DGlyphHandle, out MaterialRegion, out RaycastHit)”
public bool RaycastGlyph(Ray ray, float maxDistance, out TextStudio3DGlyphHandle handle, out MaterialRegion materialRegion, out RaycastHit hit)

Casts against the current combined mesh and also reports the semantic material region. Decoration hits resolve to MaterialRegion.Decoration.

Parameters

Name Type
ray UnityEngine.Ray
maxDistance System.Single
handle TextStudio.ThreeD.TextStudio3DGlyphHandle
materialRegion TextStudio.ThreeD.MaterialRegion
hit UnityEngine.RaycastHit

Returns

System.Boolean

SetGlyphColorTint(TextStudio3DGlyphHandle, Color32)

Section titled “SetGlyphColorTint(TextStudio3DGlyphHandle, Color32)”
public bool SetGlyphColorTint(TextStudio3DGlyphHandle handle, Color32 tint)

Overrides the vertex tint for one current visible-glyph/layer handle without rebuilding topology. Set white to clear the handle's tint.

Parameters

Name Type
handle TextStudio.ThreeD.TextStudio3DGlyphHandle
tint UnityEngine.Color32

Returns

System.Boolean

SetGlyphColorTint(TextStudio3DGlyphRange, Color32)

Section titled “SetGlyphColorTint(TextStudio3DGlyphRange, Color32)”
public int SetGlyphColorTint(TextStudio3DGlyphRange range, Color32 tint)

Overrides every generated layer entry addressed by a current visible-glyph range. Returns the number of affected glyph-layer entries.

Parameters

Name Type
range TextStudio.ThreeD.TextStudio3DGlyphRange
tint UnityEngine.Color32

Returns

System.Int32

ClearGlyphColorTint(TextStudio3DGlyphRange)

Section titled “ClearGlyphColorTint(TextStudio3DGlyphRange)”
public int ClearGlyphColorTint(TextStudio3DGlyphRange range)

Clears persistent vertex tints from every generated entry selected by a current glyph range.

Parameters

Name Type
range TextStudio.ThreeD.TextStudio3DGlyphRange

Returns

System.Int32: The number of affected generated entries, or zero for a stale range.

public void ClearGlyphColorTints()

Clears all persistent per-glyph tints and restores the resolved authored colors.

RaycastSurface(Ray, in TextStudio3DSurfaceQueryOptions, out TextStudio3DSurfaceHit)

Section titled “RaycastSurface(Ray, in TextStudio3DSurfaceQueryOptions, out TextStudio3DSurfaceHit)”
public bool RaycastSurface(Ray ray, in TextStudio3DSurfaceQueryOptions options, out TextStudio3DSurfaceHit hit)

Tests current submitted geometry. Acquire surface access first; inspect diagnostics to distinguish misses from unavailable evaluation.

Parameters

Name Type
ray UnityEngine.Ray
options TextStudio.ThreeD.TextStudio3DSurfaceQueryOptions
hit TextStudio.ThreeD.TextStudio3DSurfaceHit

Returns

System.Boolean

RaycastSurface(Ray, in TextStudio3DSurfaceQueryOptions, out TextStudio3DSurfaceHit, out TextStudio3DSurfaceQueryDiagnostics)

Section titled “RaycastSurface(Ray, in TextStudio3DSurfaceQueryOptions, out TextStudio3DSurfaceHit, out TextStudio3DSurfaceQueryDiagnostics)”
public bool RaycastSurface(Ray ray, in TextStudio3DSurfaceQueryOptions options, out TextStudio3DSurfaceHit hit, out TextStudio3DSurfaceQueryDiagnostics diagnostics)

Finds the nearest hit on current submitted geometry and reports why an exact hit was unavailable or missed.

Parameters

Name Type
ray UnityEngine.Ray
options TextStudio.ThreeD.TextStudio3DSurfaceQueryOptions
hit TextStudio.ThreeD.TextStudio3DSurfaceHit
diagnostics TextStudio.ThreeD.TextStudio3DSurfaceQueryDiagnostics

Returns

System.Boolean

TryEvaluateSurface(in TextStudio3DSurfaceReference, out TextStudio3DAttachmentPose)

Section titled “TryEvaluateSurface(in TextStudio3DSurfaceReference, out TextStudio3DAttachmentPose)”
public bool TryEvaluateSurface(in TextStudio3DSurfaceReference reference, out TextStudio3DAttachmentPose pose)

Evaluates a current triangle reference in the submitted world pose while surface access is held.

Parameters

Name Type
reference TextStudio.ThreeD.TextStudio3DSurfaceReference
pose TextStudio.ThreeD.TextStudio3DAttachmentPose

Returns

System.Boolean

TryEvaluateSurface(in TextStudio3DSurfaceReference, out TextStudio3DAttachmentPose, out TextStudio3DSurfaceQueryStatus)

Section titled “TryEvaluateSurface(in TextStudio3DSurfaceReference, out TextStudio3DAttachmentPose, out TextStudio3DSurfaceQueryStatus)”
public bool TryEvaluateSurface(in TextStudio3DSurfaceReference reference, out TextStudio3DAttachmentPose pose, out TextStudio3DSurfaceQueryStatus status)

Evaluates a current triangle reference and reports why an exact pose is unavailable.

Parameters

Name Type
reference TextStudio.ThreeD.TextStudio3DSurfaceReference
pose TextStudio.ThreeD.TextStudio3DAttachmentPose
status TextStudio.ThreeD.TextStudio3DSurfaceQueryStatus

Returns

System.Boolean

TryCreateSurfaceAttachment(in TextStudio3DSurfaceReference, out TextStudio3DSurfaceAttachment)

Section titled “TryCreateSurfaceAttachment(in TextStudio3DSurfaceReference, out TextStudio3DSurfaceAttachment)”
public bool TryCreateSurfaceAttachment(in TextStudio3DSurfaceReference reference, out TextStudio3DSurfaceAttachment attachment)

Creates a persistent hit-derived attachment with its own residency lease. A genuine topology edit still invalidates its reference.

Parameters

Name Type
reference TextStudio.ThreeD.TextStudio3DSurfaceReference
attachment TextStudio.ThreeD.TextStudio3DSurfaceAttachment

Returns

System.Boolean

TryEvaluateElectricDischarge(int, int, int, out TextStudio3DElectricDischargeState)

Section titled “TryEvaluateElectricDischarge(int, int, int, out TextStudio3DElectricDischargeState)”
public bool TryEvaluateElectricDischarge(int effectIndex, int glyphIndex, int arcIndex, out TextStudio3DElectricDischargeState state)

Evaluates a prepared electric arc for a glyph, returning false when no matching prepared effect is available.

Parameters

Name Type
effectIndex System.Int32
glyphIndex System.Int32
arcIndex System.Int32
state TextStudio.ThreeD.TextStudio3DElectricDischargeState

Returns

System.Boolean

TryGetSocket(TextStudio3DGlyphHandle, TextStudio3DSocketKind, out TextStudio3DSocketPose)

Section titled “TryGetSocket(TextStudio3DGlyphHandle, TextStudio3DSocketKind, out TextStudio3DSocketPose)”
public bool TryGetSocket(TextStudio3DGlyphHandle handle, TextStudio3DSocketKind kind, out TextStudio3DSocketPose pose)

Resolves a semantic socket against the glyph's current world-space rendered state. ContourFraction uses the front cap's longest boundary at fraction zero.

Parameters

Name Type
handle TextStudio.ThreeD.TextStudio3DGlyphHandle
kind TextStudio.ThreeD.TextStudio3DSocketKind
pose TextStudio.ThreeD.TextStudio3DSocketPose

Returns

System.Boolean

TryGetContourSocket(TextStudio3DGlyphHandle, ContourTube3DSurface, int, float, out TextStudio3DSocketPose)

Section titled “TryGetContourSocket(TextStudio3DGlyphHandle, ContourTube3DSurface, int, float, out TextStudio3DSocketPose)”
public bool TryGetContourSocket(TextStudio3DGlyphHandle handle, ContourTube3DSurface surface, int loopIndex, float fraction, out TextStudio3DSocketPose pose)

Resolves a wrapped normalized distance around one current front or back cap boundary. Boundary zero is the longest; remaining boundaries are ordered by perimeter.

Parameters

Name Type
handle TextStudio.ThreeD.TextStudio3DGlyphHandle
surface TextStudio.ThreeD.ContourTube3DSurface
loopIndex System.Int32
fraction System.Single
pose TextStudio.ThreeD.TextStudio3DSocketPose

Returns

System.Boolean

TryGetSocket(TextStudio3DGlyphHandle, string, out TextStudio3DSocketPose)

Section titled “TryGetSocket(TextStudio3DGlyphHandle, string, out TextStudio3DSocketPose)”
public bool TryGetSocket(TextStudio3DGlyphHandle handle, string name, out TextStudio3DSocketPose pose)

Resolves the first exact ordinal name match from TextStudio3DText.NamedSockets against the supplied current glyph handle.

Parameters

Name Type
handle TextStudio.ThreeD.TextStudio3DGlyphHandle
name System.String
pose TextStudio.ThreeD.TextStudio3DSocketPose

Returns

System.Boolean

GetSocketContourLoopCount(TextStudio3DGlyphHandle, ContourTube3DSurface)

Section titled “GetSocketContourLoopCount(TextStudio3DGlyphHandle, ContourTube3DSurface)”
public int GetSocketContourLoopCount(TextStudio3DGlyphHandle handle, ContourTube3DSurface surface)

Returns the current deterministic cap-boundary count for one glyph.

Parameters

Name Type
handle TextStudio.ThreeD.TextStudio3DGlyphHandle
surface TextStudio.ThreeD.ContourTube3DSurface

Returns

System.Int32

TryAcquireCompanionControl(TextStudio3DCompanionFamily, out TextStudio3DCompanionControl)

Section titled “TryAcquireCompanionControl(TextStudio3DCompanionFamily, out TextStudio3DCompanionControl)”
public bool TryAcquireCompanionControl(TextStudio3DCompanionFamily family, out TextStudio3DCompanionControl control)

Acquires one family's transient source control. A second owner is rejected instead of overriding it.

Parameters

Name Type
family TextStudio.ThreeD.TextStudio3DCompanionFamily
control TextStudio.ThreeD.TextStudio3DCompanionControl

Returns

System.Boolean

public int GetOutputRenderers(List<MeshRenderer> results)

Clears results and adds the renderers that the current TextStudio3DText.OutputMode generated with geometry: the combined renderer, one per TextStudio3DText.ChunkGlyphEntries glyph entries, one per letter or physical letter, or the combined renderer followed by its generated LOD renderers. The list is current inside the Topology Built TextStudio3DText.LifecycleChanged notification, is empty once the output is cleared, and allocates only when the caller's list grows.

Parameters

Name Type
results System.Collections.Generic.List{UnityEngine.MeshRenderer}

Returns

System.Int32: The number of renderers written.

public int GetLetterAnchors(List<Transform> results)

Clears results and adds the empty anchor transforms that MeshOutputMode.Hybrid output places beside its combined mesh, one per built glyph entry in entry order. Other output modes generate none. Timing and allocation match TextStudio3DText.GetOutputRenderers(List<MeshRenderer>).

Parameters

Name Type
results System.Collections.Generic.List{UnityEngine.Transform}

Returns

System.Int32: The number of anchors written.

public void RebuildGeometry()

Immediately rebuilds generated geometry on Unity's main thread from the current text and authoring state.

public TextStudio3DBuildRequest ScheduleGeometryBuild()

Schedules a cancellable topology build. Detached, cacheable glyph stages run on a worker; Unity-dependent modules, grouped layers, prefab repeats, and custom paths run on the main thread. Calls coalesce before dispatch and supersede an in-flight request after dispatch. The previous valid output remains visible until the current geometry is ready for main-thread publication.

Returns

TextStudio.ThreeD.TextStudio3DBuildRequest

CancelGeometryBuild(TextStudio3DBuildRequest)

Section titled “CancelGeometryBuild(TextStudio3DBuildRequest)”
public bool CancelGeometryBuild(TextStudio3DBuildRequest request)

Cancels a pending request, including worker generation. An active geometry kernel completes its current operation before observing cancellation; no canceled result is published.

Parameters

Name Type
request TextStudio.ThreeD.TextStudio3DBuildRequest

Returns

System.Boolean

GetGeometryBuildRequestState(TextStudio3DBuildRequest)

Section titled “GetGeometryBuildRequestState(TextStudio3DBuildRequest)”
public TextStudio3DBuildRequestState GetGeometryBuildRequestState(TextStudio3DBuildRequest request)

Returns whether a request is pending, completed, canceled, superseded, or unknown to this renderer.

Parameters

Name Type
request TextStudio.ThreeD.TextStudio3DBuildRequest

Returns

TextStudio.ThreeD.TextStudio3DBuildRequestState

public bool RegisterFontData(TMP_FontAsset fontAsset, Font3D fontData)

Registers exact prepared outline data for a TMP font loaded after the player starts, such as a font supplied by an AssetBundle or Addressables content. The data must have been prepared from this TMP font's source before the build.

Parameters

Name Type
fontAsset TMPro.TMP_FontAsset
fontData TextStudio.ThreeD.Font3D

Returns

System.Boolean: True when the matching runtime data was registered.

public bool UnregisterFontData(TMP_FontAsset fontAsset)

Removes data previously registered with TextStudio3DText.RegisterFontData(TMP_FontAsset, Font3D). Call this before unloading the bundle that owns the TMP font or Font3D asset.

Parameters

Name Type
fontAsset TMPro.TMP_FontAsset

Returns

System.Boolean

public TextStudio3DLayer GetLayerSnapshot(int index)

Creates a detached copy of one authored layer. The method name makes the allocation and ownership boundary explicit; use TextStudio3DText.LayerCount for allocation-free queries.

Parameters

Name Type
index System.Int32

Returns

TextStudio.ThreeD.TextStudio3DLayer

public TextStudio3DLayer[] GetLayerSnapshots()

Creates a detached copy of the complete authored layer stack.

Returns

TextStudio.ThreeD.TextStudio3DLayer[]

public void SetLayers(IReadOnlyList<TextStudio3DLayer> layers)

Replaces the authored layer stack with detached copies and immediately rebuilds geometry.

Parameters

Name Type
layers System.Collections.Generic.IReadOnlyList{TextStudio.ThreeD.TextStudio3DLayer}
public void SetLayer(int index, in TextStudio3DLayer layer)

Replaces one authored layer with a detached copy and immediately rebuilds geometry.

Parameters

Name Type
index System.Int32
layer TextStudio.ThreeD.TextStudio3DLayer
public void InsertLayer(int index, in TextStudio3DLayer layer)

Inserts a detached layer copy at a clamped index and immediately rebuilds geometry.

Parameters

Name Type
index System.Int32
layer TextStudio.ThreeD.TextStudio3DLayer
public void RemoveLayerAt(int index)

Removes the layer at the supplied index when it exists and schedules a geometry rebuild.

Parameters

Name Type
index System.Int32
public void MoveLayer(int sourceIndex, int destinationIndex)

Moves an authored layer while preserving its data and schedules a geometry rebuild.

Parameters

Name Type
sourceIndex System.Int32
destinationIndex System.Int32
public QualityTierSelector GetQualitySettingsSnapshot()

Returns a detached copy of quality budgets, finite construction levels, migration records and transition settings.

Returns

TextStudio.ThreeD.QualityTierSelector

public void SetQualitySettings(QualityTierSelector settings)

Copies automatic LOD quality settings and schedules output refresh without retaining caller ownership.

Parameters

Name Type
settings TextStudio.ThreeD.QualityTierSelector
public Module3DBase GetModule(int index)

Returns one module reference without allocating.

Parameters

Name Type
index System.Int32

Returns

TextStudio.ThreeD.Module3DBase

public Module3DBase[] GetModulesSnapshot()

Creates a detached copy of the module-order array.

Returns

TextStudio.ThreeD.Module3DBase[]

public void SetModules(IReadOnlyList<Module3DBase> modules)

Replaces the ordered module stack with a defensive reference-array copy and rebuilds geometry.

Parameters

Name Type
modules System.Collections.Generic.IReadOnlyList{TextStudio.ThreeD.Module3DBase}
public void SetModule(int index, Module3DBase module)

Replaces one module reference and rebuilds geometry when the index is valid.

Parameters

Name Type
index System.Int32
module TextStudio.ThreeD.Module3DBase
public void InsertModule(int index, Module3DBase module)

Inserts a module at a clamped index and rebuilds geometry.

Parameters

Name Type
index System.Int32
module TextStudio.ThreeD.Module3DBase
public void RemoveModuleAt(int index)

Removes a module at a valid index and rebuilds geometry.

Parameters

Name Type
index System.Int32
public void MoveModule(int sourceIndex, int destinationIndex)

Moves a module within the ordered execution stack and rebuilds geometry.

Parameters

Name Type
sourceIndex System.Int32
destinationIndex System.Int32
public void ApplyPreset(BuiltInExtrudeStyles.Preset preset)

Replaces the authored layer stack with a detached copy of a built-in extrusion recipe.

Parameters

Name Type
preset TextStudio.ThreeD.BuiltInExtrudeStyles.Preset
public static void ClearSharedGeometryCache()

Clears generated glyph geometry shared by all Text Studio 3D renderers. Existing rendered meshes remain intact; later topology builds regenerate entries on demand.

public static void ResetSharedGeometryCacheStatistics()

Resets shared cache hit, miss, insertion, replacement, and eviction counters without removing cached glyph geometry.

public static void ClearSharedAssemblyCache()

Clears immutable combined assemblies shared by identical static text renderers. Active renderers keep their current mesh until they release or modify it.

public void ClearLocalOutlineCache()

Clears this renderer's dynamic outline and codepoint lookup entries without altering its current mesh or reparsing source fonts. Cache counters are preserved for diagnostics.

public void ResetLocalOutlineCacheStatistics()

Resets local provider/cache counters without removing parsed data.

public TextStudio3DPrewarmResult PrewarmCharacters(string characters, int maxGlyphs = 64)

Generates reusable glyph geometry for unique Unicode scalars without creating or replacing a rendered mesh. Work is synchronously bounded to at most 256 glyphs per call. Configurations that cannot publish durable independent-glyph topology are reported as unsupported because their output intentionally bypasses the shared cache.

Parameters

Name Type
characters System.String
maxGlyphs System.Int32

Returns

TextStudio.ThreeD.TextStudio3DPrewarmResult

public TextStudio3DPrewarmResult PrewarmCurrentOutput(int maxGlyphs = 256)

Warms the exact glyph records currently published by the active text backend, preserving shaped glyph IDs, fallback faces, ligatures, and supplementary Unicode scalars.

Parameters

Name Type
maxGlyphs System.Int32

Returns

TextStudio.ThreeD.TextStudio3DPrewarmResult

public void ClearRuntimeOverrides()

Clears every non-destructive runtime override and restores authored visibility, geometry, tint, materials, and quality.

ApplyPerformanceProfile(TextStudio3DPerformanceProfile)

Section titled “ApplyPerformanceProfile(TextStudio3DPerformanceProfile)”
public void ApplyPerformanceProfile(TextStudio3DPerformanceProfile profile)

Applies one deterministic workload starting point without changing authored layers, materials, or runtime overrides. Profiles configure output ownership, animation processing, chunk size, and automatic LOD policy; callers can fine-tune afterward.

Parameters

Name Type
profile TextStudio.ThreeD.TextStudio3DPerformanceProfile
public void RefreshCompanionPoses()

Refreshes retained discharge paths after transform or physics changes without rebuilding text geometry.

SetElectricEndpoints(Transform, Transform)

Section titled “SetElectricEndpoints(Transform, Transform)”
public void SetElectricEndpoints(Transform source, Transform target)

Attaches the main discharge to optional world-space transforms. Null endpoints follow the text contour.

Parameters

Name Type
source UnityEngine.Transform
target UnityEngine.Transform
public void SetPlasmaEndpoints(Transform source, Transform target)

Attaches the primary plasma strand to optional world-space transforms. Null endpoints follow the text contour independently of Electric Arc endpoints.

Parameters

Name Type
source UnityEngine.Transform
target UnityEngine.Transform

TrySampleElectricPath(int, int, float, out Vector3, out float)

Section titled “TrySampleElectricPath(int, int, float, out Vector3, out float)”
public bool TrySampleElectricPath(int effectIndex, int arcIndex, float progress, out Vector3 position, out float intensity)

Samples the same world-space centerline used by the visible main bolt and its surface illumination.

Parameters

Name Type
effectIndex System.Int32
arcIndex System.Int32
progress System.Single
position UnityEngine.Vector3
intensity System.Single

Returns

System.Boolean

SetEffectSpatialFields(TextStudio3DEffectSpatialField, TextStudio3DEffectSpatialField)

Section titled “SetEffectSpatialFields(TextStudio3DEffectSpatialField, TextStudio3DEffectSpatialField)”
public void SetEffectSpatialFields(TextStudio3DEffectSpatialField activation, TextStudio3DEffectSpatialField suppression)

Applies the same world-space fields to native surfaces, retained detail, and companions.

Parameters

Name Type
activation TextStudio.ThreeD.TextStudio3DEffectSpatialField
suppression TextStudio.ThreeD.TextStudio3DEffectSpatialField
public float EvaluateEffectSpatialFields(Vector3 worldPosition)

Returns the combined activation and suppression weight at a world position.

Parameters

Name Type
worldPosition UnityEngine.Vector3

Returns

System.Single

SetEffectAirflow(Vector3, float, float, float, float)

Section titled “SetEffectAirflow(Vector3, float, float, float, float)”
public void SetEffectAirflow(Vector3 force, float time, float turbulence, float spatialScale, float referenceHeight)

Sets the world-space air shared by attached plumes and a companion simulation. A zero reference height clears the override.

Parameters

Name Type
force UnityEngine.Vector3
time System.Single
turbulence System.Single
spatialScale System.Single
referenceHeight System.Single
public bool TryGetCompanionWorldBounds(out Bounds bounds)

Reads the current world bounds of owned rendered geometry, including physical letters and retained effects, without allocating or evaluating attachments.

Parameters

Name Type
bounds UnityEngine.Bounds

Returns

System.Boolean

HasPublishedShapedGeometry(ITextStudioShapedGlyphBackend, string)

Section titled “HasPublishedShapedGeometry(ITextStudioShapedGlyphBackend, string)”
public bool HasPublishedShapedGeometry(ITextStudioShapedGlyphBackend backend, string canonicalText)

True when nonempty solid output was successfully built from this backend's current shaped revision and the requested canonical source (hub.Plan.CanonicalText, which retains markup and equals hub.Text only for plain text). A retained older mesh or a source changed during a build is not current.

Parameters

Name Type
backend TextStudio.ITextStudioShapedGlyphBackend
canonicalText System.String

Returns

System.Boolean

public int GetCurrentOutputRenderers(List<MeshRenderer> results)

Current visible output owners for static capture. Unlike GetOutputRenderers, this excludes retained inactive quality variants.

Parameters

Name Type
results System.Collections.Generic.List{UnityEngine.MeshRenderer}

Returns

System.Int32

public TextStudio3DMemorySnapshot CaptureMemorySnapshot()

Captures known payload ownership on the main thread. This explicit diagnostic allocates temporary sets and is not a per-frame operation.

Returns

TextStudio.ThreeD.TextStudio3DMemorySnapshot

SetGlyphMaterial(TextStudio3DGlyphHandle, Material)

Section titled “SetGlyphMaterial(TextStudio3DGlyphHandle, Material)”
public bool SetGlyphMaterial(TextStudio3DGlyphHandle handle, Material material)

Replace the material on a per-letter child object. Only valid in MeshOutputMode.PerLetterGameObjects or MeshOutputMode.PhysicalLetters mode, where each letter has its own MeshRenderer; in CombinedMesh mode use TextStudio3DText.SetGlyphColorTint(TextStudio3DGlyphHandle, Color32) for per-glyph differentiation or switch the output mode.

Parameters

Name Type
handle TextStudio.ThreeD.TextStudio3DGlyphHandle
material UnityEngine.Material

Returns

System.Boolean

SetGlyphMaterial(TextStudio3DGlyphRange, Material)

Section titled “SetGlyphMaterial(TextStudio3DGlyphRange, Material)”
public int SetGlyphMaterial(TextStudio3DGlyphRange range, Material material)

Replaces all semantic material regions for every generated entry selected by a current glyph range.

Parameters

Name Type
range TextStudio.ThreeD.TextStudio3DGlyphRange
material UnityEngine.Material

Returns

System.Int32: The number of generated entries updated, or zero for a stale range or unsupported output.

SetGlyphMaterial(TextStudio3DGlyphHandle, MaterialRegion, Material)

Section titled “SetGlyphMaterial(TextStudio3DGlyphHandle, MaterialRegion, Material)”
public bool SetGlyphMaterial(TextStudio3DGlyphHandle handle, MaterialRegion materialRegion, Material material)

Replace one semantic material region on a per-letter or physical-letter child. This can select attached decoration geometry independently from the trim rim.

Parameters

Name Type
handle TextStudio.ThreeD.TextStudio3DGlyphHandle
materialRegion TextStudio.ThreeD.MaterialRegion
material UnityEngine.Material

Returns

System.Boolean

SetGlyphMaterial(TextStudio3DGlyphRange, MaterialRegion, Material)

Section titled “SetGlyphMaterial(TextStudio3DGlyphRange, MaterialRegion, Material)”
public int SetGlyphMaterial(TextStudio3DGlyphRange range, MaterialRegion materialRegion, Material material)

Replaces one semantic material region for every generated entry selected by a current glyph range.

Parameters

Name Type
range TextStudio.ThreeD.TextStudio3DGlyphRange
materialRegion TextStudio.ThreeD.MaterialRegion
material UnityEngine.Material

Returns

System.Int32: The number of generated entries updated, or zero for a stale range or unsupported output.

RegisterAttachmentConsumer(in TextStudio3DAttachmentRequest)

Section titled “RegisterAttachmentConsumer(in TextStudio3DAttachmentRequest)”
public TextStudio3DAttachmentSubscription RegisterAttachmentConsumer(in TextStudio3DAttachmentRequest request)

Registers an explicitly owned, VFX-independent attachment demand.

Parameters

Name Type
request TextStudio.ThreeD.TextStudio3DAttachmentRequest

Returns

TextStudio.ThreeD.TextStudio3DAttachmentSubscription

TryCopyCompanionEffects(TextStudio3DCompanionEffectRecord[], TextStudio3DCompanionGlyphSemantic[], out TextStudio3DCompanionEffectSnapshot)

Section titled “TryCopyCompanionEffects(TextStudio3DCompanionEffectRecord[], TextStudio3DCompanionGlyphSemantic[], out TextStudio3DCompanionEffectSnapshot)”
public bool TryCopyCompanionEffects(TextStudio3DCompanionEffectRecord[] effects, TextStudio3DCompanionGlyphSemantic[] glyphs, out TextStudio3DCompanionEffectSnapshot snapshot)

Copies the current exact prepared-effect descriptors into caller-owned arrays.

Parameters

Name Type
effects TextStudio.ThreeD.TextStudio3DCompanionEffectRecord[]
glyphs TextStudio.ThreeD.TextStudio3DCompanionGlyphSemantic[]
snapshot TextStudio.ThreeD.TextStudio3DCompanionEffectSnapshot

Returns

System.Boolean

TryGetCompanionEffectSnapshot(out TextStudio3DCompanionEffectSnapshot)

Section titled “TryGetCompanionEffectSnapshot(out TextStudio3DCompanionEffectSnapshot)”
public bool TryGetCompanionEffectSnapshot(out TextStudio3DCompanionEffectSnapshot snapshot)

Returns the current prepared effect revisions, clocks and counts when companion transport data is available.

Parameters

Name Type
snapshot TextStudio.ThreeD.TextStudio3DCompanionEffectSnapshot

Returns

System.Boolean

TryEvaluateCompanionEffect(int, in TextStudio3DAttachmentSample, in TextStudio3DAttachmentPose, out TextStudio3DCompanionInfluence)

Section titled “TryEvaluateCompanionEffect(int, in TextStudio3DAttachmentSample, in TextStudio3DAttachmentPose, out TextStudio3DCompanionInfluence)”
public bool TryEvaluateCompanionEffect(int effectIndex, in TextStudio3DAttachmentSample sample, in TextStudio3DAttachmentPose pose, out TextStudio3DCompanionInfluence influence)

Evaluates a prepared effect at a current attachment pose, returning false for a stale or foreign sample or unavailable effect.

Parameters

Name Type
effectIndex System.Int32
sample TextStudio.ThreeD.TextStudio3DAttachmentSample
pose TextStudio.ThreeD.TextStudio3DAttachmentPose
influence TextStudio.ThreeD.TextStudio3DCompanionInfluence

Returns

System.Boolean

EvaluateCompanionSamples(TextStudio3DAttachmentSample[], int, TextStudio3DAttachmentPose[], TextStudio3DCompanionInfluence[], int)

Section titled “EvaluateCompanionSamples(TextStudio3DAttachmentSample[], int, TextStudio3DAttachmentPose[], TextStudio3DCompanionInfluence[], int)”
public int EvaluateCompanionSamples(TextStudio3DAttachmentSample[] samples, int count, TextStudio3DAttachmentPose[] poses, TextStudio3DCompanionInfluence[] influences, int effectStride)

Evaluates a completed source frame into caller-owned buffers. Influence rows use sampleIndex * effectStride + effectIndex. Invalid samples produce a default pose and empty influences. Returns the current effect count.

Parameters

Name Type
samples TextStudio.ThreeD.TextStudio3DAttachmentSample[]
count System.Int32
poses TextStudio.ThreeD.TextStudio3DAttachmentPose[]
influences TextStudio.ThreeD.TextStudio3DCompanionInfluence[]
effectStride System.Int32

Returns

System.Int32

TryEvaluateAttachment(in TextStudio3DAttachmentSample, out TextStudio3DAttachmentPose)

Section titled “TryEvaluateAttachment(in TextStudio3DAttachmentSample, out TextStudio3DAttachmentPose)”
public bool TryEvaluateAttachment(in TextStudio3DAttachmentSample sample, out TextStudio3DAttachmentPose pose)

Resolves the current animation or released physical-body pose without rebuilding the attachment field.

Parameters

Name Type
sample TextStudio.ThreeD.TextStudio3DAttachmentSample
pose TextStudio.ThreeD.TextStudio3DAttachmentPose

Returns

System.Boolean

public TextStudio3DText()

public TextStudio3DGeneratedLodOverride GeneratedLodOverride { get; set; }

Generated LODGroup forcing is exclusively owned here. Direct external ForceLOD calls cannot be observed or restored.

Returns

TextStudio.ThreeD.TextStudio3DGeneratedLodOverride

public ulong SurfacePrimaryFallbackActivations { get; }

Returns

System.UInt64

public int EffectiveGeneratedLodOverride { get; }

Returns

System.Int32

public Mesh CurrentMesh { get; }

The renderer-owned authored combined mesh, or null for output modes without one. Physics and persistent surface queries retain this topology when automatic quality displays a reduced variant. Use TextStudio3DText.CurrentRenderedMesh for a visual snapshot. Returned meshes are borrowed views; instantiate a copy before mutation.

Returns

UnityEngine.Mesh

public TextStudio3DStats Stats { get; }

Returns

TextStudio.ThreeD.TextStudio3DStats

public CompiledTextStudio3DStyle CompiledStyle { get; }

Returns

TextStudio.ThreeD.CompiledTextStudio3DStyle

public bool HasActiveLOD { get; }

Returns

System.Boolean

public LODParams ActiveLOD { get; }

Returns

TextStudio.ThreeD.LODParams

public TextStudio3DImageAppearance ImageAppearance { get; set; }

Existing serialized content retains monochrome geometry. Native appearance requires exact owned images.

Returns

TextStudio.ThreeD.TextStudio3DImageAppearance

public TextStudio3DImageFallback ImageFallback { get; set; }

Explicit response when the shaping source cannot provide a complete exact image.

Returns

TextStudio.ThreeD.TextStudio3DImageFallback

public TextStudio3DImageTracePolicy ImageTracePolicy { get; set; }

Image silhouette error and deterministic preparation work limits in EM space.

Returns

TextStudio.ThreeD.TextStudio3DImageTracePolicy

public string ImageSourceDiagnostic { get; }

Current exact-image failure or explicitly selected monochrome fallback.

Returns

System.String

public TextStudio3DElectricDischargeTiming ElectricDischargeTiming { get; set; }

Returns

TextStudio.ThreeD.TextStudio3DElectricDischargeTiming

public TextStudio3DNamedSocket[] NamedSockets { get; set; }

Named socket definitions shared by every generated glyph entry. The getter and setter copy the array so callers cannot mutate renderer state without an explicit assignment.

Returns

TextStudio.ThreeD.TextStudio3DNamedSocket[]

public CompiledTextStudio3DAppearancePlan CompiledAppearancePlan { get; }

The current named 3D appearance composition, or null when the text contains no appearance tags.

Returns

TextStudio.ThreeD.CompiledTextStudio3DAppearancePlan

public ITextStudio3DAuthoring Authoring { get; }

Focused style and authored-geometry view.

Returns

TextStudio.ThreeD.ITextStudio3DAuthoring

public ITextStudio3DBuilds Builds { get; }

Focused geometry build and validation view.

Returns

TextStudio.ThreeD.ITextStudio3DBuilds

public ITextStudio3DGlyphs Glyphs { get; }

Focused stable glyph-handle view.

Returns

TextStudio.ThreeD.ITextStudio3DGlyphs

public ITextStudio3DPhysicalLetters PhysicalLetters { get; }

Focused logical physical-letter view.

Returns

TextStudio.ThreeD.ITextStudio3DPhysicalLetters

public MeshOutputMode OutputMode { get; set; }

Returns

TextStudio.ThreeD.MeshOutputMode

public int ChunkGlyphEntries { get; set; }

Returns

System.Int32

public bool UseGlobalFont { get; set; }

Gets or sets whether the resolved 3D theme explicitly assigns the Text Studio/TMP font. New components keep their Text Object font unless this is enabled.

Returns

System.Boolean

public TextStudio3DStyleSource StyleSource { get; set; }

Chooses inline layers or a linked style without discarding either authored source.

Returns

TextStudio.ThreeD.TextStudio3DStyleSource

public TextStudio3DStyleBinding StyleBinding { get; set; }

Chooses a direct style asset or the resolved theme while retaining both bindings.

Returns

TextStudio.ThreeD.TextStudio3DStyleBinding

public bool UseThemeStyle { get; set; }

Returns

System.Boolean

public TextStudio3DThemeStyleBinding ThemeStyleBinding { get; set; }

Returns

TextStudio.ThreeD.TextStudio3DThemeStyleBinding

public string ThemeStyleVariationId { get; set; }

Returns

System.String

public TextStudio3DTheme ResolvedTheme { get; }

Returns

TextStudio.ThreeD.TextStudio3DTheme

public Font3D FontData { get; set; }

Matching 3D glyph data prepared from the hub's TMP font. This can embed outline bytes for player builds, but it never replaces Text Studio's font selection. Data prepared from a different source font is ignored.

Returns

TextStudio.ThreeD.Font3D

public TextStudio3DRuntimeGeometryPolicy RuntimeGeometryPolicy { get; set; }

Controls whether this text object may generate unseen exact glyph variants at runtime.

Returns

TextStudio.ThreeD.TextStudio3DRuntimeGeometryPolicy

public Extrude3DStyle ExtrudeStyle { get; set; }

Returns

TextStudio.ThreeD.Extrude3DStyle

public int LayerCount { get; }

Returns

System.Int32

public Vector3 ExtrusionSweepControlOffset { get; set; }

Component-local quadratic depth-sweep control offset. This affects glyph extrusion and is independent from the sibling TextStudioText placement strategy.

Returns

UnityEngine.Vector3

public Vector3 ExtrusionSweepEndOffset { get; set; }

Component-local depth-sweep endpoint offset in renderer space.

Returns

UnityEngine.Vector3

public int ExtrusionSweepSamples { get; set; }

Axial sample count for the component-local depth-extrusion sweep.

Returns

System.Int32

public IExtrusionPath ExtrusionPath { get; set; }

Optional effective path used by every layer whose body sweep selects BodySweep3DMode.Path. Leave null to use the assigned path asset or inspector-authored quadratic controls. A runtime value assigned here takes priority over TextStudio3DText.ExtrusionPathAsset until it is cleared. Path samples are interpreted in the renderer's local space.

Returns

TextStudio.ThreeD.IExtrusionPath

public ExtrusionPathAsset ExtrusionPathAsset { get; set; }

Reusable authoring asset used when no runtime path override is assigned.

Returns

TextStudio.ThreeD.ExtrusionPathAsset

public int ChunkCount { get; }

Returns

System.Int32

public int PhysicalBodyCount { get; }

Returns

System.Int32

public TextStudio3DAnimationBackend AnimationBackend { get; set; }

Returns

TextStudio.ThreeD.TextStudio3DAnimationBackend

public int ParallelVertexThreshold { get; set; }

Returns

System.Int32

public Camera QualityCamera { get; set; }

Optional automatic-detail camera. Null considers all active cameras and retains the highest requested detail.

Returns

UnityEngine.Camera

public bool AutomaticLOD { get; set; }

Returns

System.Boolean

public float CurveTolerance { get; set; }

Returns

System.Single

public float AutoSmoothAngle { get; set; }

Normal smoothing angle of the retained inline layer stack.

Returns

System.Single

public TextStudio3DMeshDetailPreset MeshDetailPreset { get; set; }

Returns

TextStudio.ThreeD.TextStudio3DMeshDetailPreset

public int ModuleCount { get; }

Returns

System.Int32

public VariableHolder ModuleVariables { get; set; }

Returns

TextStudio.ThreeD.VariableHolder

public TextStudioText Hub { get; }

Returns

TextStudio.TextStudioText

public static TextStudio3DGeometryCacheStats SharedGeometryCacheStats { get; }

Current occupancy of the process-wide generated glyph geometry cache. The cache is a bounded LRU shared by every Text Studio 3D renderer.

Returns

TextStudio.ThreeD.TextStudio3DGeometryCacheStats

public TextStudio3DOutlineCacheStats LocalOutlineCacheStats { get; }

Diagnostics for this renderer's parsed primary/fallback providers and their bounded dynamic outline/codepoint caches. Counters survive entry and provider invalidation until TextStudio3DText.ResetLocalOutlineCacheStatistics() is called.

Returns

TextStudio.ThreeD.TextStudio3DOutlineCacheStats

public TextStudio3DRuntimeOverrides RuntimeOverrides { get; set; }

Non-destructive runtime-only visibility, depth, tint, material, and quality values. Authored layers and style assets are never modified; assigning a default value clears every override.

Returns

TextStudio.ThreeD.TextStudio3DRuntimeOverrides

public TextStudio3DPreparedEffectStats PreparedEffectStats { get; }

Gets the current native 3D effect plan and preparation requirements.

Returns

TextStudio.ThreeD.TextStudio3DPreparedEffectStats

public bool IsGeneratingGeometryInBackground { get; }

True while a scheduled request is generating detached glyph geometry on a worker.

Returns

System.Boolean

public Transform ElectricSourceAnchor { get; }

Returns

UnityEngine.Transform

public Transform ElectricTargetAnchor { get; }

Returns

UnityEngine.Transform

public Transform PlasmaSourceAnchor { get; }

Returns

UnityEngine.Transform

public Transform PlasmaTargetAnchor { get; }

Returns

UnityEngine.Transform

public TextStudio3DVertexUploadPreference VertexUploadPreference { get; set; }

Explicit prototype opt-in. Float remains the default; unsupported materials/devices retain float. No native visual or performance qualification is implied.

Returns

TextStudio.ThreeD.TextStudio3DVertexUploadPreference

public TextStudio3DVertexUploadDecision LastVertexUploadDecision { get; }

The most recent assembly operation's layout decision. A renderer with multiple groups can have different decisions per mesh.

Returns

TextStudio.ThreeD.TextStudio3DVertexUploadDecision

public TextStudio3DEffectSpatialField ActivationField { get; }

Returns

TextStudio.ThreeD.TextStudio3DEffectSpatialField

public TextStudio3DEffectSpatialField SuppressionField { get; }

Returns

TextStudio.ThreeD.TextStudio3DEffectSpatialField

public TextStudio3DTopologySampling TopologyEffectSampling { get; set; }

Returns

TextStudio.ThreeD.TextStudio3DTopologySampling

public float TopologyEffectRefreshRate { get; set; }

Returns

System.Single

public int TopologyEffectQuantizationSteps { get; set; }

Returns

System.Int32

public bool HasActiveTopologyEffect { get; }

Returns

System.Boolean

public string GeometrySourceDiagnostic { get; }

Actionable failure for an invalid shaped geometry revision; the previous valid solid output is retained.

Returns

System.String

public TextStudio3DQualityDecision QualityDecision { get; }

The last automatic decision. A retained authored fallback does not imply that an unknown error was qualified.

Returns

TextStudio.ThreeD.TextStudio3DQualityDecision

public string QualityDiagnostic { get; }

Returns

System.String

public string QualityPreparationDiagnostic { get; }

Returns

System.String

public TextStudio3DQualityCertificationDiagnostics LastQualityCertification { get; }

Construction cost and bounded work, separate from per-camera selection.

Returns

TextStudio.ThreeD.TextStudio3DQualityCertificationDiagnostics

public Mesh CurrentRenderedMesh { get; }

The single combined mesh currently chosen for display, including a forced certified level. Physics and surface queries continue to use CurrentMesh. Returned meshes are renderer-owned borrowed views; instantiate a copy before mutation.

Returns

UnityEngine.Mesh

public bool IsFrozen { get; }

True when this component is retaining authoring data for a persistent static snapshot. Frozen components do not generate or update runtime geometry.

Returns

System.Boolean

public TextStudio3DCompanionEvaluationStatistics CompanionStatistics { get; }

Returns

TextStudio.ThreeD.TextStudio3DCompanionEvaluationStatistics

public event Action<TextStudio3DText, TextStudio3DLifecycleEvent> LifecycleChanged

Reports renderer enablement, topology replacement or clearing, disablement, and destruction without allocating per notification.

Returns

System.Action{TextStudio.ThreeD.TextStudio3DText,TextStudio.ThreeD.TextStudio3DLifecycleEvent}

public event Action<TextStudio3DText> CompanionFrameEvaluated

Raised once after a rendered frame has finalized its companion-facing data.

Returns

System.Action{TextStudio.ThreeD.TextStudio3DText}