Navigation

Overview

The Navigation feature in MultiSet Quest SDK enables AR navigation experiences with Point of Interest (POI) management and visual guidance using animated arrows and progress indicators.

Prerequisites

  • Unity project with MultiSet Quest SDK v1.8.2 or higher

  • Meta Quest device for testing

  • Valid MultiSet Client ID and Client Secret

Scene Setup

Scene Configuration

  1. Load the Navigation Scene

    • Navigate to: Assets/Samples/MultiSet Quest SDK/1.8.2/Sample Scenes/Navigation

    • Double-click to open the Navigation scene

  2. Configure MultiSet SDK Manager

    • Select the MultisetSdkManager GameObject in the hierarchy

    • Click "Open MultiSet Configuration" button in the Multiset SDK Manager component

    • Enter your Client ID and Client Secret in the configuration file

  1. Set Map Codes

    • In the SingleFrameLocalizationManager component:

      • Add your Map Code or MapSet Code

Core Components Configuration

MapMeshHandler

Controls the visualization mode of the map mesh:

  • EnableVisualization: Display the Map Mesh in the scene

  • EnableOcclusion: Enable occlusion using the Map Mesh

  • No Mesh: Hide all mesh visualization

MapMeshDownloader

  • Click the "Download Mesh" button to import the mesh for your desired map

  • This mesh is essential for setting up the AR experience

NavigationController

Manages the navigation flow:

  • Maintains the list of POIs

  • Handles navigation routing and guidance

Setting Up Points of Interest (POIs)

Step 1: Bake NavMesh Surface

  1. Configure Navigation Agent Settings

    • Set appropriate values for:

      • Radius

      • Height

      • Step Height

      • Other agent parameters as needed

  2. Generate NavMesh

    • Navigate to: Map Space > NavigationContent > NavMesh

    • Click the "Bake" button to create the NavMesh with current settings

Step 2: Add POIs to the Scene

  1. Navigate to POI Container

    • Go to: Map Space > NavigationContent > POIs

  2. Create POI GameObjects

    • Add POI GameObjects as children of the POIs container

    • Place POIs on the baked NavMesh surface

  3. Configure Each POI In the Inspector panel, set:

    • Title: Display name for the POI

    • Identification: Unique identifier (Must be unique for each POI)

    • POI Name: Internal reference name

Runtime Controls & Usage

Localization

  • Initial Localization: Automatically triggered when the app launches on Meta Quest

  • Relocalize: Press Button A on the right controller

Controller
Button
Action

Right

A

Trigger relocalization

Right

B

Display POI list

Left

X

Stop/Cancel current navigation

  1. Start Navigation

    • Press Button B to display the POI list

    • Select a POI from the list to begin navigation

  2. Visual Guidance

    • Animated arrows appear showing the path

    • Progress bar displays:

      • Distance to destination

      • Target POI name

      • Navigation progress

  3. Stop Navigation

    • Press Button X to cancel the current navigation

Boundaryless App Configuration

Important Notice

The boundary system is a critical safety feature for fully immersive apps. However, to utilize the Navigation feature effectively, a boundaryless app configuration may be required.

Requirements for Boundaryless Apps

  • Boundary must be disabled for the entire app experience

  • Apps must not contain any immersive experiences

  • Developers must ensure user safety when boundary is disabled

Implementation

Add the following entry to your app's AndroidManifest.xml file:

<uses-feature
    android:name="com.oculus.feature.BOUNDARYLESS_APP"
    android:required="true"/>

Last updated

Was this helpful?