Oculus App Development: How to Create Your Own VR App
In recent years, we have seen the number of VR platforms skyrocket to the point where dozens of new models are released annually. But there is one name that has remained dominant since the technology was in its infancy — Oculus. This brand currently accounts for 75% of all headsets sold, and is the go-to choice for app development.
But getting started on app development is a lot harder than choosing a VR brand: you still have to choose a specific headset model, learn the peculiarities for making this type of software, and look for ways to streamline the process. You might even choose to go with VR development services.
This article will help you with all these things and more, covering basically all you need to know about Oculus app development.
How to Develop for Oculus Quest 1 & 2
The first Oculus Quest was released in 2019 and the second in 2020, so these models happen to be the most advanced from the company. In fact, Oculus Quest 2 is the current flagship of the brand and the go-to choice of development. The differences between Oculus Quest 1 & 2 mostly apply to hardware specs, with Quest 2 boasting a higher resolution, smaller weight, larger RAM, and faster refresh rate.
While the Quest 2 is an indubitable leader in the field, it’s hardly the only premium choice. For more info, be sure to check out our analysis of the best VR headsets for development.
Keep in mind during development:
1. Graphic optimization
Quest applications are rendered at a very high resolution, so a significant part of your development time will go towards getting the performance optimized. Many of those who plan to develop apps for Oculus Quest are eager to take advantage of the graphic capabilities and end up integrating 3D content with an extraordinary number of polygons, shaders, and lighting effects.
Even with the best code, this increases overhead, multiplies the time needed to format all the 3D assets, and can even affect the frame rate of your app if you don’t optimize. According to Oculus representatives, one of the best ways to optimize while retaining graphical fidelity is to increase texture resolution and reuse.
2. Taking advantage of the Guardian system
The wireless nature of Quest headsets makes them very convenient to use, but this can be both a blessing and a curse for Oculus Quest VR development. Users can enjoy the app while standing up and walking around, but this puts them in danger of colliding with something, falling, and various injuries. However, Oculus considered these risks and added a feature called Guardian. It sets up a limited area that the user can physically move around in, displaying a translucent grid within the app that no one can cross.
3. Deploy on Sidequest
The Oculus app store mostly features games and applications of general use, so it won’t be a good fit for enterprise apps, which often contain data and content that you do not want accessible outside your company. The solution is simple — don’t release your app in the store at all, but instead, gear your Oculus Quest app development towards release through Sidequest.
Sidequest is a third-party platform that allows you to download and install custom apps on Quest devices without going to the official store. This is also incredibly helpful for testing builds of your app that are still in progress without going through the lengthy and inconvenient certification/approval process.
How to Develop for Oculus Go
Oculus Go was released in 2018, and featured decent hardware (in terms of memory, refresh rate, resolution), although perhaps not as strong as its successors (Quest 1 & 2). This was the first headset in the Oculus lineup to be wireless. What makes the Go appealing in this day and age is its price point. Third-party vendors are selling it for under $200, with some going as low as $150 and $120. For comparison, most vendors are selling Quest 2 for around $300. Even such a small price difference can be a game-changer when you need to buy headsets in bulk.
Keep in mind during development:
1. Limited Unity support
Unity is one of the most popular tools for building VR apps, but it can be hard to use it for release to older platforms due to deprecation. In the case of Oculus Go, the Oculus Integration SDK available for Unity stopped supporting Go in 2020. This does not mean that you can’t use Unity for development anymore, but you have to use version 18 of the SDK instead of the current version 35. As you might imagine, the tools have been substantially improved since version 18, but you won’t be able to take advantage of them, unfortunately.
2. Using the hidden mode
By default, Oculus Go is meant to run at a frame rate of 60 Hz, but the developers built in a way to push the hardware to the limit and squeeze 72 Hz out of it. Not only will it make motions and interactions in your app smoother, but the optional mode also increases brightness and color clarity. If you want this mode enabled in your app, you should configure it in the early stages of Oculus Go app development, via the OVRDisplay function in Unity.
3. Compatibility with Gear VR
Gear VR is a highly-popular VR headset from Samsung that has an interesting connection to Oculus Go — its apps are compatible with the Go headset. This is an important point to bring up because Gear VR is a smartphone-based headset and is supremely accessible to users (anyone with a smartphone can enjoy VR). Thus, you can create a cross-platform application that will be accessible on both platforms. Of course, for the Oculus build, you’ll have to block or remove some features that rely on a phone (camera, push notifications, etc.)
How to Develop Apps for Oculus Rift
Oculus Rift is the first headset released by this brand (2012) and also the first VR product to be embraced by a general audience. While 10 years may not seem like much, it is an eternity in the world of big tech, so you can certainly say that this headset is outdated now. With many vendors and services dropping support for the Rift, the only good reasons to develop for it are if you already have an assortment of these headsets, or if you need to buy headsets at a very low price.
Keep in mind during development:
1. Keep interactions localized
The Rift is a wired headset, so users should not move far away from their console, and preferably not take any steps at all. Thus, we recommend making your VR experience one that can be enjoyed sitting down. If users need to move around in the app, you can implement it through teleportation based on button presses and aiming with VR controllers.
2. Different versions available
To streamline the development process, Oculus released a Dev version of the Rift headset, which is still available for purchase (from 3rd-party vendors). This version of the hardware is especially useful for quickly trying out new functionality and exporting data about performance. Another version that might be of interest if you want to develop non-gaming apps for Oculus Rift is the Enterprise model. It is provided by Oculus and grants additional protections (warranty, support) for businesses using this hardware.
3. Working with limited features
Compared to the newest headsets like Pico Neo, the Rift has pretty lackluster specs, but VR experiences can still be enjoyable on it. It is all a matter of playing to strengths and optimization. For example, the limited 90-degree FOV can prompt you to make large 3D models viewable at a distance or through navigation to key angles. With limited memory and RAM, you’ll also probably want to retopologize and refactor any low-poly content.
Should You Develop for Oculus Yourself or Hire a Partner?
For someone new to the world of VR development, diving into these processes can be a bit overwhelming. The interactions that take place in VR are so different from those that are possible in PC, mobile, and web experiences, and the broad range of input methods only adds to the complexity.
You can start by reading development guides from Oculus and from Unity, since these 2 resources will likely be your primary choices in the short term. Please keep in mind that it will take weeks for developers to learn the basics and months to produce something professional, so this won’t be a good option for a company looking to develop an app quickly.
As for partners, they can usually provide a complete and qualified development team in a matter of days, which is much faster than hiring freelancers separately and negotiating the terms with them. A good partner will also carry substantial experience that will let them deliver the product at a good speed and an amazing level of quality.
Oculus Development Services from Program-Ace
Our company has been building commercial and enterprise VR software since the dawn of this technology, and by now, have worked with dozens of companies in different industries, like manufacturing, construction, energy, education, and retail.
Our VR solutions have also served very different purposes, including training simulations, customization tools, gaming, collaboration, and more. Additionally, we have plenty of analysts in-house skilled in Oculus business development and ready to help you create a strategy for the app that will fulfill your business objectives. In short, we have what it takes to build your application, no matter how ambitious and complex it may seem.
You are welcome to contact us about your project, and we will be thrilled to discuss how we can help.
Originally published at https://program-ace.com.