Sample scene reference
Understand the MR multiplayer tabletop sample scene, and the purpose of the GameObjects it provides.
The MR multiplayer tabletop sample scene comes pre-populated with the necessary GameObjects and prefabs for a mixed reality multiplayer project. You can use this sample scene out of the box, or adapt the components for your own mixed reality multiplayer experience. Also check the In Editor Tutorial (Tutorials/Show Tutorials) for more detailed information.
Sample scene overview
You can access the sample scene in the Hierarchy window.
Sample scene in the Hierarchy window.
Refer to the following sections to understand each component in more detail.
XRI network game manager
The XRINetworkGameManager prefab ties together the connection functionality between Netcode for GameObjects (NGO) and Unity Cloud’s Multiplayer Solutions (Lobby, Authentication, Relay, and Vivox.)
Network manager XR multiplayer
The NetworkManagerXRMultiplayer is a required Netcode for GameObjects component that contains your project's netcode related settings. This component acts as a central hub for your netcode enabled project.
To learn more about NetworkManager components, refer to the Unity Multiplayer NetworkManager documentation.
MR interaction setup
The MRInteractionSetup is the main GameObject to configure the AR Session, Camera, and XR Origin in Unity.
Camera offset
You can expand the XR Origin to reveal the Camera Offset GameObject. The Camera Offset includes configurations for Controller and Hand input.
Locomotion
Unlike traditional games, the MR multiplayer tabletop template keeps the table in a fixed world space location of Vector3.zero. In order to "move" the player, we apply an invserse position and rotation to the player object based on the transform pose of the Table Calibration GameObject. This is primarily to allow any physics based objects to work within world space for all connected players.
Player avatars
Player avatars are virtual representations of players that replicate their position and movement in real time. These avatars enable interactions between players, and support both verbal and non-verbal communication with others in a shared virtual environment.
The OfflinePlayerAvatar prefab provides an avatar you can use to get started. This prefab contains a stylized model with mouth articulation and support for both tracked controllers and hands. For more information on controllers and hands, refer to the XR Interaction Toolkit and XR Hands packages respectively.
These avatars use the Player Name Tag prefab to display player's names and microphone status.
Virtual table
The Virtual Table GameObject contains the virtual table asset that provides the basis for all non-UI based objects associated with the table.
Table system
The TableSystem prefab provides movement and rotation to the player, as well as seat placement. See the Table Manipulator children on this prefab, and specifically the alignment scripts attached to learn more.
The TableTop prefab contains four seats for players, and an additional spectator seat.
Tabletop games
Tabletop Games prefab contains three game modes to demonstrate mixed reality multiplayer features, and an empty game mode.
The GameModeManager provides a menu for users to swap between the three game modes.
Sandbox
In the sandbox game mode, players interact with virtual toys using hand or controller interaction.
Slingshot
The slingshot game mode provides users with a mixed reality experience where they fire a slingshot at floating balloons. Players pop balloons to score points. When 3 balloons reach the top, the game will end.
Chess
The chess game mode enables players to play a virtual chess game on the tabletop.
UI
The sample scene contains various world space User Interface (UI) examples which allow interactions with UI elements such as sliders, dropdown menus, toggles, and buttons.
Coaching UI
The coaching overlay provides assets for player instructions and feedback within the gameplay environment.
Table UI
The table UI provides assets for the virtual tabletop. For example a toggle for microphone activity, and a menu to select the XR mode (VR, AR, MR).