Skip to content

TextStudioText

ClassTextStudioTextStudio
public sealed class TextStudioText : MonoBehaviour, ITextStudioGlyphColorEncoder, ITextStudioAnimationPlayback, ITextStudioContent, ITextStudioPlayback, ITextStudioVisibility, ITextStudioEffectControl, ITextStudioBackendHost, ITextStudioController, ITextStudioWaitLifecycleSink, ITypewriterProvider, ITextStudioReactionActionHost, ITextStudioReactionBodyActionHost, ITextStudioReactionBooleanInputProvider, ITextStudioReactionNamedAnchorHost, ITextStudioReactionUnitTextSource, ITextStudioReactionUIParticleHost

Central TextStudio hub. Owns the authored markup, runs the full pipeline (tokenize, resolve, layout, placement, reveal, effects) once per tick, and drives every attached renderer via ITextStudioRenderer.

Text ownership, layout, and mesh application are delegated to the selected text backend. TextMeshPro remains the built-in fallback. Editor tick management is handled by TextStudioEditorHooks so this file contains zero UnityEditor references.

ApplyAppearanceSettings(TextStudio2DStyleSettings)

Section titled “ApplyAppearanceSettings(TextStudio2DStyleSettings)”
public void ApplyAppearanceSettings(TextStudio2DStyleSettings settings)

Copies appearance settings into this component and selects Inline. An explicit BaseStyle remains a live reference.

Parameters

Name Type
settings TextStudio.TextStudio2DStyleSettings
public TextStudioEffectLayer RegisterEffectLayer(string expression)

Adds whole-text effects after authored fallback rules. The caller owns the returned layer.

Parameters

Name Type
expression System.String

Returns

TextStudio.TextStudioEffectLayer

TryGetRendererFrameTarget(ITextStudioRenderer, out TextStudioFrameTarget)

Section titled “TryGetRendererFrameTarget(ITextStudioRenderer, out TextStudioFrameTarget)”
public bool TryGetRendererFrameTarget(ITextStudioRenderer renderer, out TextStudioFrameTarget target)

Creates a target identity for one renderer currently attached to this hub.

Parameters

Name Type
renderer TextStudio.ITextStudioRenderer
target TextStudio.TextStudioFrameTarget

Returns

System.Boolean

CollectCapabilities(TextStudioCapabilityReport)

Section titled “CollectCapabilities(TextStudioCapabilityReport)”
public void CollectCapabilities(TextStudioCapabilityReport report)

Collects current backend, output, motion, fallback, and add-on diagnostics without changing text.

Parameters

Name Type
report TextStudio.TextStudioCapabilityReport
public TextStudioColorAppearanceData GetAppearanceImages(int index)

Returns the prepared image appearance data at the specified binding index.

Parameters

Name Type
index System.Int32

Returns

TextStudio.TextStudioColorAppearanceData

AddAppearanceImages(TextStudioColorAppearanceData)

Section titled “AddAppearanceImages(TextStudioColorAppearanceData)”
public void AddAppearanceImages(TextStudioColorAppearanceData data)

Validates and registers prepared image appearance data, then schedules a topology rebuild even when already registered.

Parameters

Name Type
data TextStudio.TextStudioColorAppearanceData
public void PauseAnimation()

Freezes effects, reveal, hide, writing, and reaction time without changing authored settings.

public void ResumeAnimation()

Continues presentation from its current time without catching up elapsed wall time.

public void StartReveal()

Starts reveal playback for the current compiled content.

public void ContinueReveal()

Starts reveal from the current progress instead of resetting to the beginning.

public void SkipReveal()

Completes reveal immediately, including remaining reveal events.

public bool AdvanceOrSkip()

Advances a paused or waiting reveal when possible; otherwise completes the active reveal.

Returns

System.Boolean: true when the call changed playback state.

public void SetRevealSpeed(float multiplier)

Changes the playback-rate multiplier used by subsequent reveal updates.

Parameters

Name Type Description
multiplier System.Single Non-negative speed multiplier, where 1 uses authored timing.
public void PauseReveal()

Pauses reveal playback while retaining its current position.

public void ResumeReveal()

Resumes reveal playback from its paused position.

public void SkipCurrentWait()

Requests cooperative cancellation of the active wait and resumes reveal. Custom non-skippable action coroutines may continue running.

public void TriggerRemainingEvents()

Dispatches pending marker and cue events without advancing the reveal animation.

NotifyTypewriterWaitStarted(ActionMarker, TextStudioTypewriterWaitKind, float, bool)

Section titled “NotifyTypewriterWaitStarted(ActionMarker, TextStudioTypewriterWaitKind, float, bool)”
public void NotifyTypewriterWaitStarted(ActionMarker marker, TextStudioTypewriterWaitKind kind, float duration, bool isHide)

Notifies the sink immediately before a wait suspends playback.

Parameters

Name Type Description
marker TextStudio.ActionMarker Marker that initiated the wait.
kind TextStudio.TextStudioTypewriterWaitKind Kind of wait being started.
duration System.Single Known duration in seconds, or a negative value for an externally completed wait.
isHide System.Boolean Whether the wait belongs to hide playback.

NotifyTypewriterWaitFinished(ActionMarker, TextStudioTypewriterWaitKind, float, bool)

Section titled “NotifyTypewriterWaitFinished(ActionMarker, TextStudioTypewriterWaitKind, float, bool)”
public void NotifyTypewriterWaitFinished(ActionMarker marker, TextStudioTypewriterWaitKind kind, float duration, bool isHide)

Notifies the sink after a wait completes or is skipped.

Parameters

Name Type Description
marker TextStudio.ActionMarker Marker that initiated the wait.
kind TextStudio.TextStudioTypewriterWaitKind Kind of wait that finished.
duration System.Single Configured duration in seconds, or a negative value for an externally completed wait.
isHide System.Boolean Whether the wait belonged to hide playback.
public void SetRevealMode(RevealMode mode)

Selects whether visibility changes are immediate or animated.

Parameters

Name Type
mode TextStudio.RevealMode
public void SetRevealAppearanceDuration(float seconds)

Sets the per-glyph appearance transition duration in seconds.

Parameters

Name Type
seconds System.Single
public void SetRevealDisappearanceDuration(float seconds)

Sets the per-glyph disappearance transition duration in seconds.

Parameters

