# Quiz \ Events

These events fire while a trainee works through a quiz that was shown with **Activate Quiz**. Unlike most nodes they have no Execute input — they fire on their own when something happens in the quiz, and hand you details such as the question, the trainee’s answers and the score. Use them to give feedback, record results, or move the experience on.

## What's on this page

- **Quiz Pre Question** — Runs part of your scene each time a quiz question comes up on screen, before the trainee answers it.
- **Quiz Post Question** — Runs part of your scene each time the trainee leaves a quiz question, and tells you what they answered and whether it was right.
- **Quiz Submitted** — Runs part of your scene when the trainee submits a quiz, and gives you their final mark.

---

### ![Event_Quiz_PreQuestion.png](https://simlab-soft.com/help/uploads/images/gallery/2026-10/scaled-1680-/event-quiz-prequestion.png) Quiz Pre Question

Runs part of your scene each time a quiz question comes up on screen, before the trainee answers it.

#### What it does

This node watches a quiz and fires on its own whenever a question appears on the quiz panel. That is the first question right after the trainee presses **Start**, and every question they reach with **Next** or **Previous**. It also fires when the trainee goes back from the final Submit page to the questions. It hands you the quiz and the ID of the question now showing, so you can show a hint, play a voice-over, or highlight the part of your model the question is about.

Leave **Question ID** empty to react to every question, or pick one question to react only to it. Because the trainee can move back and forth, the same question can fire this event more than once. The node only reports what is happening; it doesn’t change the quiz or its questions.

#### Inputs

<table id="bkmrk-port-type-what-to-co"><thead><tr><th style="white-space: nowrap;">Port</th><th style="white-space: nowrap;">Type</th><th>What to connect</th></tr></thead><tbody><tr><td style="white-space: nowrap;">**Enable**</td><td style="white-space: nowrap;">True / false</td><td>While this is `true` the event is active and reacts to questions being shown. Set it to `false` to switch the event off. Leave it `true` to keep listening.</td></tr><tr><td style="white-space: nowrap;">**Quiz**</td><td style="white-space: nowrap;">Scene node</td><td>The quiz to watch: a quiz node created with the VR Quiz tool.</td></tr><tr><td style="white-space: nowrap;">**Question ID**</td><td style="white-space: nowrap;">Text</td><td>Pick the ID of one question (for example `Q2`) to react only to that question. Leave it empty to react to every question in the quiz.</td></tr></tbody></table>

#### Outputs

<table id="bkmrk-port-type-what-you-g"><thead><tr><th style="white-space: nowrap;">Port</th><th style="white-space: nowrap;">Type</th><th>What you get</th></tr></thead><tbody><tr><td style="white-space: nowrap;">**Execute**</td><td style="white-space: nowrap;">Trigger</td><td>Fires each time a matching question is shown. Wire it to whatever should happen before the trainee answers.</td></tr><tr><td style="white-space: nowrap;">**Quiz**</td><td style="white-space: nowrap;">Scene node</td><td>The quiz the question belongs to.</td></tr><tr><td style="white-space: nowrap;">**Question ID**</td><td style="white-space: nowrap;">Text</td><td>The ID of the question now showing, for example `Q2`. Useful when **Question ID** is empty and you need to tell the questions apart.</td></tr></tbody></table>

#### Example

<table id="bkmrk-enable-input-true-%E2%80%94-"><tbody><tr><td style="white-space: nowrap;">**Enable** input</td><td>`true` — keep listening for the whole quiz</td></tr><tr><td style="white-space: nowrap;">**Quiz** input</td><td>`<Pump Safety Quiz>`</td></tr><tr><td style="white-space: nowrap;">**Question ID** input</td><td>`Q2` — react only to the second question</td></tr><tr><td style="white-space: nowrap;">**Execute** output</td><td>Fires as question `Q2` appears; wire it to a step that shows the hint “Think about what happens to the pressure first.”</td></tr><tr><td style="white-space: nowrap;">**Quiz** output</td><td>`<Pump Safety Quiz>`</td></tr><tr><td style="white-space: nowrap;">**Question ID** output</td><td>`Q2`</td></tr></tbody></table>

#### Tips

- For a different hint on each question, add one Quiz Pre Question node per question, each with its own **Question ID**.
- Pair it with Quiz Post Question for the same question to hide the hint again when the trainee moves on.

