Skip to main content
This page is oriented to the Molca VR training SDK (scenarios, XR, sessions). Molca Core is shared with other products (see Platforms); the Digital Twin SDK does not use the VR scenario/XR layer shown below.

Layers (VR training on Molca Core)

Dependency direction: your VR training content calls into the VR SDK; the VR SDK sits on Molca Core; both run on Unity + XR. For DT, think Core (if linked) + _MolcaDT without the VR/XR block—see DT overview.

Glossary (VR training)

TermWhere it lives
ScenarioBaseScenarioDataSimulationScenarioData / TourScenarioData in Scenario/Data/
SimulationActivities + steps; optional time limit on SimulationScenarioData
TourAreas (often additive scenes), spots (TourSpotController), informational materials (not Unity materials)
ActivityScenarioActivitySequenceController + root Step list; ties to scoring/session
StepMolca.Sequence.Step — may nest children (ParallelStep, etc.); completes when self + children complete
Step auxiliaryStepAuxiliary list on Step (e.g. scoring, haptics, controller hints)
Mode driverIScenarioModeDriverSimulationScenarioModeDriver vs TourScenarioModeDriver

Scenario state (ScenarioManager)

ScenarioState: Inactive, Active, Paused, Completed, Terminated, TimedOut. FailScenario() sets Terminated. API comments note that success and failure can both end as a finished session from the backend’s perspective; pass/fail may depend on posted scores. Inspect CompleteScenario, FailScenario, and TimeoutScenario in Scenario/ScenarioManager.cs when customizing outcomes.

Typical VR app flow (molca-sdk-vr)

  1. PreloadVRPreloadCheck runs child components implementing IPreloadCheck (_MolcaSDK/Code/.../Preload/).
  2. AuthScenarioSessionManager.VisitorLoginAsync (6-digit OTP) or MemberLoginAsync(email, password). Avoid obsolete MemberLoginAsyncUsingClerk.
  3. HomeHomeUIManager + ScenarioDataConfig (and fetched org content when connected).
  4. ScenarioScenarioManager + mode driver; simulation uses activities/sequences; tour uses TourSubsystem.
  5. End — completion / timeout / fail UI + session status and scores via ScenarioNetworkConfig.

Scenario lifecycle states

ScenarioState on ScenarioManager (simplified — see source for guards): Pause UI: PauseScenario() / ResumeScenario() only show or hide the pause modal. CurrentState stays Active; sequences and timers keep running (see API comments in ScenarioManager.cs). The enum includes Paused, but that path is not used by the pause modal flow.

Connected session (high level)

Entry-point cheat sheet

ConcernType
BootstrapRuntimeManager (_Core/Runtime/RuntimeManager.cs)
Project config assetMolcaProjectSettings
Module bagGlobalSettings + SettingModule (e.g. ScenarioDataConfig)
Scenario orchestrationScenarioManager, ScenarioActivity
Backend VR HTTPScenarioSessionManager, ScenarioNetworkConfig

Screenshots

Placeholder images for the Unity Editor live on each feature page. See Adding Unity screenshots for Mintlify dashboard vs repo file workflow.

Unity Editor (diagram / overview)

Optional: one high-level diagram or stacked windows showing Project + Hierarchy + Inspector for the SDK.

Unity Editor overview of Molca SDK project layout