# Unreal Engine Setup Guide

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

# Prerequisites

Please note that the Snapdragon Spaces SDK currently supports the Unreal Engine Editor version and Windows as the development platform. Android Build Support must be added when installing the Unreal Engine to be able to export .apk files. Please follow the Unreal instructions (opens new window) for setting up Android SDK and NDK.

# Create a project

To create a new Unreal Engine project, follow the steps in the Setting Up a Blank Project article of the Unreal documentation for AR projects (opens new window).

# Import the plugin

To import the Snapdragon Spaces plugin into your engine, simply extract the SnapdragonSpaces folder from SnapdragonSpaces_Plugin archive to the Engine/Plugins/Marketplace folder in the engine installation path.

Engine plugins installation path

# Import the samples

To import the Snapdragon Spaces Samples into your project, simply download the SnapdragonSpaces_Samples zip file and copy the Config and Content folders to the root of your project, overwriting your existing files. Content sub-folders include folders for the samples, along with a common folder. The common folder includes the base blueprints for using the AR devices correctly.

# Change the project settings

To enable the Snapdragon Spaces OpenXR plugin, navigate to the project settings under Edit > Plugins > Mixed Reality and enable the SnapdragonSpaces plugin.

Enable the Snapdragon Spaces plugin

Under Edit > Plugins > Virtual Reality, check if the OpenXR plugin is enabled as well.

Check the OpenXR plugin is enabled

# Custom Controller Setup

The Snapdragon Spaces Unreal Engine plugin includes the possibility to spawn a controller upon startup of the application on the host device. This feature is enabled by default in the plugin settings, which is located under Edit > Project Settings > Plugins > Snapdragon Spaces (by clicking on the cog wheel).

If a custom implementation with different appearance and slightly different functionality is desired, an alternative controller archive can be build in the steps described in the custom controller section.

The resulting archive from these steps can then be included linked in the project settings. The Use Custom Controller toggle has to be enabled (which requires the Launch Controller On Host option to be enabled as well) so that a path to the alternative controller archive can be selected.

Custom controller setting in plugin settings