Name Type
seconds System.Single
public void SetRevealLoop(bool loop, float delay = 0.75)

Controls whether reveal restarts after completion and configures the delay before restarting.

Parameters

Name Type
loop System.Boolean
delay System.Single
public float GetRevealProgressForGlyphCount(int glyphCount)

Maps a count of started glyphs to the shared timeline. Grouped letters start together; the full count resolves to the completed reveal endpoint.

Parameters

Name Type
glyphCount System.Int32

Returns

System.Single

public void SetRevealProgress(float progress)

Sets reveal to an explicit normalized position without changing authored content.

Parameters

Name Type Description
progress System.Single Requested progress, clamped to the 0 to 1 range.
public void DriveRevealProgress(float progress)

Applies externally driven normalized reveal progress without advancing the internal reveal clock.

Parameters

Name Type
progress System.Single
public bool SetGlyphVisibility(int glyphIndex, bool visible, bool playTransition = true)

Overrides visibility for one visible glyph.

Parameters

Name Type Description
glyphIndex System.Int32 Zero-based visible-glyph index in the current compiled plan.
visible System.Boolean Whether the glyph should be visible.
playTransition System.Boolean Whether configured transitions should be used.

Returns

System.Boolean: false when glyphIndex is outside the current plan.

public bool SetWordVisibility(int wordIndex, bool visible, bool playTransition = true)

Overrides visibility for one semantic word.

Parameters

Name Type Description
wordIndex System.Int32 Zero-based word index in the current compiled plan.
visible System.Boolean Whether glyphs in the word should be visible.
playTransition System.Boolean Whether configured transitions should be used.

Returns

System.Boolean: false when wordIndex is outside the current plan.

public bool SetTextVisibility(bool visible, bool playTransition = true)

Overrides visibility for the complete text without modifying its markup.

Parameters

Name Type Description
visible System.Boolean Whether all glyphs should be visible.
playTransition System.Boolean Whether configured reveal or hide transitions should be used.

Returns

System.Boolean: true when the override was accepted.

public bool ClearGlyphVisibilityOverride(int glyphIndex)

Restores authored visibility for one glyph.

Parameters

Name Type Description
glyphIndex System.Int32 Zero-based visible-glyph index in the current compiled plan.

Returns

System.Boolean: true when an existing override was removed.

public bool ClearVisibilityOverrides()

Restores authored visibility for every glyph.

Returns

System.Boolean: true when at least one override was removed.

public void ConfigureEffectFamilies(bool reveal, bool active, bool hide)

Enables or disables evaluation of reveal, active, and hide effect families.

Parameters

Name Type
reveal System.Boolean
active System.Boolean
hide System.Boolean
public void RestartEffects()

Resets effect-local clocks and state while preserving text and reveal progress.

public void RefreshEffectBindings()

Re-resolves effect definitions and parameters after registry or asset changes.

public void StopReveal()

Stops reveal at its current visibility without completing it.

public float GetApproximateShowDuration()

Estimates reveal duration using the current content and timing configuration.

Returns

System.Single: Approximate duration in seconds, including configured waits that have known durations.

public void StartDisappear()

Starts hide playback for the current content.

public void SkipDisappear()

Completes hide playback immediately.

public void StopDisappear()

Stops hide playback at its current visibility.

public float GetApproximateHideDuration()

Estimates hide duration using the current content and timing configuration.

Returns

System.Single: Approximate duration in seconds.

ApplyExternalEffect(ITextStudioEffectDefinition, float, float, TextStudioTextRange)

Section titled “ApplyExternalEffect(ITextStudioEffectDefinition, float, float, TextStudioTextRange)”
public bool ApplyExternalEffect(ITextStudioEffectDefinition effect, float progress, float intensity = 1, TextStudioTextRange range = default)

Adds an externally driven effect layer for the current frame. Submit it every frame while active; normal effects are evaluated first and remain intact on untouched channels.

Parameters

Name Type
effect TextStudio.ITextStudioEffectDefinition
progress System.Single
intensity System.Single
range TextStudio.TextStudioTextRange

Returns

System.Boolean

public TextStudioFontAppearanceData GetAppearanceFont(int index)

Returns the prepared font appearance data at the specified binding index.

Parameters

Name Type
index System.Int32

Returns

TextStudio.TextStudioFontAppearanceData

SetAppearanceFont(TextStudioFontAppearanceData)

Section titled “SetAppearanceFont(TextStudioFontAppearanceData)”
public void SetAppearanceFont(TextStudioFontAppearanceData data)

Assigns prepared data for one native font while preserving independent fallback font bindings.

Parameters

Name Type
data TextStudio.TextStudioFontAppearanceData
public TextStudioFontAppearanceData FindAppearanceFont(Object font)

Finds current prepared appearance data for the supplied native font object, or returns null when none matches.

Parameters

Name Type
font UnityEngine.Object

Returns

TextStudio.TextStudioFontAppearanceData

public TextStudioFontAppearanceData FindAppearanceFont(string sourceHash, int faceIndex)

Resolves a detached or system font by immutable source content and collection face.

Parameters

Name Type
sourceHash System.String
faceIndex System.Int32

Returns

TextStudio.TextStudioFontAppearanceData

ApplyTypewriterPreset(TextStudioTypewriterPreset)

Section titled “ApplyTypewriterPreset(TextStudioTypewriterPreset)”
public void ApplyTypewriterPreset(TextStudioTypewriterPreset preset)

Applies a reusable custom typewriter preset when local settings are active.

Parameters

Name Type
preset TextStudio.TextStudioTypewriterPreset

ApplyTypewriterSettings(TextStudioTypewriterSettings)

Section titled “ApplyTypewriterSettings(TextStudioTypewriterSettings)”
public void ApplyTypewriterSettings(TextStudioTypewriterSettings settings)

Copies a complete typewriter settings snapshot into this component's local configuration.

Parameters

Name Type
settings TextStudio.TextStudioTypewriterSettings

SetTypewriterTransitionEffects(TextStudioEffectDefinitionAsset, TextStudioEffectDefinitionAsset)

Section titled “SetTypewriterTransitionEffects(TextStudioEffectDefinitionAsset, TextStudioEffectDefinitionAsset)”
public void SetTypewriterTransitionEffects(TextStudioEffectDefinitionAsset revealEffect, TextStudioEffectDefinitionAsset hideEffect)

