# Scene Assembly



## Scene Overview

To develop a multi-user collaboration application using the **OXR Platform**, the following scenes must be prepared as part of your project structure:

* [Client Scene](#client-scene)
* [Room Scene](#room-scene)
* [Registering Scene](#registering-scene)

***

## Client Scene

1. In your project, navigate to `<your-project-scene-folder>`
2. **Create a new scene**(and name it, e.g. MyClient) and open it.
3. Right-click in the Hierarchy and select **UI > Event System** to add an EventSystem GameObject.
4. From `Packages/Xum Lobby/Runtime/Prefabs/1)Client Scene`, add the two prefabs to the scene.
   1. C-RoomServer
   2. C-RoomClient
   3. C-ClientMasterConnector
   4. C-MasterCanvas
      1. For 2D Screen Device(PC or Tablet): Set Render Mode to **Screen-Space - Overlay**
      2. For 3D Screen Device(VR/AR): Set to **World Space**



***

## Room Scene

1. In your project, navigate to `<your-project-scene-folder>`
2. **Create a new scene**(and name it, e.g. MyRoom) and open it.
3. Delete all existing Game Objects from the Hierarchy.
4. From `Packages/Xum Lobby/Runtime/Prefabs/2)Room Scene`, add the two prefabs to the scene.
   1. R-RoomServer
   2. R-RoomClient
   3. R-ConnecltionToMater
   4. R-MasterCanvas
   5. RPlayerSpawner
5. Configure the Render Mode option of R-MasterCanvas in the same way as C-MasterCanvas in the Client Scene:
   1. **Screen Space - Overlay** for 2D screen device
   2. **World Spac**e for AR/VR devices
6.  World Space for AR/VR devices

    1. In the DefaultScene component, configure the **Offline Scene to MyClient Scene and Online Scene to , e.g. MyRoom** field.



    <figure><img src="https://1876721110-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fk9x6Q91DD1TwPbuAFpLM%2Fuploads%2Fo0SmG5rn71g80K6veVSi%2FRoomScene-6-1.png?alt=media&#x26;token=3535cb06-fc61-4ff3-b293-1c75203bffe9" alt=""><figcaption></figcaption></figure>
7. To test the setup, we will simply create a Plane.
   1. Right-click in the Hierarchy, go to 3D Object -> Plane to add a Plane GameObject.
   2. In the Inspector
      1. Reset the Transform
      2. Set the Scale to X:5, Y:5, Z:5

***

## Registering Scene

1. Register the room scene in your client scene (e.g., MyClient Scene)
   1. Navigate to: `C-MasterCanvas > OXR_CreateNewRoomView`
      1. In the OXRCreateNewRoomView component(very bottom), **click ‘+’ button** and **type the name of the new room scene (e.g., MyRoom)** in Available Room Scenes.
2. Navigate to: C-RoomServer&#x20;
   1.  In the DefaultScene component, set

       1. Offline Scene to MyClient
       2. Online Scene to , e.g. MyRoom



       <figure><img src="https://1876721110-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fk9x6Q91DD1TwPbuAFpLM%2Fuploads%2Fo0SmG5rn71g80K6veVSi%2FRoomScene-6-1.png?alt=media&#x26;token=3535cb06-fc61-4ff3-b293-1c75203bffe9" alt=""><figcaption></figcaption></figure>
