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.
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 FloorManagerWrapperPlaneManagerWrapperPointCloudManagerGridManagerCameraCalibrationCheckerEditorSceneService-
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
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)