Skip to main content

Scenarios

Scenarios in HoloMIT define virtual environments or scenes in which multi-user sessions take place. Each scenario maps to a Unity scene and contains logic, spatial elements, and behaviors unique to that context.

The system is designed to be modular and extensible at runtime, allowing you to register new scenarios dynamically — without modifying internal SDK code.


What Is a ScenarioID?

A ScenarioID represents a deployable XR environment that users can enter. Examples include:

  • A meeting room
  • A holographic recording studio
  • A collaborative workspace
  • A pilot or demo scene

Each scenario has:

  • A unique ID
  • A Unity scene name
  • A display name for UI dropdowns or lobby selectors

Built-in Scenarios

The SDK provides several predefined scenarios:

IDDisplay NameUnity Scene Name
Pilot0Pilot 0Pilot0
MeetingRoomMeeting RoomMeetingRoom
Pilot3Pilot 3Pilot3
i2catOfficei2cat Officei2catOffice
PilotSpatialPilot SpatialPilotSpatial

These are automatically registered at runtime using:

ScenarioID.RegisterBuiltIns();

Runtime Setup

All scenarios are stored in a global registry and can be queried or selected using:

ScenarioID.GetAll();
ScenarioID.Get("Scenario ID");
ScenarioID.GetBySceneName("Unity Scene Name");

This registry is used by session managers and UI elements (e.g., scenario selectors) to populate dropdowns or launch specific scenes.


Registering a New Scenario

You can register a new scenario dynamically using:

ScenarioID.CreateAndRegister("MY_SCENE", "MySceneName", "My Scenario");

This makes the scenario available globally in runtime systems and dropdowns. You can create new scene assets in Unity and bind them this way.

⚠️ Make sure the scene is included in the Unity build settings.


Benefits of the Scenario System

  • 🔗 Loose coupling between scene assets and runtime logic
  • 🎛️ UI-friendly via dropdown support (GetDropdownOptions())
  • 🚀 Extendable by any developer or SDK user
  • 🧩 Modular – scenarios can define their own rules and features

Use Cases

  • Build a new training environment and register it dynamically
  • Create demo scenes with specific configurations
  • Support remote scene switching based on session state
  • Expose scenario selection in a custom launcher UI

Tip: If you're shipping a product with multiple XR environments, use the ScenarioID system to centralize and control all scene management in a scalable way.