Assigns the shared effect definitions used during Typewriter reveal and hide.

Parameters

Name Type
revealEffect TextStudio.TextStudioEffectDefinitionAsset
hideEffect TextStudio.TextStudioEffectDefinitionAsset

SetTypewriterTransitionEffects(TextStudioEffectDefinitionAsset, TextStudioEffectDefinitionAsset, string, string)

Section titled “SetTypewriterTransitionEffects(TextStudioEffectDefinitionAsset, TextStudioEffectDefinitionAsset, string, string)”
public void SetTypewriterTransitionEffects(TextStudioEffectDefinitionAsset revealEffect, TextStudioEffectDefinitionAsset hideEffect, string revealEffectExpression, string hideEffectExpression)

Sets shared Reveal and Hide effect assets or inline effect tag expressions.

Parameters

Name Type
revealEffect TextStudio.TextStudioEffectDefinitionAsset
hideEffect TextStudio.TextStudioEffectDefinitionAsset
revealEffectExpression System.String
hideEffectExpression System.String
public void SetBuiltInTypewriterPreset(string presetId)

Selects a complete built-in typewriter recipe by stable identifier.

Parameters

Name Type
presetId System.String
public TextStudioRevealDebugSnapshot GetRevealDebugSnapshot()

Captures current reveal, renderer, and provider diagnostics without changing playback.

Returns

TextStudio.TextStudioRevealDebugSnapshot

public void SetReactionTargets(List<TextStudioReactionWorldTargetBinding> targets)

Assigns world target bindings and configures this text component as the reaction action host.

Parameters

Name Type
targets System.Collections.Generic.List{TextStudio.TextStudioReactionWorldTargetBinding}

TryGetReactionTarget(string, out TextStudioReactionAnchor)

Section titled “TryGetReactionTarget(string, out TextStudioReactionAnchor)”
public bool TryGetReactionTarget(string key, out TextStudioReactionAnchor anchor)

Attempts to resolve a configured world target to its current position and rotation using its binding key.

Parameters

Name Type
key System.String
anchor TextStudio.TextStudioReactionAnchor

Returns

System.Boolean

public int ResolveReactionTargetSlot(string key)

Finds the exact named world target binding, or returns -1 when no binding matches.

Parameters

Name Type
key System.String

Returns

System.Int32

TryGetReactionTarget(int, out TextStudioReactionAnchor)

Section titled “TryGetReactionTarget(int, out TextStudioReactionAnchor)”
public bool TryGetReactionTarget(int slot, out TextStudioReactionAnchor anchor)

Attempts to resolve a configured world target to its current position and rotation using its slot.

Parameters

Name Type
slot System.Int32
anchor TextStudio.TextStudioReactionAnchor

Returns

System.Boolean

TryCaptureReactionOutput(in TextStudioReactionCaptureRequest, out TextStudioReactionLease)

Section titled “TryCaptureReactionOutput(in TextStudioReactionCaptureRequest, out TextStudioReactionLease)”
public bool TryCaptureReactionOutput(in TextStudioReactionCaptureRequest request, out TextStudioReactionLease lease)

Attempts to retain supported reaction output in Play Mode and records the capture diagnostic.

Parameters

Name Type
request TextStudio.TextStudioReactionCaptureRequest
lease TextStudio.TextStudioReactionLease

Returns

System.Boolean

TryGetReactionAnchor(in TextStudioReactionContext, out TextStudioReactionAnchor)

Section titled “TryGetReactionAnchor(in TextStudioReactionContext, out TextStudioReactionAnchor)”
public bool TryGetReactionAnchor(in TextStudioReactionContext context, out TextStudioReactionAnchor anchor)

Attempts to resolve an active renderer's anchor for a reaction context belonging to the current text state.

Parameters

Name Type
context TextStudio.TextStudioReactionContext
anchor TextStudio.TextStudioReactionAnchor

Returns

System.Boolean

TryGetReactionUnitCharacter(in TextStudioReactionContext, out char)

Section titled “TryGetReactionUnitCharacter(in TextStudioReactionContext, out char)”
public bool TryGetReactionUnitCharacter(in TextStudioReactionContext context, out char character)

Returns the primary character only when the reaction context belongs to the current compiled text unit.

Parameters

Name Type
context TextStudio.TextStudioReactionContext
character System.Char

Returns

System.Boolean

public void PlayReaction(string signal, float intensity = 1, int unitIndex = -1)

Invokes matching named responses. Edit Mode is intentionally side-effect free.

Parameters

Name Type
signal System.String
intensity System.Single
unitIndex System.Int32
public void StopReactions()

Stops accepting new triggers while existing finite responses finish.

public void CancelReactions()

Cancels every response and invalidates pending callbacks.

public void DiscoverRenderersAndProviders()

Rediscovers attached renderers, placement providers, backends, and registered extensions.

public void SetText(string markup)

Replaces the current markup using the host's configured text-change policy.

Parameters

Name Type Description
markup System.String Markup to compile. A null value is treated as empty text.

SetText(string, TextStudioTextChangeScope)

Section titled “SetText(string, TextStudioTextChangeScope)”
public void SetText(string markup, TextStudioTextChangeScope scope)

Replaces markup using a scope for this change only, preserving the authored settings and start policy.

Parameters

Name Type
markup System.String
scope TextStudio.TextStudioTextChangeScope
public void SetText(string markup, bool syncTextImmediate)

Replaces markup and optionally processes visible output before returning.

Parameters

Name Type Description
markup System.String Markup to compile. Null is treated as empty text.
syncTextImmediate System.Boolean Whether to process the current authoring mode synchronously when safe.
public void SetTextDeferred(string markup)

Schedules a text replacement for the host's next update, coalescing multiple pending replacements.

Parameters

Name Type Description
markup System.String Markup to compile. A null value is treated as empty text.

SetTextDeferred(string, TextStudioTextChangeScope)

Section titled “SetTextDeferred(string, TextStudioTextChangeScope)”
public void SetTextDeferred(string markup, TextStudioTextChangeScope scope)

Defers a text change using a scope for this change only, preserving authored settings.

Parameters

Name Type
markup System.String
scope TextStudio.TextStudioTextChangeScope
public void AppendText(string markup)

Appends markup and recompiles the combined content.

Parameters

