# Unity Setup Guide

This guide will explain in detail how to get started with the Snapdragon Spaces SDK in Unity.

# Prerequisites

VERSION

Please note that the recommended Unity Editor version to work with Snapdragon Spaces is 2020.3.17f1. Later version of Unity Editor might work well, but have not been extensively tested.

Android Build Support must be added when installing the Unity Editor to be able to export .apk files. The module can also be added afterwards through the Unity Hub.

# Import the package

The Snapdragon Spaces SDK comes as a package in form of a tarball file. Please follow the Unity instructions (opens new window) to import the package into the project.

WARNING

After importing the package, Unity might prompt you to enable the new input system. Click Yes to ensure full functionality with the OpenXR and XR Interaction Toolkit packages. If the old input system is needed in addition, the Active Input Handling value under Player Settings > Other Settings > Configuration can be set to both.

Unity Input System prompt

# Import the samples

The Snapdragon Spaces SDK package comes with sample assets to showcase how to use the services included in the package. To import them, simply pick the package in the package manager (located in the menu bar under Window > Package Manager) and click import on the Core Samples.

Import Core Samples

After the samples have been imported, there is a helper tool to add the sample scenes to the build settings by clicking Window > Snapdragon Spaces > Add Scenes to Build Settings in the menu bar.

Add scenes to the Editor build settings

# Change the project settings

To enable the Snapdragon Spaces OpenXR Plug-in, navigate to the project settings under Edit > Project Settings > XR Plug-in Management. Check the OpenXR plug-in as well as the Snapdragon Spaces feature group. Initially, there will be some project settings that have to be updated/fixed. To do so, click on the red exclamation mark next to OpenXR to step into the OpenXR Project Validation window. Click on the fix buttons next to the entries to apply the needed project settings. Apply the setting to enable both Input Systems last, as this may require a restart of the Editor.

OpenXR Project Validation

# Enable Spaces features

Enable the features in the OpenXR settings that should be active during runtime. The current supported features and the respective AR Foundation manager or XR subsystem that can be used with it, is listed in the table below.

Feature AR Foundation manager XR subsystem
Base Runtime AR Session
Tracked Pose Driver
XRSessionSubsystem
-
Plane Detection AR Plane manager XRPlaneSubsystem
Spatial Anchors AR Anchor manager XRAnchorSubsystem
OpenXR Project Features