Start Scene - WEKIT-ECS/MIRAGE-XR GitHub Wiki

The main scene of MirageXR is Start. It features all key GameObjects, including a Root and a LearningExperienceEngine object, to which the main logic of the app is attached in various manager scripts.

Managers (RootObject)

The Root GameObject has a RootObject.cs script attached to it. It instantiates the following managers:

  • PlatformManager: In charge of instantiating the platform-specific UI (world space Spatial UI or mobile UI). More info here
  • MirageXRServiceBootstrapper: Instantiates i5 services (xAPI, sketchfab login)
  • ImageTargetManagerWrapper: Wrapper for AR image tracking functionality branching off to platform-specific implementations
  • CalibrationManager: Wrapper for workplace calibration routines, branching for platform-specific code
  • FloorManagerWrapper
  • PlaneManagerWrapper
  • PointCloudManager
  • GridManager
  • CameraCalibrationChecker
  • EditorSceneService
  • WorkplaceController: Key script for instantiating the environment views as described in IEEE p1589-2020 ARLEM workplace models
  • ContentAugmentationController: Key script for instantiating the content augmentation views as described in IEEE p1589-2020 ARLEM workplace models
  • AIManager: Wrapper for AI services on lxr repository
  • OpenAIManager: Wrapper for chatGPT services (legacy)
  • VirtualInstructorManager (about to be renamed VirtualInstructorOrchestrator): Manager to orchestrate activity of multiple AIs

Managers (LearningExperienceEngine)

The LearningExperienceEngine GameObject has a LearningExperience.cs script attached to it. It is instantiated and initialized in the above Root object, first thing. This script comes from lib-lee and sources are available as embedded package in /Packages/com.wekit-ecs.lib-lee/.

It starts up the following managers:

  • BrandManager: Handles Configuration
  • ActivityManager: Handles storage, retrieval, and instantiation of activities
  • AugmentationManager: Handles storage, retrieval, and instantiation of content game objects on augmentation level
  • MoodleManager: Deals with Moodle communication
  • WorkplaceManager: Handles storage, retrieval, and instantiation of content game objects into the scene on learning environment level
  • ExceptionManager: Hooks into the global exception handling routines to report Debug log info to Sentry automatically
  • AuthManager: OpenID connect login management for the lxr repository service
  • UserSettings (static): Handles storage and retrieval of user settings (such as grid width or persisting login data)