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.apkThe 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.gitCurrently, 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-picobranch which is setup to use the PICO Unity Integration SDK.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 240or 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\MRTKDevTemplateusing Unity Hub. - When the project loads for the first time, a
PXR SDK Settingswindow 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 Groupshould appear in theAddressables Groupswindow (you can open this window again following step 5.1). - In the
Addressable Groupswindow, selectBuild -> New Build -> Default Build Script. - Import
TMP resourcesby 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 Managementsection, setPlug-in ProviderstoPICO. 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
neonbranch.git checkout neon - Open the Unity sample project located in
UnityProjects\MRTKDevTemplateusing 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 Groupshould appear in theAddressables Groupswindow (you can open this window again following step 3.1). - In the
Addressable Groupswindow, selectBuild -> New Build -> Default Build Script. - Import
TMP resourcesby clickingWindow -> TextMeshPro -> Import TMP Essential Resources. In the opening window, keep everything selected and clickImport. - Switch to
Androidas theBuild PlatforminBuild Settings. - Before building, disable
Google ARCoreunderEdit -> 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.