Entry Actions (onEntry)
onEntry actions are things your training automatically does when a state is entered — before anything else happens. Think of them as setup instructions that prepare the state for learner interaction.What Happens When a State is Entered
Here’s the sequence:- Transition fires and moves the training to a new state
- onEntry actions run (in the order you defined them)
- State is now fully set up and waiting for learner interaction
- Learner does something (taps, moves, chooses, etc.)
- An event is triggered, and a transition out of the state may fire
Common onEntry Actions
| Action | What It Does | Example |
|---|---|---|
| Load Scene | Load a 3D scene into the viewport | Load “Factory Floor” scene |
| Play Audio | Play narration, background music, or sound effects | Play safety procedure narration (5 seconds) |
| Show Text | Display a brief text overlay in the scene | Show “Locate the pump valve” |
| Show Panel | Display a panel with title, body, optional choices, and Next button | Show “Quiz” panel with 3 choices |
| Highlight Object | Visually highlight a 3D object to draw attention | Highlight the valve in red, pulsing |
| Set Variable | Store or update a value (string, number, true/false, etc.) using an AXL expression | Set startTime to now() to track duration |
| Set Time Limit | Start a countdown that fires a timeout if the learner doesn’t respond | Set a 60-second time limit |
| Delay | Pause execution for a specified duration before the next action runs | Delay 2 seconds after loading a scene |
Adding onEntry Actions

In the Properties panel, select the On Entry tab
You’ll see a list of actions already in this state’s onEntry (if any) and an Add Action button.
Select the action type you want
Browse categories like Training Control, Media Playback, Object Manipulation, etc. or use the search bar.

Action Execution Order
onEntry actions run sequentially — one after another, in the order they appear in your list. Example sequence for a state:- Load “Operating Room” scene (immediate)
- Delay 1 second (let scene render)
- Play narration audio “Follow these steps…” (5 seconds)
- Show Panel — title “Heart Monitor”, body “Check the heart monitor” (waits for learner to read or click Next)
- Highlight the heart monitor object in blue (stays highlighted)
Example: Typical State Setup
Here’s a realistic example of onEntry actions for a state called “Identify the Problem”:- Scene loads (2-second delay for it to render)
- Audio narration plays (5 seconds)
- Panel appears below
- Pressure gauge pulses red to guide the learner’s eye
- Learner can now tap the highlighted gauge or select an answer
Coordinating onEntry with Events
Your learner interaction depends on what you set up in onEntry. Example: onEntry actions:- Show Panel: body “Tap the valve to open it”
- Highlight valve in blue
- Trigger on valve tap
- Transition to next state
Using onEntry for Setup, Not Just UI
onEntry isn’t just for displaying things — use it to initialize your training logic: Examples:- Set Variable
scoreto0at the beginning - Set Variable
startTimetonow()to track elapsed time (now()returns the current time in milliseconds) - Set Variable
isFirstAttempttotruefor attempt tracking - Set Variable
userChoiceto""before showing a choice panel
onEntry Best Practices
Load the scene first
Load the scene first
Always load a scene before playing audio or showing content. Users need to see the environment before interacting with it.
Add pauses after scene loads
Add pauses after scene loads
Use a 1-2 second wait after loading a scene. It gives the 3D engine time to render everything.
Narration before text panels
Narration before text panels
If you have audio narration, play it before showing a text panel. The learner will read and listen simultaneously.
Highlight targets clearly
Highlight targets clearly
Use onEntry to highlight objects the learner must interact with. Make it obvious what they should tap, move, or rotate.
Keep it short
Keep it short
If onEntry actions take too long, learners may get bored or distracted. Aim for 3–5 seconds of setup.
Next Steps
Learn about:- Exit Actions (onExit) — Clean up and prepare for the next state
- Conditional Transitions — Combine events, conditions, and actions
- Variables — Use variables to track data in onEntry

