UNITY LINK

Navigation

Create and interact with Unity’s navigation system.

Project Setup

Load the UnityLink package:

Create a new project called “Navigation” in your home directory:

Create two asset directories that we will use to keep the project organized:

Create a new scene and save it to the Scenes directory:

Create multiple Unity meshes and save them to the Meshes directory:

Specify the colors of the scene objects:

Create multiple materials and save them to the Materials directory:

Environment Setup

Create a static platform the scene and assign its material:

Move the main camera:

Change the background color of the camera:

Create an empty game object to act as the parent for the walls we will create:

Create the walls:

Set the material of all the walls and change them to be static:

Door Setup

Create the sliding door:

Add a Rigidbody component to the door so it can move when forces are applied to it:

Add a ConstantForce component to the door that we can use to open and close the door:

Obstacle Setup

Create an empty game object to act as the parent for the obstacles we will create:

Specify the meshs and positions of the obstacles:

Create the obstacles as children of the obstacles parent object:

Add a Rigidbody component to each of the obstacles:

Set the “Convex” property of the obstacle MeshColliders to be true:

Set the obstacle materials:

Player Setup

Create a Unity capsule primitive to act as the player:

Add a Camera component to the player:

Navigation Setup

Add a NavMeshObstacle component to the sliding door:

Add a NavMeshObstacle component to each obstacle:

Add a NavMeshAgent component to the Player game object:

Bake the NavMesh:

Interaction

Define a function for creating an interactable dynamic graphic:

Switch the Unity editor to play mode:

Create the controls:

Click anywhere on the graphic to have to player navigate to that position:

Click the “Open/Close Door” button to open or close the sliding door:

Press the “Stop/Start” button to pause the player’s movement.

Press the “Switch View” button to alternate between the overhead camera and the player camera:

Exit play mode: