Modules: Tutorial¶
FTUE and guided tutorial framework (@rbx/tutorial). Status: Implemented (42 tests).
Purpose¶
- First-time user experience with ordered step sequences.
- Multiple step types: dialog, highlight, action, teleport, delay, checkpoint, custom.
- Completion conditions: action-based, timeout, manual, event-driven.
- Progress persistence across sessions with skip support.
Core rules¶
- Sequences have ordered steps with prerequisite sequences.
- Each step has a completion condition that must be met to advance.
- Skipping is opt-in per step and per sequence.
- Progress auto-saves via dirty flag tracking.
- Completed sequences are never replayed (unless version changes).
Data model¶
TutorialSequence—id,name,steps[],skippable,persistent,prerequisites[],versionTutorialStep—id,stepType,title,message,condition,skippableTutorialProgress—completedSequences[],activeSequenceId?,activeStepIndex,skippedSequences[]
Security¶
- Server tracks progress.
- Client sends action completions; server validates against expected actions.
- Skip requests are gated by the
skippableflag.
Config/flags¶
tutorial.enabled(kill-switch)tutorial.autoStart— auto-start first uncompleted sequence on jointutorial.allowSkipAll— global skip override
Observability¶
tutorial.step_started— step begantutorial.step_completed— step finishedtutorial.sequence_completed— full sequence donetutorial.sequence_skipped— player skipped