Skip to content

WIP THIS WIKI PAGE IS UNDER CONSTRUCTION AND NOT COMPLETED.

Prerequisites

A Completed Integration. See Integration Quick Start

This page is under construction and will be updated in the future. It is adviced to look at the Sample Experience included in the GEM Unity Plugin for a possible implementation.

Preparing the Experience Manager

The experience is part of the Server Startup scene, which is loaded by the clients after connecting to the Gameserver.

  1. Open the Server_Startup scene.
  2. Create a new Gameobject, name it "GEM_ExperienceManager".
  3. Add the "GEM_ExperienceManager" Component to it. this controls the actual experience once the clients have connected.
  4. Drag and drop the GEMSample_Ghost from Assets/Samples/GEM/{version}/OpenXR/Prefabs/ into the "Ghost Prefab" field. This should later be exchanged with your Experience's Ghost Prefab.
  5. Drag and drop the GEM_ObstructionMat from Assets/Samples/GEM/{version}/URP/Materials into the "Obstruction Material" field. This can be exchanged with a custom Obstruction Material of your experience.

Creating a Experience

Refer to the sample Experience for how an example of how to setup the hierarchy of the GEM_ExperienceManager Sections and Startup Section.

Each Section requires at least one Game Zone Boundary, one Transition, and a GEM_TrackingOrigin.

The tutorial is special in that it does not require a Zone Boundary.

You can reuse the same ZoneBoundaries and Exit Volumes to create looping experiences. The "Sections" array defines this.

Player Pawn Setup

Refer to the sample OpenXR for how to setup a playerpawn.

It is important that the PlayerPawn has the "GEM_ClientExperience" component on it.

It is recommended that the PlayerPawn has the "GEM_trackingOriginAttacher" component to stay relative to the GEM Origin. However, this can be done with a custom implementation if more complex movement is required.