Installation Guide
Overview
The MultiSet Quest SDK is a Unity-based development kit designed specifically for Meta Quest headsets. It provides developers with seamless integration to MultiSet's Visual Positioning System (VPS), enabling precise real-time localization, pose visualization, and camera access within virtual and mixed reality applications.
What You Can Build
With the MultiSet SDK, you can create applications that:
Track user position and orientation in real-world environments
Anchor virtual objects to physical locations
Build location-aware AR/VR experiences
Implement spatial mapping and navigation systems
Key Capabilities
Real-time Localization: Leverage MultiSet's VPS API for centimeter-accurate positioning
Pose Visualization: Built-in 3D gizmos and world axes for debugging and development
Camera Integration: Direct access to Meta Quest passthrough cameras
Quest Optimization: Lightweight implementation optimized for Quest hardware
Plug-and-Play: Minimal setup required for immediate integration
Getting Started
MultiSet Quest SDK - Installation Guide
📋 Prerequisites
Before you begin, make sure you have the following:
Unity Version
Unity 6.0+ (Recommended: 6000.3.21f1)
Render Pipeline
Universal Render Pipeline (URP), required by the SDK mesh and occlusion shaders
Platform Support
Android Build Support module
Target Device
Meta Quest 3 or Quest 3S
Network
Stable internet connection for VPS functionality
API Access
MultiSet API credentials from Developer Portal
Experience Level
Basic Unity development knowledge
🚀 Quick Start Installation
Method 1: Git URL (Recommended)
Create or open your Unity project
New project: Select Universal 3D (URP)
Existing project: Ensure compatibility with Unity 6.0+ and that URP is the active render pipeline
In Unity Build Settings, switch the platform to Android or Meta Quest.
Add the SDK package
Enter the repository URL
Verify installation
Check that "MultiSet Quest SDK" appears under "In Project" in Package Manager

📦 Automatic Dependencies
The SDK automatically installs these essential packages:
Meta XR Core SDK
205.0.0
Meta MR Utility Kit
205.0.0
Meta XR Interaction SDK OVR
205.0.0
Unity Cloud - Draco
5.4.3
Unity Cloud - glTFast
6.15.1
XR Plugin Management
4.5.4
OpenXR Plugin
1.16.1
AI Navigation
2.0.14
Input System
1.20.0
Universal Render Pipeline is not installed automatically. The SDK mesh, outline, and occlusion shaders target URP, so on a Built-In Render Pipeline project those materials render magenta. Install com.unity.render-pipelines.universal and assign an active URP asset under Project Settings → Graphics.
🎯 Import Sample Scenes
Get started quickly with our comprehensive examples:
Open Package Manager → Find "MultiSet Quest SDK"
Navigate to Samples tab → Click "Import" next to "Sample Scenes"
Samples location:
Assets/Samples/MultiSet Quest SDK/[version]/Sample Scenes/
The sample scenes demonstrate core SDK functionality and serve as implementation references.

⚙️ Configuration Setup
Step 1: API Credentials Configuration
Navigate to the configuration file:
The config asset holds three fields:
Client Id
Your MultiSet API client identifier
Client Secret
Your MultiSet API client secret
Base Url
API endpoint. Leave as https://api.multiset.ai unless directed otherwise
Update your credentials:

💡 Get your credentials: Visit Developer Portal to obtain your Client ID and Secret

Step 2: XR Plugin Management Setup
Project Settings:
Edit → Project Settings → XR Plug-in ManagementInstall if needed: Click "Install XR Plugin Management"
Enable OpenXR: Check the OpenXR checkbox under Plug-in Provider.

Step 3: Android Platform Configuration
Switch Platform:
File → Build Settings → Android → Switch PlatformValidate Setup:
Edit → Project Settings → XR Plug-in Management → Project ValidationFix Issues: Click "Fix All" to resolve any configuration problems

Under Project Settings -> Meta XR -> Project Setup Tool -> Click on Fix All to add
This will add a Plugin folder with an Android Manifest file in the Assets directory

Step 4: Map Configuration
Configure your localization settings in the sample scene:
Open sample scene:
SingleFrameLocalization.unitySelect MultisetSdkManager GameObject in Hierarchy
Configure localization method in SingleFrameLocalizationManager component:
Map
Single, specific location
Enter Map Code
MapSet
Multiple locations or larger areas
Enter MapSet Code

📍 Obtain codes: Get your Map/MapSet codes from the MultiSet Developer Dashboard
Query Mode (SingleFrameLocalizationManager only):
VPS-1 (Standard)
Default. Faster queries, suited to most maps
VPS-2 (Deep Search)
Broader search, useful for large or visually repetitive spaces
You can further narrow the search with localization hints (hintMapCodes, hintPosition, hintFloorHeight, hintRadius, use2DFiltering). See the SingleFrameLocalizationManager and MapLocalizationManager reference pages for the full list.
Add all your AR content that you want to anchor with respect to map under "Map Space" game object.
Step 5: Download Map Mesh in Unity Editor
Follow the Map Mesh Downloader page to add the Mesh in Unity Editor for content authoring
Step 6: Camera Permissions
When you build the project, the Meta SDK will show you a pop-up for adding camera permission

The SDK automatically configures required permissions. Verify in Assets/Plugins/Android/AndroidManifest.xml:
\🏗️ Build and Deploy
Build Configuration
Build Settings:
File → Build SettingsSelect Platform: Android
Add Scenes: Click "Add Open Scenes"
Essential Android Settings:
Scripting Backend: IL2CPP
Target Architectures: ARM64
Minimum API Level: 32+
Testing Deployment
Build and Run: Connect your Quest device and click "Build and Run"
Grant Permissions: Allow camera access when prompted
Test Localization: Verify functionality in your target environment
Validate AR Features: Ensure all AR capabilities work as expected
🛠️ API Reference
Core SDK Components
Main SDK entry point and manager
Handles single-frame VPS localization
Handles multi-frame map localization
Handles real-time object tracking
Manages 3D mesh visualization
Common Issues and Solutions
Package Manager Errors
Update Unity Hub and Unity Editor to latest versions
XR Plugin Problems
Restart Unity after enabling OpenXR
Build Failures
Run Project Validation and fix all issues before building
Credential Errors
Verify Client ID and Secret from MultiSet dashboard
Magenta / Pink Materials
Project is on the Built-In Render Pipeline. Install URP and assign an active URP asset
Localization Issues
Ensure stable internet connection and correct map codes. Consider narrowing the search with localization hints
Camera Permission Denied
Manually grant camera permissions in Quest settings
Last updated
Was this helpful?