Name Type Description
markup System.String Markup to append. Null or empty input leaves the content unchanged.
public void AppendText(string markup, bool reveal)

Appends markup while retaining the prefix, optionally starting the new text regardless of the authored start policy.

Parameters

Name Type Description
markup System.String Markup to add after the current text.
reveal System.Boolean Whether to explicitly reveal the appended text. False preserves the authored start policy.
public void AppendTextDeferred(string markup)

Appends markup while preserving the existing prefix's reveal and animation state where possible.

Parameters

Name Type
markup System.String
public void ClearText()

Clears authored content, compiled state, and visible output.

public void SetAuthoringMode(TextStudioAuthoringMode mode)

Switches how authored markup is previewed in edit mode and rebuilds affected pipeline stages.

Parameters

Name Type
mode TextStudio.TextStudioAuthoringMode

SetBackendWriteHandling(TextStudioBackendWriteHandling)

Section titled “SetBackendWriteHandling(TextStudioBackendWriteHandling)”
public void SetBackendWriteHandling(TextStudioBackendWriteHandling handling)

Sets how external backend text writes are handled for this component.

Parameters

Name Type
handling TextStudio.TextStudioBackendWriteHandling
public void SetRunActionsInPreview(bool runActions)

Controls whether preview-safe actions may produce scene side effects in edit mode.

Parameters

Name Type
runActions System.Boolean

ConfigurePreviewStage(TextStudioPreviewStageMode, TextStudioPreviewView, TextStudioPreviewQuality, Vector2, float)

Section titled “ConfigurePreviewStage(TextStudioPreviewStageMode, TextStudioPreviewView, TextStudioPreviewQuality, Vector2, float)”
public void ConfigurePreviewStage(TextStudioPreviewStageMode mode, TextStudioPreviewView view, TextStudioPreviewQuality quality, Vector2 orbitAngles, float compareSpacing = 4)

Configures the shared edit-mode preview stage without changing runtime rendering. Attached renderer providers receive the same view and quality selection.

Parameters

Name Type
mode TextStudio.TextStudioPreviewStageMode
view TextStudio.TextStudioPreviewView
quality TextStudio.TextStudioPreviewQuality
orbitAngles UnityEngine.Vector2
compareSpacing System.Single

SetBehaviorProfile(TextStudioBehaviorProfile)

Section titled “SetBehaviorProfile(TextStudioBehaviorProfile)”
public void SetBehaviorProfile(TextStudioBehaviorProfile profile)

Assigns a renderer-neutral behavior profile, or restores complete local behavior when passed null.

Parameters

Name Type
profile TextStudio.TextStudioBehaviorProfile

SetAppearanceStyle(TextStudio2DStyleAsset)

Section titled “SetAppearanceStyle(TextStudio2DStyleAsset)”
public void SetAppearanceStyle(TextStudio2DStyleAsset style)

Selects Style and assigns a persistent 2D appearance stack. A null reference keeps Style unassigned and preserves native appearance. A backend that owns glyph styling can retain the assignment without rendering it until a supporting backend becomes active.

Parameters

Name Type
style TextStudio.TextStudio2DStyleAsset

SetTypewriterWritingStyle(TextStudioWritingStyleAsset)

Section titled “SetTypewriterWritingStyle(TextStudioWritingStyleAsset)”
public void SetTypewriterWritingStyle(TextStudioWritingStyleAsset style)

Snapshots the current Typewriter recipe to inline settings and selects its drawing treatment.

Parameters

Name Type
style TextStudio.TextStudioWritingStyleAsset

TryCaptureWritingPhraseIdentity(out string, out ulong, out Rect)

Section titled “TryCaptureWritingPhraseIdentity(out string, out ulong, out Rect)”
public bool TryCaptureWritingPhraseIdentity(out string resolvedText, out ulong shapingFingerprint, out Rect designBounds)

Reads the resolved text and native shaping identity used to match a prepared Writing phrase. Returns false until the current layout is ready; does not rebuild the mesh.

Parameters

Name Type
resolvedText System.String
shapingFingerprint System.UInt64
designBounds UnityEngine.Rect

Returns

System.Boolean

SetMarkupSyntaxOverride(TextStudioMarkupSyntax)

Section titled “SetMarkupSyntaxOverride(TextStudioMarkupSyntax)”
public void SetMarkupSyntaxOverride(TextStudioMarkupSyntax syntax)

Assigns component-specific syntax settings, or null to inherit the project setting.

Parameters

Name Type
syntax TextStudio.TextStudioMarkupSyntax

SetInlineDefaultEffects(TextStudioDefaultEffectMode, string, string, string, string)

Section titled “SetInlineDefaultEffects(TextStudioDefaultEffectMode, string, string, string, string)”
public void SetInlineDefaultEffects(TextStudioDefaultEffectMode mode, string allPhaseEffects = "", string revealEffects = "", string activeEffects = "", string hideEffects = "")

Configures this component's retained local default-effect fallback.

Parameters

Name Type
mode TextStudio.TextStudioDefaultEffectMode
allPhaseEffects System.String
revealEffects System.String
activeEffects System.String
hideEffects System.String
public void ShowText(string markup)

Replaces the content and begins reveal playback using the current settings.

Parameters

Name Type Description
markup System.String Markup to compile and reveal.

ShowText(string, TextStudioTextChangeScope)

Section titled “ShowText(string, TextStudioTextChangeScope)”
public void ShowText(string markup, TextStudioTextChangeScope scope)

Reveals markup using a scope for this change only, without modifying the authored settings.

Parameters

Name Type
markup System.String
scope TextStudio.TextStudioTextChangeScope

Remarks

Scopes that retain matching glyphs reveal only changed glyphs, so a change that leaves every glyph matching keeps the current reveal. TextStudioTextChangeScope.WholeText replays the complete text.

public void ShowTextInstant(string markup)

Replaces the content and displays it completely without advancing a reveal clock.

Parameters

Name Type Description
markup System.String Markup to compile and display.
public void ScheduleMeshRefresh()

Marks topology and all dependent presentation stages for refresh on the next update.

public void ScheduleTextRebuild()

Marks authored text for recompilation on the next update.

public void ScheduleLayoutRebuild()

Marks layout, placement, animation, and visual output for recomputation.

public void ScheduleTopologyRebuild()

Marks renderer topology and every dependent presentation stage for recomputation.

public void ScheduleVisualStateUpdate()

