Skip to content

Scenes

Scenes in Unity are responsible for lots of logic and functionality. When you upload a Scene to our dashboard, it only takes the geometry from the Scene to provide the context needed for your Session Data.

Concepts

Uploading a Scene from Unity does two things:

  1. It uploads geometry to the Dashboard so you can see Session Data in the context of the scene
  2. It creates a container to hold each Participant's Session Data (Gaze, Fixations, Dynamics, Events, Sensors). The Scene Id is returned to Unity to identify where this Session Data should be sent.

If your Scene geometry changes during development or doesn't represent the space the Participant is engaged in, you should create a new Scene Version. This will have the same results as uploading a new scene - a new container is created and new geometry is uploaded.

If you have Dynamic Objects in your Scene that change during development, you do not need to create a new Scene Version. See the Dynamic Objects page to see how to upload Dynamic Object Meshes to your scenes.

When should I upload a new version of my scene?

These are the cases when a new version of your Scene is warranted:

  • You make a substantial change to the base geometry of your scene
  • You want to make a new, clean separation of data for you scene. (For example, if you were doing test sessions but now want to launch a clean slate for production or deployment).
  • You have substantially changed the Dynamic Objects in your scene. (For example, if you changed object names or removed them altogether, you will see those old objects in the Object List despite removing them from your Unity or Unreal scene, since the data has already been sent.)
  • If you simply forgot to add any Dynamic Object(s) and have now added it, you can skip the full scene upload and versioning, and just upload the Dynamic Objects.

If you simply moved a Dynamic Object in the scene, you do NOT need to re-upload anything.

Additive Scene Loading

When loading a scene in Unity, the Session Data will be uploaded the Scene Id of the last loaded scene. In this situation, it does not matter if Dynamic Objects move in one scene or the Participant fixates on a surface in a different scene. All Session Data will be uploaded to the same Dashboard Scene.

Exporting Additive Scenes

There are several ways to export Scene geometry when using multiple scenes. In the examples below, we will assume there is a scene called 'Main' and a scene called 'EnvironmentArt'.

Note

Exporting scenes and managing files can get confusing. Feel free to reach out for assistance.

Export only one scene

Export just the 'EnvironmentArt' scene. This is the simplest solution if the contents of the scene with art provide enough context about the space to make useful insights.

Exporting a temporary scene

This concept is to combine all the art into a Unity scene and export that. You can upload your 'Main' scene using the combined content instead.

  • Create a scene called 'Temporary' in Unity
  • Copy and paste the contents of all 'Main' and 'EnvironmentArt' into the 'Temporary' scene
  • Export the 'Temporary' scene using the Scene Setup Window, but do not upload
  • In your project's directory, rename the CognitiveVR_SceneExplorerExport/Temporary folder to Main
  • Open your 'Main' scene and open the SceneExport window
  • Do not export this scene - the contents of the directory will be used instead when you upload.

Combine Exported scenes Externally

This concept is to export each scene from Unity and combine them in an external program, such as Windows 3D builder, Blender, etc.

  • Use the Scene Setup Window to export each scene
  • Open the 3D program of your choice
  • Import the exported GLTF of each scene
  • Save/Export the file as a GLTF in the CognitiveVR_SceneExplorerExport/YourSceneName directory of your project

Note

This can also be a simple way of previewing the contents of your exported file before uploading to the Dashboard. There might be slight differences based on the software, though.