Reuse Your Work
Behavior Profiles
A Behavior Profile supplies opt-in behavior shared by many Text Studio objects. It has two independent domains: Default Effects and Typewriter. Enable only the domain that should be inherited. A dialogue family can share cadence without forcing the same effects, while a HUD family can share an emphasis stack without changing reveal behavior.
Assign the profile from Content. The component continues to retain its complete local configuration behind every supplied domain. Clearing the profile, disabling a domain on the profile, or assigning a profile that does not provide that domain restores the local behavior instead of replacing it with defaults.
Behavior Profiles do not own project-wide catalogs, markup grammar, renderer policy, or motion policy. Those remain in Project Settings. They also do not own Source. Text Studio keeps the authored line local or under the explicit external text source.

A Behavior Profile shares only the enabled behavior domains and leaves retained local behavior ready to return.
Project settings and behavior ownership
Project Settings own global policy: built-in defaults, the effect catalog, Markup Syntax, Tag Expansion Sheets, motion policy, renderer and integration discovery, and validation. Use them for choices that should be consistent even before a scene object or profile is selected.
- Project Settings: global catalogs, syntax, defaults, motion, capability discovery, and validation.
- Behavior Profile: opt-in Default Effects and Typewriter behavior for a group of objects.
- Reusable preset or effect asset: one focused recipe that can be referenced by profiles or objects.
- Component-local settings: the complete authored fallback and the right place for a deliberate exception.
The component has no separate shared-settings source. This ownership model prevents one asset from silently taking over unrelated behavior and makes it clear what returns when an assignment changes.
What you can create
- Behavior Profiles with independent Default Effects and Typewriter domains.
- Typewriter Presets and Typewriter Motion Presets.
- Character Timings and Word Timings assets.
- Composed Effects, Effect Curves, and Effect Playback assets.
- Markup Syntax assets and Tag Expansion Sheets.
- Audio Sets, sound actions, custom actions, and input-action mappings.
- Effect Code payloads for reviewed, dependency-aware sharing.
Choose the right reusable asset
- Behavior Profile: opt-in default effects or typewriter behavior shared by a family of Text Studio objects.
- Typewriter Preset: reveal unit, cadence, motion, loop, wait, skip, and hide behavior.
- Typewriter Motion Preset: a reusable Reveal or Hide motion stack without timing ownership.
- Character Timings or Word Timings: pacing and punctuation rules only.
- Composed Effect: an ordered, renderer-aware visual treatment.
- Effect Curve: a reusable normalized progress shape.
- Effect Playback: a reusable time envelope and persistence policy.
- Markup Syntax: the project's delimiter and escaping policy.
- Tag Expansion Sheet: compact project vocabulary expanded into reviewed markup.
- Audio Set: reusable glyph clips, marker cues, and playback policy.
Use a shared asset when the decision should change everywhere that references it. Use Inline settings for one deliberate exception. A Behavior Profile temporarily supplies only its enabled domains; Text Studio preserves and restores the complete local configuration behind them.
Project Settings and catalog ownership
Text Studio Project Settings define global defaults, the active syntax policy, project effect and action registrations, tag expansion sheets, motion policy, and runtime loading behavior. Runtime registrations have the highest priority, project entries remain available underneath, and built-ins remain the final fallback.
Effect Code
Effect Code is for portable treatments. Copy from the composer, review the metadata and required dependencies, then import into another project. Conflicting identities are resolved without silently overwriting unrelated assets. Keep package-owned extension IDs namespaced and preserve missing dependencies until their add-on is installed.