Marks evaluated animation and visual output for refresh without rebuilding text or layout.

public void ScheduleSimulationUpdate()

Marks simulation-backed channels and visual output for refresh.

RegisterExternalTextSource(ITextStudioExternalTextSource)

Section titled “RegisterExternalTextSource(ITextStudioExternalTextSource)”
public void RegisterExternalTextSource(ITextStudioExternalTextSource source)

Registers a component-local external text source and rediscovers source priority.

Parameters

Name Type
source TextStudio.ITextStudioExternalTextSource

UnregisterExternalTextSource(ITextStudioExternalTextSource)

Section titled “UnregisterExternalTextSource(ITextStudioExternalTextSource)”
public void UnregisterExternalTextSource(ITextStudioExternalTextSource source)

Stops using a previously registered component-local external text source.

Parameters

Name Type
source TextStudio.ITextStudioExternalTextSource

RegisterExternalEffectSource(ITextStudioExternalEffectSource)

Section titled “RegisterExternalEffectSource(ITextStudioExternalEffectSource)”
public void RegisterExternalEffectSource(ITextStudioExternalEffectSource source)

Registers an ordered external effect source with this host.

Parameters

Name Type
source TextStudio.ITextStudioExternalEffectSource

UnregisterExternalEffectSource(ITextStudioExternalEffectSource)

Section titled “UnregisterExternalEffectSource(ITextStudioExternalEffectSource)”
public void UnregisterExternalEffectSource(ITextStudioExternalEffectSource source)

Stops polling a previously registered external effect source.

Parameters

Name Type
source TextStudio.ITextStudioExternalEffectSource

RegisterExtensionTagProcessor(ITextStudioExtensionTagProcessor)

Section titled “RegisterExtensionTagProcessor(ITextStudioExtensionTagProcessor)”
public void RegisterExtensionTagProcessor(ITextStudioExtensionTagProcessor processor)

Registers a component-local processor for plan and reveal extension-tag callbacks.

Parameters

Name Type
processor TextStudio.ITextStudioExtensionTagProcessor

UnregisterExtensionTagProcessor(ITextStudioExtensionTagProcessor)

Section titled “UnregisterExtensionTagProcessor(ITextStudioExtensionTagProcessor)”
public void UnregisterExtensionTagProcessor(ITextStudioExtensionTagProcessor processor)

Stops dispatching extension-tag callbacks to a component-local processor.

Parameters

Name Type
processor TextStudio.ITextStudioExtensionTagProcessor
public void ForceMeshRefresh(float deltaTime = 0)

Performs one synchronous presentation update using an explicit non-negative delta time in seconds.

Parameters

Name Type
deltaTime System.Single
public void ForceMeshRefresh(in TimeStep step)

Performs one synchronous presentation update using a host-supplied deterministic time step.

Parameters

Name Type
step ImpossibleRobert.Common.Timing.TimeStep
public void SchedulePlacementRefresh()

Marks component-provided placement output for recomputation.

public bool SelectPlacementExtension(string placementId)

Selects an attached placement extension by its stable identifier.

Parameters

Name Type
placementId System.String

Returns

System.Boolean

public void ConfigureLinearPlacement()

Selects source-linear placement without changing the current orientation policy.

ConfigureCurvePlacement(in TextStudioCurveDefinition, float, TextStudioApplicationSelector, TextStudioCurveMapping)

Section titled “ConfigureCurvePlacement(in TextStudioCurveDefinition, float, TextStudioApplicationSelector, TextStudioCurveMapping)”
public void ConfigureCurvePlacement(in TextStudioCurveDefinition definition, float height = 0.5, TextStudioApplicationSelector selection = default, TextStudioCurveMapping mapping = TextStudioCurveMapping.EachMatch)

Bends selected text along an independent inline baseline profile.

Parameters

Name Type
definition TextStudio.TextStudioCurveDefinition
height System.Single
selection TextStudio.TextStudioApplicationSelector
mapping TextStudio.TextStudioCurveMapping

ConfigureCurvePlacement(TextStudioCurveProfile, float, TextStudioApplicationSelector, TextStudioCurveMapping)

Section titled “ConfigureCurvePlacement(TextStudioCurveProfile, float, TextStudioApplicationSelector, TextStudioCurveMapping)”
public void ConfigureCurvePlacement(TextStudioCurveProfile profile, float height = 0.5, TextStudioApplicationSelector selection = default, TextStudioCurveMapping mapping = TextStudioCurveMapping.EachMatch)

Bends selected text along a shared curve profile.

Parameters

Name Type
profile TextStudio.TextStudioCurveProfile
height System.Single
selection TextStudio.TextStudioApplicationSelector
mapping TextStudio.TextStudioCurveMapping
public void MakeCurvePlacementLocal()

Copies the linked curve into independent inline settings.

ConfigureArcPlacement(float, float, float, PathSpacing, float, bool, float, PathPosition)

Section titled “ConfigureArcPlacement(float, float, float, PathSpacing, float, bool, float, PathPosition)”
public void ConfigureArcPlacement(float radius, float arcAngle, float startAngle = 0, PathSpacing spacing = PathSpacing.Even, float fill = 1, bool reverse = false, float radiusChange = 0, PathPosition pathPosition = PathPosition.Above)

Configures planar arc placement in local units and degrees without changing orientation.

Parameters

Name Type
radius System.Single
arcAngle System.Single
startAngle System.Single
spacing TextStudio.PathSpacing
fill System.Single
reverse System.Boolean
radiusChange System.Single
pathPosition TextStudio.PathPosition

ConfigureWavePlacement(float, float, float, float)

Section titled “ConfigureWavePlacement(float, float, float, float)”
public void ConfigureWavePlacement(float amplitude, float frequency, float speed, float phase = 0)

Configures animated planar wave placement in local units and cycles per second.

Parameters

Name Type
amplitude System.Single
frequency System.Single
speed System.Single
phase System.Single

ConfigureSpatialWavePlacement(float, float, float, float, float, float, float)

Section titled “ConfigureSpatialWavePlacement(float, float, float, float, float, float, float)”
public void ConfigureSpatialWavePlacement(float amplitude, float depthAmplitude, float frequency, float speed, float spinSpeed = 0, float spinStagger = 0, float phase = 0)

Configures vertical/depth wave placement and glyph roll using the host playback clock. Spin values are revolutions per second and revolutions across the text.

