MRTK3 Template Project
The Mixed Reality Toolkit 3 (MRTK3) is a collection of scripts and components that make it easy to build XR applications for a variety of platforms. We provide a template project for the MRTK3 with Neon XR already integrated to kickstart your development.
The template contains several demo scenes that showcase how to use Neon XR with MRTK3, including e.g. the following scenes demonstrating gaze-based interaction:
Running the Template Project
If you just want to try out the demo scenes included in the template project in action, you can download and install a pre-built APK. The APKs are platform-specific and we currently only offer them for the Pico 4 and Quest 3 headsets.
Pico 4
You can download the Pico 4 APK at this link:
To install it, simply open the link in the headset's browser, download the file and open it.
Quest 3
You can download the Quest 3 APK at this link:
To install it, enable Developer Mode on the headset and use the adb
tool:
adb install neon-quest3.apk
adb install neon-quest3.apk
The installed APK will be found under Library -> Applications -> Unknown Sources
in the Quest 3 headset's GUI.
TIP
See the official Quest 3 documentation for more details on how to install with adb
.
Building the Project
To get started use our fork of the MRTK repository, which contains the template project.
Clone the repository using e.g. this command:
git clone git@github.com:pupil-labs/MixedRealityToolkit-Unity.git
git clone git@github.com:pupil-labs/MixedRealityToolkit-Unity.git
Currently, the best supported development environment is Unity 2021.3.21f1 on Windows.
Depending on your target platform the required setup may differ slightly as some platforms require e.g. specific SDKs. Here we provide instructions for the Pico 4 and Quest 3.
Pico 4
Follow these steps to setup the template project for the Pico 4 headset:
- Checkout the
neon-pico
branch which is setup to use the PICO Unity Integration SDK.git checkout neon-pico
git checkout neon-pico
- Download the PICO Unity Integration SDK here and extract it to the root folder of the MRTK3 repository. This should create a folder called
PICO Unity Integration SDK 240
or similar with the version number at the end. Remove the version from the folder name, such that the folder is calledPICO Unity Integration SDK
. - Open the Unity sample project located in
UnityProjects\MRTKDevTemplate
using Unity Hub. - When the project loads for the first time, a
PXR SDK Settings
window will pop up. ClickApply
. Once finished clickClose
. - Create default Addressables settings.
- Select
Window -> Asset Management -> Addressables -> Groups
. - Click on
Create Addressables Settings
. - If legacy bundles are detected click on
Ignore
.
- Select
- From the menu, select
Pupil Labs -> Addressables -> Import Groups
. After this step, theNeonXR Group
should appear in theAddressables Groups
window (you can open this window again following step 5.1). - In the
Addressable Groups
window, selectBuild -> New Build -> Default Build Script
. - Import
TMP resources
by clickingWindow -> TextMeshPro -> Import TMP Essential Resources
. In the opening window, keep everything selected and clickImport
.
Additional Build Settings
The following settings are required to build the project for the Pico 4 headset:
- Click
Edit->Project Settings
. - In the
XR Plug-in Management
section, setPlug-in Providers
toPICO
. No other options should be selected. - Set your App ID in
PXR_SDK -> Platform Settings
.
Quest 3
Follow these steps to setup the template project for the Quest 3 headset:
- Checkout the
neon
branch.git checkout neon
git checkout neon
- Open the Unity sample project located in
UnityProjects\MRTKDevTemplate
using Unity Hub. - Create default Addressables settings.
- Select
Window -> Asset Management -> Addressables -> Groups
. - Click on
Create Addressables Settings
. - If legacy bundles are detected click on
Ignore
.
- Select
- From the menu, select
Pupil Labs -> Addressables -> Import Groups
. After this step, theNeonXR Group
should appear in theAddressables Groups
window (you can open this window again following step 3.1). - In the
Addressable Groups
window, selectBuild -> New Build -> Default Build Script
. - Import
TMP resources
by clickingWindow -> TextMeshPro -> Import TMP Essential Resources
. In the opening window, keep everything selected and clickImport
. - Switch to
Android
as theBuild Platform
inBuild Settings
. - Before building, disable
Google ARCore
underEdit -> Project Settings -> XR Plug-in Management
.
Once built, use adb
to install the resulting APK onto the headset, following the instructions here.
TIP
On Quest 3, if you re-build the APK, make sure to first delete the app that is already installed on the headest before installing the new build, including when you encounter a signature mismatch
error.
Usage
All the pre-configured sample scenes that work with Neon XR start with a PL_
prefix and are found in the Project Browser under Assets -> PupilLabs -> Scenes
.
The PL_HandInteractionExamples
scene is the main entry point to all of the sample scenes. The default build of the MRTK3 APK will start in this scene.
You navigate to the other scenes by holding up a hand, palm open and facing you, until the MRTK3 navigation menu appears. You interact with buttons by reaching forward with the index finger of your other hand until you "push" a button.
If you plan to run a scene standalone, such as the PL_Calibration
scene, then you need to first add a MRTK NeonXR Variant
Prefab to the scene. This Prefab is found in Unity's Project Browser under Assets -> PupilLabs -> MRTK -> Prefabs
.