> ## Documentation Index
> Fetch the complete documentation index at: https://docs.altoura.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Pause Training

> Display a pause overlay that stops progression until the learner acknowledges

## Overview

The **Pause Training** action triggers a pause overlay that halts training progression. The learner sees a message they must acknowledge before the training continues. This is essential for safety warnings, mandatory reading checkpoints, and critical information that must not be skipped.

## When to Use

* **Safety boundaries** — Warn learners about restricted areas or hazardous zones ("You are approaching a restricted area — please stop")
* **Mandatory acknowledgments** — Require learners to confirm they've read critical safety information
* **Compliance checkpoints** — Enforce acknowledgment of policies or procedures before proceeding
* **Critical information** — Ensure learners don't miss essential instructions or warnings
* **Emergency alerts** — Display urgent messages that must be dismissed before the training resumes

## Parameters

The **Pause Training** action has no configurable parameters. It automatically displays a pause overlay with a standard acknowledgment button.

## Example: Safety Warning Before Restricted Area

```
State: ApproachingRestrictedArea
  onEntry:
    → Disable Self Teleport (Disabled: true)
    → Show Panel
        Title: "⚠️ WARNING"
        Display Text: "You are approaching a restricted area. Only authorized personnel may proceed. Ensure you have the required safety certification."
        Billboard: true
    → Pause Training
    → Set Interactable Objects ([""], false)

  onExit:
    → Hide Panel
```

The learner sees the warning, the scene pauses, and they must dismiss the overlay to continue. All interactions are blocked during the pause.

## Example: Mandatory Reading Checkpoint

```
State: SafetyProcedureAck
  onEntry:
    → Show Panel
        Title: "Safety Procedure Acknowledgment"
        Display Text: "You must follow all safety procedures in this section. Failure to follow procedures may result in serious injury or death. Read this section carefully before proceeding."
        Billboard: true
    → Pause Training

  onExit:
    → Hide Panel
```

Training stops. The learner must acknowledge they've read the safety statement before proceeding.

## How Pause Training Works

1. **Training halts** — The 3D scene freezes; learner inputs are blocked
2. **Overlay appears** — A pause overlay displays with a message and acknowledgment button
3. **Learner dismisses** — The learner clicks the "OK" or "Acknowledge" button
4. **Training resumes** — The overlay disappears; training continues to the next state or onExit actions

## Best Practices

<Steps>
  <Step title="Keep pause messages concise">
    Use short, clear text. Learners are more likely to actually read brief critical messages.
  </Step>

  <Step title="Use in onEntry">
    Place **Pause Training** in **onEntry** so the pause occurs before any other state actions.
  </Step>

  <Step title="Combine with Show Panel">
    Use **Show Panel** to display the full warning before **Pause Training** is called.
  </Step>

  <Step title="Block interactions during pause">
    Use **Set Interactable Objects** with empty list to prevent interactions while paused.
  </Step>

  <Step title="Place strategically">
    Only pause at genuinely critical moments. Overusing pause creates frustration.
  </Step>

  <Step title="Test on mobile">
    Verify the pause overlay is readable and the acknowledgment button is easily tappable on small screens.
  </Step>
</Steps>

## Common Patterns

### Safety Warning Before Hazardous Task

```
State: HazardousChemicalHandling
  onEntry:
    → Show Panel
        Title: "HAZMAT ALERT"
        Display Text: "This task involves hazardous chemicals. Review the SDS for {{chemical_name}}. Wear appropriate PPE: gloves, goggles, and lab coat. Improper handling may cause burns or inhalation injury."
        Media: "hazmat-symbol.png"
        Billboard: true
    → Pause Training
    → Set Interactable Objects ([""], false)

  onExit:
    → Hide Panel
    → Set Interactable Objects (["gloves", "goggles"], true)
```

The learner sees a detailed hazmat warning, must acknowledge it, and then can only interact with safety equipment.

### Compliance Verification

```
State: ComplianceAcknowledgment
  onEntry:
    → Show Panel
        Title: "Compliance Training Acknowledgment"
        Display Text: "I confirm that I have completed and understood the compliance training for this procedure. I understand the consequences of non-compliance and agree to follow all procedures as described."
        Billboard: true
    → Pause Training

  onExit:
    → Record achievement "Compliance acknowledged"
    → Hide Panel
    → Teleport User To [next-step-position]
```

The learner must acknowledge compliance training before proceeding. Acknowledgment is recorded.

### Emergency Scenario Alert

```
State: AlarmActivated
  onEntry:
    → Show Panel
        Title: "🚨 EMERGENCY ALERT"
        Display Text: "An alarm has been triggered. You have 45 seconds to respond. Review the emergency procedures and prepare to act."
        Billboard: true
    → Pause Training
    → Set Time Limit (Duration: 45, Unit: "seconds")

  transitions:
    - event: "pause-acknowledged"
      target: "EmergencyResponse"

  onExit:
    → Hide Panel
```

The pause ensures the learner sees the emergency alert before the timed emergency response begins.

## Important Notes

* **Pause is modal** — The learner cannot interact with the 3D scene while paused
* **Single acknowledgment** — The learner dismisses the pause with a single action (OK/Acknowledge button)
* **No timeout** — Pauses do not auto-dismiss; the learner must manually acknowledge
* **Always resumes** — Acknowledging a pause always resumes training — there's no "cancel" option

## Related Actions

* **Show Panel** — Display detailed warning information before pausing
* **Set Interactable Objects** — Disable interactions while training is paused
* **Disable Self Teleport** — Prevent movement while paused
* **Set Time Limit** — Start a timer when the pause is acknowledged