---

### ![Event_Quiz_PostQuestion.png](https://simlab-soft.com/help/uploads/images/gallery/2026-10/scaled-1680-/event-quiz-postquestion.png) Quiz Post Question

Runs part of your scene each time the trainee leaves a quiz question, and tells you what they answered and whether it was right.

#### What it does

This node watches a quiz and fires on its own when the trainee moves on from a question by pressing **Next** or **Previous**. That includes **Next** on the last question, which leads to the Submit page. It doesn’t fire the moment an answer is clicked, so the trainee can still change their choice until they move on. If the quiz is set to show the correct answers, the first press on a question (labelled **Submit**) reveals them, and the event fires on the following **Next**.

It hands you the question’s ID, the answer the trainee chose, the correct answer, the question’s mark from 0 to 100, and whether the answer was right. Answers come as text: the answer’s wording, or the object’s name for questions answered by picking objects in the scene. Leave **Question ID** empty to react to every question, or pick one. The node only reports; it doesn’t change the quiz or the trainee’s answers.

#### Inputs

<table id="bkmrk-port-type-what-to-co-0"><thead><tr><th style="white-space: nowrap;">Port</th><th style="white-space: nowrap;">Type</th><th>What to connect</th></tr></thead><tbody><tr><td style="white-space: nowrap;">**Enable**</td><td style="white-space: nowrap;">True / false</td><td>While this is `true` the event is active and reacts to answered questions. Set it to `false` to switch the event off. Leave it `true` to keep listening.</td></tr><tr><td style="white-space: nowrap;">**Quiz**</td><td style="white-space: nowrap;">Scene node</td><td>The quiz to watch: a quiz node created with the VR Quiz tool.</td></tr><tr><td style="white-space: nowrap;">**Question ID**</td><td style="white-space: nowrap;">Text</td><td>Pick the ID of one question (for example `Q2`) to react only to that question. Leave it empty to react to every question in the quiz.</td></tr></tbody></table>

#### Outputs

<table id="bkmrk-port-type-what-you-g-0"><thead><tr><th style="white-space: nowrap;">Port</th><th style="white-space: nowrap;">Type</th><th>What you get</th></tr></thead><tbody><tr><td style="white-space: nowrap;">**Execute**</td><td style="white-space: nowrap;">Trigger</td><td>Fires each time the trainee leaves a matching question. Wire it to whatever should react to their answer.</td></tr><tr><td style="white-space: nowrap;">**Quiz**</td><td style="white-space: nowrap;">Scene node</td><td>The quiz the question belongs to.</td></tr><tr><td style="white-space: nowrap;">**Question ID**</td><td style="white-space: nowrap;">Text</td><td>The ID of the question the trainee just left, for example `Q2`.</td></tr><tr><td style="white-space: nowrap;">**Selected Answer**</td><td style="white-space: nowrap;">Text</td><td>What the trainee chose: the answer’s wording, or the object’s name for object questions. When a question accepts several answers they come comma separated, for example `Inlet Valve, Drain Valve`. Empty when the trainee didn’t choose anything.</td></tr><tr><td style="white-space: nowrap;">**Correct Answer**</td><td style="white-space: nowrap;">Text</td><td>The right answer, in the same form. When a question has several correct answers they come comma separated.</td></tr><tr><td style="white-space: nowrap;">**Mark**</td><td style="white-space: nowrap;">Number</td><td>The question’s mark from `0` to `100`: `100` when the answer is right and `0` when it is wrong or missing. When the question gives its correct answers different marks, you get the mark of the one the trainee chose. Star-rating questions have no right answer and always give `0`.</td></tr><tr><td style="white-space: nowrap;">**Correct**</td><td style="white-space: nowrap;">True / false</td><td>`true` when the trainee’s answer is right, otherwise `false`. When a question accepts several answers, it is right only when the trainee picked exactly the correct ones and nothing else. Star-rating questions always give `false`.</td></tr></tbody></table>

#### Example