Parameters

Name Type
amplitude System.Single
depthAmplitude System.Single
frequency System.Single
speed System.Single
spinSpeed System.Single
spinStagger System.Single
phase System.Single

ConfigureCirclePlacement(float, float, PathSpacing, bool, float, PathPosition)

Section titled “ConfigureCirclePlacement(float, float, PathSpacing, bool, float, PathPosition)”
public void ConfigureCirclePlacement(float radius, float startAngle = 0, PathSpacing spacing = PathSpacing.Even, bool reverse = false, float radiusChange = 0, PathPosition pathPosition = PathPosition.Above)

Configures circular placement in local units and degrees without changing orientation.

Parameters

Name Type
radius System.Single
startAngle System.Single
spacing TextStudio.PathSpacing
reverse System.Boolean
radiusChange System.Single
pathPosition TextStudio.PathPosition

ConfigureGridPlacement(int, GridCellSizing, Vector2, Vector2, GridFlow, bool, bool)

Section titled “ConfigureGridPlacement(int, GridCellSizing, Vector2, Vector2, GridFlow, bool, bool)”
public void ConfigureGridPlacement(int columns, GridCellSizing sizing = GridCellSizing.Auto, Vector2 cellSize = null, Vector2 gap = null, GridFlow flow = GridFlow.RowsFirst, bool reverse = false, bool respectSourceLines = false)

Configures row- or column-major grid placement with explicit or automatic cell sizing.

Parameters

Name Type
columns System.Int32
sizing TextStudio.GridCellSizing
cellSize UnityEngine.Vector2
gap UnityEngine.Vector2
flow TextStudio.GridFlow
reverse System.Boolean
respectSourceLines System.Boolean
public void SetArcStartAngle(float startAngle)

Changes the arc's start angle in degrees and refreshes placement.

Parameters

Name Type
startAngle System.Single
public void SetCircleStartAngle(float startAngle)

Changes the circle's start angle in degrees and refreshes placement.

Parameters

Name Type
startAngle System.Single

SetPlacementOrientation(TextStudioPlacementOrientation, Vector3)

Section titled “SetPlacementOrientation(TextStudioPlacementOrientation, Vector3)”
public void SetPlacementOrientation(TextStudioPlacementOrientation orientation, Vector3 fineRotation = null)

Sets glyph orientation along the selected placement plus an optional local Euler rotation in degrees.

Parameters

Name Type
orientation TextStudio.TextStudioPlacementOrientation
fineRotation UnityEngine.Vector3
public TextStudioBehaviorSettings GetLocalBehaviorSettings()

Captures complete component-local behavior even while an assigned profile temporarily replaces one or both domains.

Returns

TextStudio.TextStudioBehaviorSettings

public TextStudioText()

public float InlineColorAlphaThreshold { get; set; }

Returns

System.Single

public TextStudioAppearanceSource AppearanceSource { get; set; }

Selects a live reusable style or component-owned settings. Empty Inline preserves native appearance.

Returns

TextStudio.TextStudioAppearanceSource

public TextStudio2DStyleSettings InlineAppearanceSettings { get; }

Returns an independent copy of the retained inline settings, including an empty default stack.

Returns

TextStudio.TextStudio2DStyleSettings

public string SupplementalEffects { get; }

A snapshot of active owned layers, suitable for an isolated preview or capture.

Returns

System.String

public TextStudioExtensionRegistry Extensions { get; }

Neutral target-scoped extension registry. Accessing this property creates the registry; Text Studio pays no registry cost when no extension uses it.

Returns

TextStudio.TextStudioExtensionRegistry

public TextStudioFrameTarget TextBackendFrameTarget { get; }

The built-in text backend target for independent frame composition.

Returns

TextStudio.TextStudioFrameTarget

public int AppearanceImageCount { get; }

Returns

System.Int32

public TextStudioReadOnlyBuffer<TextStudioColorSource> ColorSources { get; }

Current native image sources, borrowed until the next text or layout update.

Returns

TextStudio.TextStudioReadOnlyBuffer{TextStudio.TextStudioColorSource}

public bool IsAnimationPaused { get; }

Whether Text Studio-owned presentation time is paused. Content and layout updates remain available.

Returns

System.Boolean

public CompiledTextStudioAppearancePlan CompiledAppearancePlan { get; }

The composed appearances resolved for this source, including local and catalog invocations.

Returns

TextStudio.CompiledTextStudioAppearancePlan

public int AppearanceFontCount { get; }

Returns

System.Int32

public ITextStudioContent Content { get; }

Focused content view for integrations that do not control playback.

Returns

TextStudio.ITextStudioContent

public ITextStudioPlayback Playback { get; }

Focused reveal and hide playback view.

Returns

TextStudio.ITextStudioPlayback

public ITextStudioVisibility Visibility { get; }

Focused runtime visibility view.

Returns

TextStudio.ITextStudioVisibility

public ITextStudioEffectControl Effects { get; }

Focused renderer-neutral effect control view.

Returns

TextStudio.ITextStudioEffectControl

public ITextStudioBackendHost Backends { get; }

Advanced text-backend discovery and state view.

Returns

TextStudio.ITextStudioBackendHost

public TextStudio2DRenderStatistics RenderStatistics { get; }

How this text's 2D Appearance rendered in its latest presentation update, for profiling and diagnostics.

Returns

TextStudio.TextStudio2DRenderStatistics

public UnityEvent<string> OnSetTextEvent { get; }

Returns

UnityEngine.Events.UnityEvent{System.String}

public UnityEvent OnShowCompleteEvent { get; }

Returns

UnityEngine.Events.UnityEvent

public UnityEvent OnDisappearCompleteEvent { get; }

Returns

UnityEngine.Events.UnityEvent

public string Markup { get; }

Gets the authored markup, including Text Studio tags.

Returns

System.String

public string Text { get; }

Gets the visible plain-text content after markup processing.

Returns

System.String

public TextStudioPlanView Plan { get; }

Gets a transient, allocation-free view of the compiled semantic plan. Do not retain the view after the current callback or frame.

Returns

TextStudio.TextStudioPlanView

public TextStudio2DStyleAsset AppearanceStyle { get; }

Returns

TextStudio.TextStudio2DStyleAsset

public CompiledTextStudio2DStyle CompiledAppearanceStyle { get; }

