Multi-Scene Setup
In depth learning on Basic Scene Configuration is found in this course in Motive Academy.
Overview
Often an app will require multiple environments. It is often better to load Scenes that host the environments dynamically instead of putting all of the different environments into one Scene. This document walks you through the process of enabling multi-Scene setups with Motive.
Note that this documentation requires that all of your Scenes are included in the application at build time. In Motive SDK 2.1, you can load Scenes from an Asset Bundle as described here:
https://motiveio.atlassian.net/wiki/spaces/USDK/pages/1847164962
Create an Initial Scene
The first step is to create a Scene that hosts the Motive Prefabs. This Scene is set up much like https://motiveio.atlassian.net/wiki/spaces/USDK/pages/12582981 , however it will not include any environment pieces as they would conflict with elements in the other Scenes as they are loaded.
Create a Launch Scene
The Launch Scene is the Scene that the user will see when they first launch the app. This may be one of the Scenes that is going to be used for the training. This Scene must not include any Motive Prefabs or a camera. To designate the Launch Scene, add a Scene Launcher Starter to your Initial Scene:
Add a Game Object to the Initial Scene
Attach the Scene Launcher Starter component to the Game Object
Set the Scene Name to the name of the Launch Scene:
Add the Scene Launcher Starter to the “Startup Components” in the Setup node of the App Game Object:
Note that if you are working with the Launch Scene as an additive Scene, the Scene Loader will skip the load since the Scene is already loaded. This helps to streamline the development cycle.
Configure Additional Scenes
Additional Scenes are configured the same way as the Launch Scene:
Remove all Motive Prefabs
Remove the main camera
Add Scenes to the Build
Finally, the Scenes need to be added to the build. (Dynamic Scene loading will be added in a future release.)
Open the Build Settings
Drag all of the Scenes that the app will use into the “Scenes In Build” window. Note that the Initial Scene must be listed first:
Use the “Load Scene” Resource
Finally, you can use the “Load Scene” Resource to load the required Scene for any Scenario. Note that Scene Names are case-sensitive:
The Scene will stay loaded until this Frame or Script is closed.
Related Articles
Loading Scenes via Asset Bundle