Skip to main content
Namespace: MolcaSDK.VR.Scenario
File: Assets/_MolcaSDK/_VR/Scripts/Scenario/ScenarioManager.cs

Inspector (summary)

  • scenarioDataBaseScenarioData (simulation or tour).
  • activitiesScenarioActivity[] ordering.
  • autoStart, startAllActivitiesSimultaneously, isDirectCompleteWhenAllActvityComplete
  • useSessionManager — ties lifecycle to Scenario session.
  • PausePauseModal + InputActionReference.

Events

UnityEvent hooks for scenario start/pause/resume/complete/timeout/fail and per-activity activated/deactivated/completed.

Access and session

  • GetInstance()FindFirstObjectByType; use one active manager per scenario scene.
  • SessionManagerRuntimeManager.GetSubsystem<ScenarioSessionManager>().

Timing

ElapsedTime / RemainingTimeLimit use wall clock; the pause modal does not freeze elapsed time (see script comments).

Mode logic

Simulation vs tour behavior is delegated to Scenario mode drivers.

State semantics

See Architecture for the full diagram and pause-modal behavior. Summary: Pause: PauseScenario does not transition to Paused; CurrentState remains Active while the modal is visible.

Code

Configuration stays in the Inspector; gameplay code usually resolves the scene singleton and drives StartScenario / completion.
using MolcaSDK.VR.Scenario;
using UnityEngine;

public class BriefingStart : MonoBehaviour
{
    private void OnEnable()
    {
        ScenarioManager.GetInstance()?.StartScenario();
    }
}
Session-backed flows also use ScenarioSessionManager — see Session loading and events.

Unity Editor

Scenario scene: [VR Scenario] or root with ScenarioManager selected — full Inspector.

ScenarioManager in Unity Inspector