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:

Epic has no single "scheduled experience" guide. Our pattern is:

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

  1. 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 on BP_AT_ProgramDirector.
  2. Add the states above. In 5.8, a tree can define its starting state; set it to Attract.
  3. 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.
  4. Transitions:
    • on task completion;
    • on Gameplay Tag events (Program.Event.VisitorPresent, Program.Event.StaffSkip);
    • on time conditions.
  5. Schedule: a ScheduleCheck evaluator reads the venue schedule from a Data Asset (for example "talks at :00 and :30 during opening hours") and the PC clock. It raises Program.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:

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:

Every staff action is logged.

5. Offline and failure

6. Practice exercise

  1. Make ST_AT_Test with Attract → Monologue → OutOfCharacter → Attract, using two short test sequences.
  2. Drive Attract → Monologue from a key press standing in for the presence sensor, and from a schedule Data Asset set 1 minute ahead.
  3. Add a staff Skip event.
  4. Run it for 30 minutes and check the log shows every transition.

7. Check before a venue build

Sources