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

# Runtime and settings overview

> How Molca boots Unity at runtime: project settings, RuntimeManager, GlobalSettings modules, and VR subsystems.

This page is a **high-level map** of Molca’s startup and configuration — the glue between Unity, **Molca Core**, and product code (**VR**, **DT**, shared UI). Use it before diving into [Molca Project Settings](/setup/molca-project-settings) or [Scenario Data Config](/setup/scenario-data-config).

## Startup chain

```mermaid theme={null}
flowchart LR
  A[Unity play / build] --> B[MolcaProjectSettings loaded]
  B --> C[RuntimeManager prefab instantiated]
  C --> D[Subsystems register]
  D --> E[GlobalSettings modules available]
```

1. **`MolcaProjectSettings`** (ScriptableObject) is resolved at load time (default asset path or Addressables key — see script).
2. The assigned **RuntimeManager** prefab is **instantiated** and marked **DontDestroyOnLoad** ([RuntimeManager](/core/runtime-manager)).
3. **`RuntimeSubsystem`** components on that prefab register with the runtime (tour, session, fade, etc.) ([Runtime subsystem](/core/runtime-subsystem)).
4. **`GlobalSettings`** referenced from the same project settings asset exposes **`SettingModule`** entries — [ScenarioDataConfig](/setup/scenario-data-config), optional media/modal modules, and product-specific pieces.

**Important:** Which subsystems and modules exist is **determined by the prefab + GlobalSettings** you assign in **MolcaProjectSettings**, not by implicit auto-discovery.

## What lives where

| Concept                       | Typical location                     | Doc entry                                               |
| ----------------------------- | ------------------------------------ | ------------------------------------------------------- |
| Root settings asset           | `MolcaProjectSettings`               | [Molca Project Settings](/setup/molca-project-settings) |
| Living runtime singleton      | `RuntimeManager` (prefab instance)   | [RuntimeManager](/core/runtime-manager)                 |
| Pluggable services on runtime | `RuntimeSubsystem` subclasses        | [Runtime subsystem](/core/runtime-subsystem)            |
| Named config bag              | `GlobalSettings` → `SettingModule[]` | [Global settings](/setup/global-settings)               |
| VR scenario catalog & modes   | `ScenarioDataConfig`                 | [Scenario Data Config](/setup/scenario-data-config)     |

## VR-specific subsystems (examples)

Your **RuntimeManager** prefab in a VR template usually includes subsystems such as:

* **Tour** — [TourSubsystem](/vr/tour/tour-subsystem) for tour scenarios.
* **Session** — `ScenarioSessionManager` for connected auth, content fetch, and session lifecycle ([session loading](/vr/session-loading-and-events)).
* **Presentation** — fade, player, inventory managers as needed ([VR presentation](/vr/vr-fade-manager) docs group).

Exact components depend on the **prefab** shipped with your repo; treat the prefab as the **manifest** of runtime capabilities.

## Content vs runtime wiring

* **Modules** ([GlobalSettings](/setup/global-settings), [ScenarioDataConfig](/setup/scenario-data-config)) answer: *which scenarios exist*, *standalone vs connected*, *how to resolve ids*.
* **Scenario scenes** answer: *what happens in one scenario* — [ScenarioManager](/vr/scenario-manager), activities, steps, or tour areas.

For the **content tree** (modules → scenario → activity/step vs tour), see [VR content hierarchy](/vr/sdk-content-hierarchy).

## Digital Twin note

The **DT SDK** (`_MolcaDT`) uses Molca Core patterns where linked, but **not** the VR scenario / tour stack above. Start from [DT overview](/dt/overview) and [DT project layout](/dt/project-layout).

## Related

* [Architecture](/overview/architecture) — product-neutral Core placement
* [VR architecture](/vr/architecture) — VR layers on Core
* [Platforms](/overview/platforms) — which SDK applies where
* [Dependency injection](/core/dependency-injection) — resolving services after bootstrap
* [VR session flow how-to](/setup/vr-session-flow-how-to) — end-user flow after runtime is up
