How can I reuse a 3D environment by spawning assets?

Use the "Spawn Asset" resource to add assets to a scene after the scenario is launched

You may have a 3D training environment that can be reused for several different training scenarios. For each scenario, there are likely specific tools and assets you would like the learner to interact with. You can use the "Spawn Asset" resource to add assets to scenes after the scenario is launched.

Adding Assets to StoryFlow

3D assets get created and bundled in Unity. Your Unity team can then use the asset bundler (part of the Unity SDK) to upload the assets to StoryFlow. Once the assets are uploaded, you will have two types of catalogs in your project: A "Unity Asset Bundle" catalog and a "Unity Asset" Catalog:

When you open one of the Unity Asset catalogs you'll see each item in the bundle is available for use:

Spawning Assets in a Scene

To add the assets to the 3D training environment, use the "Spawn Asset" resource:

Position can be set by entering coordinates right in the resource editor, or you can position it using a scene anchor that you have added to the script. 

Avoid motion sickness by using "fade scene"

If the asset you are spawning is large it may not appear instantly. This can lead to the scene freezing temporarily while it loads. This freezing of the scene can lead to motion sickness. One way to mitigate this is to fade the scene to black, spawn the asset and then fade back in. The authoring pattern is as follows:

Use a "Fade Scene" Resource:

Then in a new frame, spawn the asset (as described above). 

Finally, in a third nested frame, use the "Fade Scene" resource, but this time, "Fade In":

The frame structure looks like this:


It's a good idea to warn the learner that the scene is about to fade to black - otherwise it can be a bit startling. A notification that says "Scene setup in progress, scene will momentarily fade to black" works well.