Returns

TextStudio.CompiledTextStudio2DStyle

public TextStudioWritingStyleAsset WritingStyle { get; }

Returns

TextStudio.TextStudioWritingStyleAsset

public CompiledTextStudioWritingStyle CompiledWritingStyle { get; }

Returns

TextStudio.CompiledTextStudioWritingStyle

public TextStudioPreview Preview { get; }

Returns

TextStudio.TextStudioPreview

public IReadOnlyList<ITextStudioRenderer> Renderers { get; }

Returns

System.Collections.Generic.IReadOnlyList{TextStudio.ITextStudioRenderer}

public IReadOnlyList<ITextStudioPreviewStageProvider> PreviewStageProviders { get; }

Returns

System.Collections.Generic.IReadOnlyList{TextStudio.ITextStudioPreviewStageProvider}

public TMP_Text TMPText { get; }

Returns

TMPro.TMP_Text

public bool HasExternalTextSource { get; }

Returns

System.Boolean

public int ExternalTextSourceCount { get; }

Returns

System.Int32

public IReadOnlyList<ITextStudioExtensionTagProcessor> ExtensionTagProcessors { get; }

Returns

System.Collections.Generic.IReadOnlyList{TextStudio.ITextStudioExtensionTagProcessor}

public IReadOnlyList<IPlacementStrategy> PlacementStrategies { get; }

Returns

System.Collections.Generic.IReadOnlyList{TextStudio.IPlacementStrategy}

public string ExtensionPlacementId { get; }

Returns

System.String

public ITextStudioPlacementExtension ActivePlacementExtension { get; }

Returns

TextStudio.ITextStudioPlacementExtension

public TextStudioPreviewStageMode PreviewStageMode { get; }

Returns

TextStudio.TextStudioPreviewStageMode

public TextStudioPreviewView PreviewView { get; }

Returns

TextStudio.TextStudioPreviewView

public TextStudioPreviewQuality PreviewQuality { get; }

Returns

TextStudio.TextStudioPreviewQuality

public Vector2 PreviewOrbitAngles { get; }

Returns

UnityEngine.Vector2

public float PreviewCompareSpacing { get; }

Returns

System.Single

public Transform InfluenceTarget { get; set; }

Returns

UnityEngine.Transform

public bool HasInfluenceTarget { get; }

Returns

System.Boolean

public Vector3 InfluenceTargetWorldPosition { get; }

Returns

UnityEngine.Vector3

public TextStudioPreviewStageSettings PreviewStageSettings { get; }

Returns

TextStudio.TextStudioPreviewStageSettings

public TextStudioAuthoringMode AuthoringMode { get; }

Returns

TextStudio.TextStudioAuthoringMode

public TextStudioBackendWriteHandling BackendWriteHandling { get; }

Returns

TextStudio.TextStudioBackendWriteHandling

public TextStudioBehaviorProfile BehaviorProfile { get; }

Returns

TextStudio.TextStudioBehaviorProfile

public bool UsesBehaviorProfileDefaultEffects { get; }

Returns

System.Boolean

public bool UsesBehaviorProfileTypewriter { get; }

Returns

System.Boolean

public TextStudioMarkupSyntax MarkupSyntaxOverride { get; set; }

Gets or sets optional syntax settings for this component. Null inherits project settings.

Returns

TextStudio.TextStudioMarkupSyntax

public TextStudioAuthoringProfile ResolvedAuthoringProfile { get; }

Gets the effective authoring profile after component and project settings are resolved.

Returns

TextStudio.TextStudioAuthoringProfile

public TextStudioDefaultEffectsSource DefaultEffectsSource { get; }

Returns

TextStudio.TextStudioDefaultEffectsSource

public float RevealSpeedMultiplier { get; }

Returns

System.Single

public bool WaitAfterFinalReveal { get; set; }

Returns

System.Boolean

public bool RunActionsInPreview { get; }

Returns

System.Boolean

public TextStudioTypewriterPreset TypewriterPreset { get; }

Returns

TextStudio.TextStudioTypewriterPreset

public TextStudioEffectDefinitionAsset TypewriterRevealEffect { get; }

Returns

TextStudio.TextStudioEffectDefinitionAsset

public TextStudioEffectDefinitionAsset TypewriterHideEffect { get; }

Returns

TextStudio.TextStudioEffectDefinitionAsset

public TextStudioTypewriterSource TypewriterSource { get; set; }

Returns

TextStudio.TextStudioTypewriterSource

public PlacementMode PlacementMode { get; set; }

Returns

TextStudio.PlacementMode

public RevealMode RevealMode { get; set; }

Returns

TextStudio.RevealMode

public RevealTimingsPreset BuiltInTimingsPreset { get; set; }

Returns

TextStudio.RevealTimingsPreset

public float ArcStartAngle { get; }

Returns

System.Single

public PathPosition ArcPathPosition { get; }

Returns

TextStudio.PathPosition

public float CircleStartAngle { get; }

Returns

System.Single

public PathPosition CirclePathPosition { get; }

Returns

TextStudio.PathPosition

public int GridColumns { get; }

Returns

System.Int32

public GridCellSizing GridCellSizing { get; }

Returns

TextStudio.GridCellSizing

public Vector2 GridCellSize { get; }

Returns

UnityEngine.Vector2

public Vector2 GridGap { get; }

Returns

UnityEngine.Vector2

public GridFlow GridFlow { get; }

Returns

TextStudio.GridFlow

public float RevealProgress { get; }

Gets normalized reveal progress from 0 (hidden) to 1 (fully revealed).

Returns

System.Single

public ITextStudioWordBoundaryProvider WordBoundaryProvider { get; set; }

Optional language-specific word segmentation. Null uses Unicode default word boundaries.

Returns

TextStudio.ITextStudioWordBoundaryProvider

public int RevealedGlyphCount { get; }

Gets the number of semantic glyphs currently revealed.

Returns

System.Int32

public int TotalGlyphCount { get; }

Gets the number of visible semantic glyphs in the compiled content.

Returns

System.Int32

public int WordCount { get; }

Returns

System.Int32

public bool HasVisibilityOverrides { get; }

Gets whether any runtime visibility override currently differs from authored visibility.

Returns

System.Boolean

public bool IsRevealing { get; }

Gets whether reveal playback is currently advancing.

Returns

