Tutorial — Authoring a Timed Experience
Augmented Traveler local tutorial. Back to Unreal — Tutorials · content: Tutorial — Sequencer for Monologues · conversation: Tutorial — Authoring a Q&A Experience with Ambient Idle
How to build the program clock: the timed running order of a figure's appearance. Examples:
- "Every 20 minutes Mitchell gives a 6-minute talk, takes questions for 10 minutes, then steps out of character to credit the sources."
- A fixed-time evening event.
Epic has no single "scheduled experience" guide. Our pattern is:
- State Tree decides when things happen;
- Level Sequences decide what plays;
- Data Assets hold each figure's settings.
It follows the program clock in the Pipeline Map (monologue → Q&A → out of character).
Draft. Validate on the Mitchell kiosk program and update this page.
1. The program as states
Attract ──(visitor present or scheduled time)──▶ Intro ──▶ Monologue[n]
▲ │ OnMonologueEnd
│ ▼
OutOfCharacter ◀──(Q&A time up or no questions)── QA (listening ⇄ answering)
│ (credits, sources, "this is a portrayal")
└──────────────(cooldown)──────────────────────▶ Attract
| State | What happens | Leaves when |
|---|---|---|
| Attract | Figure idles in period "busy" behaviour (writing, adjusting the telescope); soft ambient sound; a sign invites visitors | A visitor is detected (presence sensor) or the scheduled start time arrives |
| Intro | Short greeting sequence | Sequence ends |
| Monologue | Plays LS_<Figure>_Monologue_<n> | OnMonologueEnd event |
| QA | Listening and answering (Tutorial — Authoring a Q&A Experience with Ambient Idle) | Q&A time budget used up, or no question for N seconds |
| OutOfCharacter | A short sequence or caption card: who made this, which sources, that it is a portrayal (Ground Rules) | Sequence ends |
| Cooldown | Idle for a few seconds | Timer |
2. Build it with State Tree
- Make
ST_AT_Program(a State Tree asset; the StateTree plug-in must be on). Use the schema for an actor component, and run it onBP_AT_ProgramDirector. - Add the states above. In 5.8, a tree can define its starting state; set it to
Attract. - Tasks (small Blueprint or C++ State Tree tasks):
PlaySequence(LevelSequence): plays and completes when the sequence finishes (Tutorial — Sequencer for Monologues);Wait(Seconds);WaitForVisitor(presence sensor or button);RunQA(TimeBudget): hands control to the Q&A system and completes when the time is up.
- Transitions:
- on task completion;
- on Gameplay Tag events (
Program.Event.VisitorPresent,Program.Event.StaffSkip); - on time conditions.
- Schedule: a
ScheduleCheckevaluator reads the venue schedule from a Data Asset (for example "talks at :00 and :30 during opening hours") and the PC clock. It raisesProgram.Event.ScheduledStart.
Why State Tree: Epic's own State Tree overview uses a time-of-day system as its example. It is data-driven and easy to read, and it will convert more easily when UE6 arrives (Tutorial — Blueprints for Augmented Traveler).
Simpler alternative for a prototype: a Blueprint with Set Timer by Event and a switch on an enum. Move to State Tree before a venue build.
3. Per-figure and per-venue settings
DA_AT_<Figure>_<Venue>_Program:
- monologue list and order (or rotation), by date where the season matters;
- Q&A time budget (for example 8 minutes) and the silence timeout (for example 25 seconds);
- the schedule (times, or "on presence");
- attract behaviour set;
- volume and caption size for that room.
The same tree runs every venue. Only the Data Asset changes.
4. Staff controls
A hidden staff menu (a long-press on a corner, or a staff PIN) lets staff:
- Skip to the next state;
- Pause (the figure goes to a neutral idle, captions show "Back soon");
- Mute;
- Force offline mode (monologues only; no Q&A).
Every staff action is logged.
5. Offline and failure
- If the conversation service is unreachable:
RunQAcompletes at once, and the tree moves toOutOfCharacteror plays an extra monologue. Visitors never see an error. - The watchdog restarts the app nightly and after a crash (Tutorial — Packaging Builds for Each Surface).
6. Practice exercise
- Make
ST_AT_Testwith Attract → Monologue → OutOfCharacter → Attract, using two short test sequences. - Drive Attract → Monologue from a key press standing in for the presence sensor, and from a schedule Data Asset set 1 minute ahead.
- Add a staff Skip event.
- Run it for 30 minutes and check the log shows every transition.
7. Check before a venue build
Sources
- Epic, Overview of State Tree (time-of-day example): https://dev.epicgames.com/documentation/unreal-engine/overview-of-state-tree-in-unreal-engine
- Epic, State Tree quick start: https://dev.epicgames.com/documentation/unreal-engine/statetree-quick-start-guide
- Epic, Play cinematics from Blueprints: https://dev.epicgames.com/documentation/en-us/unreal-engine/play-cinematics-from-blueprints-in-unreal-engine
- Epic, Your First Game in Unreal Engine (timers): https://www.unrealengine.com/learning/start-building-games-with-our-new-course-your-first-game-in-unreal-engine
- Epic, UE 5.8 release notes (State Tree starting state): https://dev.epicgames.com/documentation/unreal-engine/unreal-engine-5-8-release-notes?lang=en-US
- Full list: Sources — 2026-09-19