<table id="bkmrk-enable-input-true-qu"><tbody><tr><td style="white-space: nowrap;">**Enable** input</td><td>`true`</td></tr><tr><td style="white-space: nowrap;">**Quiz** input</td><td>`<Pump Safety Quiz>`</td></tr><tr><td style="white-space: nowrap;">**Question ID** input</td><td>`Q2`</td></tr><tr><td style="white-space: nowrap;">**Question ID** output</td><td>`Q2`</td></tr><tr><td style="white-space: nowrap;">**Selected Answer** output</td><td>`Outlet Valve`</td></tr><tr><td style="white-space: nowrap;">**Correct Answer** output</td><td>`Inlet Valve`</td></tr><tr><td style="white-space: nowrap;">**Mark** output</td><td>`0`</td></tr><tr><td style="white-space: nowrap;">**Correct** output</td><td>`false` — use it to show a remark explaining why the inlet valve comes first</td></tr></tbody></table>

#### Tips

- The trainee can go back with **Previous** and change an answer, so this event can fire more than once for the same question. Each time, the outputs show the answer as it is at that moment. For the final result, use Quiz Submitted.
- If the quiz has a time limit and time runs out, the quiz is submitted straight away and this event doesn’t fire for the question that was on screen.

---

### ![Event_Quiz_Submitted.png](https://simlab-soft.com/help/uploads/images/gallery/2026-10/scaled-1680-/event-quiz-submitted.png) Quiz Submitted

Runs part of your scene when the trainee submits a quiz, and gives you their final mark.

#### What it does

This node watches a quiz and fires on its own when the trainee presses **Submit** on the quiz’s final page. If the quiz has a time limit, it also fires when time runs out, because the quiz is then submitted automatically. A quiz can be submitted only once, so this event fires only once.

It hands you the quiz and the final mark from 0 to 100. The final mark is the average of all the question marks, so every question counts equally and unanswered questions count as 0. It is the same mark the trainee sees as “Your Mark” when the quiz is set to show it. Use it to pass or fail the trainee, unlock the next part of the training, or record the result. The node only reports; it doesn’t change the quiz.

#### Inputs

<table id="bkmrk-port-type-what-to-co-1"><thead><tr><th style="white-space: nowrap;">Port</th><th style="white-space: nowrap;">Type</th><th>What to connect</th></tr></thead><tbody><tr><td style="white-space: nowrap;">**Enable**</td><td style="white-space: nowrap;">True / false</td><td>While this is `true` the event is active and reacts when the quiz is submitted. Set it to `false` to switch the event off. Leave it `true` to keep listening.</td></tr><tr><td style="white-space: nowrap;">**Quiz**</td><td style="white-space: nowrap;">Scene node</td><td>The quiz to watch: a quiz node created with the VR Quiz tool.</td></tr></tbody></table>

#### Outputs

<table id="bkmrk-port-type-what-you-g-1"><thead><tr><th style="white-space: nowrap;">Port</th><th style="white-space: nowrap;">Type</th><th>What you get</th></tr></thead><tbody><tr><td style="white-space: nowrap;">**Execute**</td><td style="white-space: nowrap;">Trigger</td><td>Fires once, when the quiz is submitted. Wire it to whatever should happen after the quiz.</td></tr><tr><td style="white-space: nowrap;">**Quiz**</td><td style="white-space: nowrap;">Scene node</td><td>The quiz that was submitted.</td></tr><tr><td style="white-space: nowrap;">**Mark**</td><td style="white-space: nowrap;">Number</td><td>The final mark from `0` to `100`, the average of all the question marks. For example, `75` when three of four questions are right.</td></tr></tbody></table>

#### Example

<table id="bkmrk-enable-input-true-qu-0"><tbody><tr><td style="white-space: nowrap;">**Enable** input</td><td>`true`</td></tr><tr><td style="white-space: nowrap;">**Quiz** input</td><td>`<Pump Safety Quiz>`</td></tr><tr><td style="white-space: nowrap;">**Execute** output</td><td>Fires when the trainee presses **Submit**; wire it to a step that checks the mark against a pass mark of `70`</td></tr><tr><td style="white-space: nowrap;">**Quiz** output</td><td>`<Pump Safety Quiz>`</td></tr><tr><td style="white-space: nowrap;">**Mark** output</td><td>`75` — three of the four questions right, so the trainee passes</td></tr></tbody></table>

#### Tips

- To pass or fail the trainee, check whether **Mark** is greater than your pass mark and continue down a different path for each result.