System.Boolean

public bool IsPresentationBusy { get; }

Whether pending text, reveal transitions, actions, or finite character substitutions still need presentation frames. Persistent effects do not keep this busy.

Returns

System.Boolean

public bool IsRevealPaused { get; }

Gets whether reveal playback is paused without being stopped.

Returns

System.Boolean

public bool IsWaitingForAction { get; }

Whether reveal is paused while an action is still executing.

Returns

System.Boolean

public bool IsDisappearing { get; }

Gets whether hide playback is currently advancing.

Returns

System.Boolean

public bool RevealEffectsEnabled { get; set; }

Returns

System.Boolean

public bool ActiveEffectsEnabled { get; set; }

Returns

System.Boolean

public bool HideEffectsEnabled { get; set; }

Returns

System.Boolean

public MonoBehaviour CoroutineHost { get; }

Gets the component that owns action coroutines.

Returns

UnityEngine.MonoBehaviour

public bool IsShowingText { get; }

Gets whether reveal playback is currently active.

Returns

System.Boolean

public bool LoopReveal { get; set; }

Returns

System.Boolean

public float LoopRevealDelay { get; set; }

Returns

System.Single

public float RevealAppearanceDuration { get; set; }

Returns

System.Single

public float RevealDisappearanceDuration { get; set; }

Returns

System.Single

public string TypewriterPresetId { get; }

Returns

System.String

public string RevealTransitionStyle { get; }

Returns

System.String

public string HideTransitionStyle { get; }

Returns

System.String

public TextStudioSequenceSettings RevealSequence { get; set; }

Returns

TextStudio.TextStudioSequenceSettings

public TextStudioSequenceSettings HideSequence { get; set; }

Returns

TextStudio.TextStudioSequenceSettings

public TextStudioMotionPolicy MotionPolicy { get; set; }

Returns

TextStudio.TextStudioMotionPolicy

public TextStudioTypewriterStartMode TypewriterStartMode { get; set; }

Returns

TextStudio.TextStudioTypewriterStartMode

public TextStudioTextChangeMode TextChangeMode { get; set; }

Returns

TextStudio.TextStudioTextChangeMode

public TextStudioTextChangeScope TextChangeScope { get; set; }

Returns

TextStudio.TextStudioTextChangeScope

public bool ResetSpeedOnNewText { get; set; }

Returns

System.Boolean

public TextStudioTypewriterSkipRevealMode SkipRevealMode { get; set; }

Returns

TextStudio.TextStudioTypewriterSkipRevealMode

public bool TriggerRemainingMarkersOnSkip { get; set; }

Returns

System.Boolean

public bool SkipCurrentWaitOnSkip { get; set; }

Returns

System.Boolean

public TextStudioTypewriterSkipHideMode SkipHideMode { get; set; }

Returns

TextStudio.TextStudioTypewriterSkipHideMode

public IReadOnlyList<TextStudioReactionWorldTargetBinding> ReactionTargets { get; }

Returns

System.Collections.Generic.IReadOnlyList{TextStudio.TextStudioReactionWorldTargetBinding}

public TextStudioReactionRecipe Reactions { get; set; }

Finite event responses, independent of typewriter timing and default effects.

Returns

TextStudio.TextStudioReactionRecipe

public bool HasActiveReactions { get; }

Returns

System.Boolean

public int SuppressedReactionCount { get; }

Returns

System.Int32

public int CancelledReactionCount { get; }

Returns

System.Int32

public TextStudioReactionCancelReason LastReactionCancellationReason { get; }

Returns

TextStudio.TextStudioReactionCancelReason

public string LastReactionCaptureDiagnostic { get; }

Returns

System.String

public float TextChangeLayoutDuration { get; set; }

Returns

System.Single

public string NumericDecimalSeparator { get; set; }

Decimal separator used by Numeric Value matching. Set this to the formatter's NumberDecimalSeparator.

Returns

System.String

public bool IsTextChangePending { get; }

Whether a replacement is waiting for the current hide sequence to finish.

Returns

System.Boolean

public bool CanOverlapTextChanges { get; }

Whether a configured Reaction can attempt an outgoing overlap handoff. A particular capture may still fail.

Returns

System.Boolean

public event Action<int, char> OnGlyphRevealed

Occurs when a visible glyph crosses its reveal boundary.

Returns

System.Action{System.Int32,System.Char}

public event Action<int> OnGlyphDisappeared

Occurs when a visible glyph crosses its disappearance boundary.

Returns

System.Action{System.Int32}

public event Action<int, string> OnTextUnitRevealed

Occurs when a semantic text unit becomes visible.

Returns

System.Action{System.Int32,System.String}

public event Action<string, string[]> OnMarkerReached

Occurs when playback reaches an authored marker.

Returns

System.Action{System.String,System.String[]}

public event Action<TextStudioPlanView> OnExtensionTagsChanged

Occurs after compilation changes the set of extension tags.

Returns

System.Action{TextStudio.TextStudioPlanView}

public event Action<TextStudioExtensionTag> OnExtensionTagReached

Occurs when reveal reaches an extension tag configured for reveal dispatch.

Returns

System.Action{TextStudio.TextStudioExtensionTag}

public event Action<TextStudioTypewriterWaitInfo> OnTypewriterWaitStarted

Occurs immediately before a typewriter action suspends playback.

Returns

System.Action{TextStudio.TextStudioTypewriterWaitInfo}

public event Action<TextStudioTypewriterWaitInfo> OnTypewriterWaitFinished

Occurs when a typewriter wait completes or is skipped.

Returns

System.Action{TextStudio.TextStudioTypewriterWaitInfo}

public event Action OnTypewriterStarted

Occurs when reveal playback starts or restarts.

Returns

System.Action

public event Action OnShowComplete

Occurs after the final reveal delay has completed and the text is fully shown.

Returns

System.Action

public event Action OnDisappearComplete

Occurs after hide playback has made the complete text invisible.

Returns

System.Action

public event Action<TextStudioReactionContext> OnReactionSignal

Raised when a reaction emits a named signal, with the triggering text context.

Returns

System.Action{TextStudio.TextStudioReactionContext}

public event Action<TextStudioReactionContext> OnReactionAudioCue

Raised after the rendered state commits when a reaction requests an Audio Set cue.

Returns

System.Action{TextStudio.TextStudioReactionContext}