🧰
Developer
  • ENGAGE SDK overview
  • Setting up the ENGAGE SDK
    • Registering as an ENGAGE developer
    • Setting up your local git repository
    • Installing the Unity Editor
    • Opening the ENGAGE SDK Unity project
    • Checking for SDK updates
    • Installing a platform build module
  • ENGAGE SDK project folders
  • General guidelines for 3D models
    • Optimizing 3D models
  • Locations
    • Guidelines for locations
    • Creating a new location
    • Building a location bundle
    • Testing a location locally on Windows
    • Configuring an object as a teleport target
    • Configuring the start position
    • Seats
      • Creating a seat
      • Using the summon to seat system
    • Network states
      • Network State Manager
      • Location Network States
      • Example network state configurations
        • Network state toggle object
        • Network state animation start/stop
        • Network state change animation
          • Creating an animation in Unity
          • Using Animator.Play(string)
          • Defining Animator transitions
          • Using Animator.SetTrigger(string)
        • Network state sync animation
        • Network state position toggle
        • Network state automatic door
        • Network state toggle skybox
        • Network state change materials
    • Adding grabable objects to a location
      • Resetting network objects with a button
      • Resetting network objects when out of bounds
    • Locations reference information
      • Basic requirements for a location
  • Immersive Effects (IFX)
    • Guidelines for IFX
    • Creating an IFX
    • Building an IFX bundle
    • Testing IFX locally on Windows
    • Specialized IFX
      • Animated IFX
        • Animation overrides
          • Legacy animations
          • Animator animations
          • Configuring additional Effect Life Run Control properties
      • Audio IFX
      • Interactive IFX
  • List of available prefabs
  • Available scripts
    • External Video Player
  • Profiling
  • Publishing to ENGAGE
    • Publishing checklists
    • Pushing files to your GitHub repository
  • AFX
    • Getting started
      • Changelog
    • AFX Graphs
      • Creating an AFX graph
      • Editing an AFX graph
      • Navigation and keyboard shortcuts
      • Adding an AFX graph to a game object
      • Nodes
      • Ports
      • Connections
      • Flows
        • Starting a flow
        • Using multiple flows
        • Chaining flows
        • Controlling flows
      • References
      • Using AFX Events
    • Networking AFX
      • Network State Modules
      • Ownership of networked objects
    • Animation curves
    • Node dictionary
      • ENGAGE
        • AFX Companion
          • Constant Collision
          • Grab Object
          • PathData
        • Networking
          • Network State Modules
        • Physics
        • Player
        • Seat
      • Events
        • Collision
        • Unity
        • AFX Events
      • Flow
      • Reference
      • Unity
        • Component
          • Animation
            • Set Parameters
          • Audio
            • Audio Reverb Zone
            • Audio Source
          • Collider
          • FX
          • Rendering
            • Camera
            • Light
            • Material
          • UI
        • Constraint
        • GameObject
        • Input
        • Physics
          • Raycast
            • Layer Mask
          • RigidBody
            • Joint
              • Hinge
              • Spring
          • Wheel Collider
        • Time
        • Transform
          • Get
          • Set
          • Space Switching
      • Variable
        • Bool
        • Comparison
        • Float
        • Int
        • List
        • Math
          • MathF
        • String
        • Unity Component
        • Vector
          • Quaternion
          • Vector2
          • Vector 3
            • Vector3 Math
    • Sample graphs
Powered by GitBook
On this page
  • Root object structure
  • Scene Variables
  • Network state manager
  • Player start position
  • Location boundary
  • Teleport targets
  • Lighting
  1. Locations
  2. Locations reference information

Basic requirements for a location

PreviousLocations reference informationNextImmersive Effects (IFX)

Last updated 3 years ago

When you create a location, the Unity scene must include specific components. You can then add any additional features and components that you want. The basic requirements of a location are described in the sections below.

We recommend that you start with the example scene, and remove objects that you don't need. Alternatively, if you start with an empty scene, you can add preconfigured objects from the /Assets/ENGAGE_CreatorSDK/Prefabs/Tools folder.

Root object structure

The root of the scene is a game object positioned at the world origin and with a default scale of 1 for all dimensions. The root object is named EngageScene in this example. The child of the root object is also a game object positioned at the world origin and with a default scale of 1 for all dimensions. The child is named Scene_Root in this example.

The child object must have the LVR_Scene Root script attached.

Scene Variables

One object in your scene must have the Scene Variables script attached. You can leave the majority of parameter settings at their default values, but you must set the following parameters:

  • Scene Filename:

  • User Spawn Point: Reference to the game object that marks the spawn point. See Player start position.

Network state manager

One object in your scene must have the LVR_Location_Network_State_Manager script attached. You don't need to configure the script if you don't want to use networks states.

Player start position

Each location must include a game object that marks the position where users appear. You can use an empty game object, position it at the appropriate location, and then drag the object from the hierarchy to the User Spawn Point parameter in the Scene Variables script. For more information, see Scene Variables.

You can also add a start position circle as a child of the player start position. You can use this object to visually represent the region within which players will spawn. Ensure that the start position circle is tagged as EditorOnly, so that it does not appear in the ENGAGE app.

Location boundary

Your scene must have one location boundary. The location boundary defines the area within which you expect users to remain. The location boundary operates as a physical barrier that users can't easily move past. If an avatar moves outside of the boundary, they respawn at the start location.

Teleport targets

By default, all objects are invalid teleport targets. You must configure which surfaces you want users to be able to teleport onto. In the majority of locations, at a minimum, you will set the floor as a valid teleport target.

To define an object as a valid teleport target, you must set the following two properties:

  • Add a collider, such as a Box Collider.

  • From the Tag list, select TeleportGround.

Lighting

We recommend a maximum of one real time light in a scene. Use of more than one real time light can significantly reduce performance, particularly on mobile devices. You can include any number of additional lights in a scene if you bake the lighting.

Example hierarchy of a basic scene
Root object and child
Inspector settings for scene root object
EditorOnly tag in the Inspector
Location boundary previewed in the Scene
TeleportGround tag in the Inspector