March 21, 2023
In this VR Builder tutorial, you will learn how to set up VR Builder for running VR applications standalone on Pico Neo devices. To build the VR app in Unity, we will go through the following steps:
To follow this tutorial, you will need a compatible Unity version with Android support and a Pico Neo device with USB debugging enabled. First, we need to set up our VR Builder environment. Pico provides their SDK through a local package downloadable from their website. Download the Unity XR SDK and unzip it. Then, import VR Builder and proceed with the Setup Wizard. Continue through the wizard until you reach the VR Hardware Setup page, then select Other and proceed.
Additional help for setting up VR Builder in Unity you can find in our setup guide tutorial.
No SDK will be installed by VR Builder at this point. Next, import the Pico SDK package as a local package. To do that, open Window > Package Manager, then click the + icon on the top left and select Add package from disk….
Navigate to the folder where you unzipped the Pico SDK and select the package.json file. This will import the package in the project. Now, the Pico SDK needs to be selected in the list of initialized XR plugins. Open the Project Settings and select the XR Plug-in Management entry. Switch to the Android tab, and check the PicoXR box to enable the plug-in.
You can also configure more Pico-specific options in the PicoXR subsection of the XR Plug-in Management, but the defaults should be fine.
Once the required packages are installed, we need to switch the build target to Android. This means that the final app will be an APK file for Android devices like Pico Neo instead of a Windows EXE file. To do so, go to File > Build settings…. The active build platform is highlighted by a Unity icon in the list to the left. The currently selected platform should be PC, Mac & Linux Standalone. Select Android instead and click Switch Platform. This could take some time depending on the project’s contents.
It is advisable to review the project settings, especially the Player section, to configure the app as desired. The only necessary change should be to set the Android API level to 26, which is the minimum required by Pico. Also, some features require .NET 4.x support. It can be selected now, or you will be prompted to switch when attempting a build.
Next, review the Player settings, where some options should be changed. The Pico Neo 3 requires at least the Android API level 26. Also, some features require .NET 4.x support. It can be selected now, or you will be prompted to switch when attempting a build.
The project will build and work just with these settings, but for better performance it’s recommended to change the Scripting Backend from Mono to IL2CPP, then deselect ARMv7 and select ARM64 as target architecture.
If you have issues building, you can try setting Managed Stripping Level to Low instead of Minimal.
It should now be possible to build standalone apps on the Pico Neo. However, a central VR Builder feature requires a bit more attention: the text-to-speech engine. As VR Builder uses the Microsoft text-to-speech engine by default, it will not work natively on Android devices. It is therefore necessary to pre-cache the audio files on the building Windows PC, so that the headset only needs to playback the files.
First, we need to enable the option to pre-cache the files in Project Settings > VR Builder > Language. There, check the option Save Audio Files to StreamingAssets.
Then, the process needs to run once on the development machine in order for the files to be created. Try, for example, opening the Demo Scene (Tools > VR Builder > Demo Scenes > Core) and pressing Play. There’s no need to plug in a headset or go through the entire VR Builder process. Once the process has started, play mode can just be stopped immediately. The cached files can be found in the StreamingAssets folder. Here we can see that a TextToSpeech folder has been created. It contains a number of WAV files with the spoken instructions.
For more information on VR Builder's text-to-speech engine, you can find in the tutorial on verbal instructions in VR. It is now possible to build the app on a Pico Neo device.
Now it’s time to build and run the project on the Pico Neo. First, connect your Pico Neo device to the PC with a USB cable. The device must have developer mode enabled. Then, re-open the File > Build Settings… window and select the connected Pico Neo device as your run device. In my case, I am using a Pico Neo 3 Pro.
You should also ensure to add the desired scenes to the list of built scenes at the top of the window. Finally, press Build and Run to run the app on the Pico Neo device. Once the build is complete, it will start automatically once the headset wakes up.
In this VR Builder tutorial, you learned how to set up VR Builder for running VR applications standalone on Pico Neo devices. This means that you are now ready to build and run your VR apps in Unity. Kickstart your VR development in Unity with our tutorial on the VR Builder Process Editor!