Home › How do I…? › How to build a VR training scenario with a safety checklist

How to build a VR training scenario with a safety checklist

Advanced Framework Pro covers the parts of a training scenario that are the same in every scenario: walking and teleporting, grabbing tools with proper hand poses, pressing and touching, checklists and instructions in front of the trainee, notifications, snapping parts together, and an instructor view. You write the procedure; the framework supplies the hands, the UI and the platforms. This page maps a typical scenario to the modules.

At a glance

Checkpoint station actor
├─ trigger box            → FL_PawnUI › Pawn UI Add Element (checklist WBP_Base, DA_PawnUIPosition_Near)
├─ BPC_State_Boolean "Open"   → drives the barrier arm
└─ on completion          → BFL_Notifications › Show Default Notification
Tool rack:      BPC_Spawner, Spawn Class = tool with BPC_Interaction_Grip_Pickup + hand pose
Assembly step:  BPC_Connector_Anchor on the part, BPC_Anchor on the target → attach event advances
Button step:    BPC_Interaction_Overlap (+ BPC_Interaction_Select for desktop)
Level:          PDA_Level per module.   Instructor: AFM_Replication + BPC_Spectator

A scenario as the framework sees it

Take a safety induction: the trainee puts on protective gear, confirms it on a checklist, passes a barrier into the work area, picks up the right tool and performs a few steps in order.

Step in the scenarioPluginWhat you use
A zone that opens the checklist when enteredAFS_UI_Pawna trigger on the zone calls Pawn UI Add Element with the checklist widget
The checklist itselfAFS_UIa page from the design system; a button group with checkboxes
Barrier, lamp, progressAFM_Stateboolean and float state components; the barrier arm reads them
"You may enter"AFS_UI_NotificationsShow Default Notification with the success colour
Pick up a toolAFS_UX_GripBPC_Interaction_Grip_Pickup with grip sockets and a hand pose from Hand Pose Studio
Tools on demand, no clutterAFM_Spawnera rack that hands out fresh copies, released ones despawn
Put a part in its placeAFS_Core_Snappinga keyed connector and anchor; the anchor's attach event advances the step
Press a physical buttonAFS_UX_Overlapfingertip overlap, with a select interaction for desktop
Name the parts of a machineAFS_UI_LabelsBPC_Label_Simple with a leader line, switched on at the step that needs it
Walk the siteAFS_UX_Teleporter, AFS_UX_Locomotionteleport areas on the walkable floor
Several stations or modulesAFS_Core_Loadingone PDA_Level per module, a lobby in between
Instructor watches or joinsAFM_Replication, AFM_Spectatora networked session; the instructor's screen on a smooth follow camera
Same course on desktop for refreshersAFS_Core_Pawnthe desktop and mobile pawns, chosen by the level's data asset

How it fits together

  1. Build each station as an actor with its interactions and state components. Keep the step logic on the station; the trainee's pawn knows nothing about the procedure.
  2. Put instructions in pawn UI, at the near distance when the trainee must tick something, at the far distance when they only read. Use a notification for confirmations that need no answer and a popup for a decision.
  3. Use snapping anchors and overlap buttons as the step sensors; their events are what advance the procedure.
  4. Describe the module in a PDA_Level and test on desktop first, where iteration is fastest, then in VR. The content is the same.
  5. For instructor-led sessions, replicate the stations and give the instructor the spectator camera.

What the framework does not do

It has no scoring, no LMS or SCORM export and no scenario editor. Those stay in the project.

Where to look

Map_Examples_UI_PawnUI is exactly the checkpoint above: a zone, a checklist, a barrier that opens. Map_Examples_Snapping and Map_Examples_Spawner cover the tool and assembly steps.