DEVELOPING FOR VR: TOOLS TO CONSIDER WHEN DEVELOPING FOR QUEST

Chan Grant

Written by Chan Grant

December 15, 2020

Virtual Reality (VR) is a rapidly rising, growing, developing field in technology, and video games in VR are being developed. From ports of famous PC games such as Skyrim and Superhot to the modern classics like Beat Saber and Job Simulator, we see the growth and rise of a new subsection of gaming right before our eyes. At the same time, schools and businesses are amazed by VR’s usefulness and effectiveness as a training tool. Oculus Quest and other mobile VR devices provide a low budget entry point for consumers. HTC Vive and Index gives those with powerful home PCs some the most expansive and immersive experiences possible. Yet, for many developers hoping to jump into this exciting area, they find themselves struggling with the shift of perspectives. For this article, I will be focusing on a few of the tools that can aid in the development into Oculus apps.  

Oculus provides recommendations and tools to aid in the development process. 

With Vive and Index, it is easy for users to test their programs in the device. However, a build to Oculus from Unity can take a while, especially as the project grows bigger and bigger. To resolve that, Oculus developed Oculus Link. Oculus Link allows users to connect their Oculus Quest device to the Unity editor directly. When connected, users can directly test their project from the editor without having to build. This saves time when building, allowing for scenes and elements to be tested easily and quickly. Debug logs and other device notes can be read from Unity, and the Unity Profiler can give developers a hint on where frame spikes and other issues are occurring. Due to the connection between the Oculus device and the PC, a large portion of the processing and rendering isn’t handled on the device. While this can be useful for testing purposes, it is important to remember that the performance you see while using the Oculus Link may not match what you would see standalone. However, the gains from rapid testing and deployment more than makeup from these potential issues.   

SideQuest is a free tool that allows users to sideload Android Packages (APKS) onto their Oculus Quest and Oculus Go. This tool is handy for those working remotely, cannot provide a build to a device directly, and are not prepared to push to the Oculus development. Users of SideQuest don’t have to go through the rigorous and time-consuming process of registering as a developer with Oculus, so this tool is great for students and hobbyists. SideQuest allows for users to access Android Debug Bridges (ADB) and logs from the devices. With ADB, developers can read logs and provide some command-line instructions. SideQuest also enables users to turn off the guardian on Oculus. Any developer working with Quest is well aware of how annoying the guardian can be, so this feature is quite useful. The program also allows users to capture full rate videos at 60/72fps and adjust the video capture size. Finally, SideQuest has a small community of developers who push their games and apps for free to the service. This is great for seeing concepts that people come up with and getting feedback on your ideas.   

The fine folks at Oculus also provide their developers with several tools and suggestions to aid their development. For those who are registered developers of Oculus, they provide the Oculus Developer Hub. The Oculus Developer Hub (ODH) is a useful companion tool designed by Oculus to help aid developers. ODH provides a means of sideloading APKS, recording media from devices, and enabling ADB over Wifi. Oculus also provides useful optimization tools if you want your game to run well and fit under Oculus’ strict performance guidelines. Oculus also provides an OVR Metric tool, a handy tool for measuring the number of tris, vertexes, and frames that the app is running through. As a registered Oculus Developer, you can also create game keys for others to download. These keys can then be provided to various players to contest winners, reviewers, and or even partners.  

Here are some notes and troubleshooting for those interested in the products mentioned above.  

Oculus Link  

Requirements:   

  •  USB-C to USB-A cable (the Oculus cable that comes with the device is not compatible with Oculus Link)   
  •  Oculus Link is only compatible with PC. 

Setup: 

  • Download and install the Oculus desktop.   
  • Open the Oculus desktop and go to Settings, then go to General and enable Unknown Sources.    
  • After connecting your Oculus device to your PC, put on the headset and turn on Oculus Link.   

SideQuest  

Setup: 

  • To use SideQuest, your Oculus device must be set to Developer Mode. This can be done via the Oculus app from your phone. Then you will reboot your device.  
  • Next, connect the Oculus device to your PC and allow USB debugging.