Guide to Publish Your VR App on Oculus App Lab and Oculus Store
Dejan Gajsek
So you've got yourself a shiny new Oculus application that you want to share with the whole world, but you are lost in the endless documentation provided by Oculus. Fear not my friend, we are here to help.
One of the first things we need to clarify is that, as of now, every application goes first through the App Lab store, and then it can be promoted to the Official Oculus store. But what the heck is the difference between all of these stores?!
Table of contents
Oculus Store, App Lab & SideQuest
For a long time, there was only one official store for oculus apps: The Oculus Store. But only high-quality games made it through its extensive vetting process. Because of this high friction process the XR community create a new project — SideQuest.
Source: UploadVR.com
SideQuest is not affiliated in any way with Oculus and grew as an alternative to the official store, housing games that failed to get approval, early access, and beta games. To make this happen, apps were installed through a process called sideloading, so even though sidequest has every feature to make playing and managing your library as smooth as possible, it is still harder than just using the official store.
Eventually (finally), Oculus launched the App Lab. Here your app is still curated before approval, but not as strictly, allowing more experimental or even early development apps.
But, there is a catch.
AppLab games are not displayed in the official store, so the developers have to take care of marketing themselves, often using sideQuest to do so. In practice, AppLab removes the hassle of having your players sideload your game, for the same 30% cut on each game sold.
For a more detailed breakdown of each store, see the official documentation.
Oculus Requirements and Guidelines
As stated before, Oculus is REALLY protective of its store and has an extensive vetting process. The following are everything your app needs to comply with to be accepted in their store.
Data Use Checkup
If you are developing social features that use the users' information like User ID, Profile, Friend list, or Invites, you need to submit a "Data Use Checkup" (DUC) to get approval to access that information.
For more information on which features require approval and how to submit a DUC, check the official documentation.
Technical Review
During the technical review, your application is tested against what is called Virtual Reality Checks (VRCs), an extensive list with detailed instructions on how your app should perform in a variety of fields:
- Packaging
- Audio
- Performance
- Functional
- Security
- Tracking
- Input
- Asset
- Accessibility
- Streaming
- Privacy Policy
- Content
- Publishing
This is the bulk of the requirements, and where developers fail the most.
Some
of these requirements only apply to certain types of experiences, like
streaming.
Some of these requirements may require that you deal with
some edge case bugs, like the functional or input requirements.
Give it a proper read, it is better than having a surprise later.
Now. The performance checks are usually the harder ones to follow. Test your app regularly to see if you comply with these standards! Finding out that you have a serious performance issue at the last minute is a recipe for disaster. Check out the oculus documentation for some help with this.
Content Review
Having made it through the Technical Review process, your app is then evaluated for its overall completeness, polish, and value. This can be really vague, but oculus created a document to better define these requirements, including:
User Experience and App Ergonomics
Locomotion, Object Interactions, Player and Camera orientations, and more fall into this category. Make sure your user can play without any strain.
Differentiation, Depth, and Replay Value
Oculus is looking for a full game, capable of delivering more than a few minutes of experience. Something complete with characters, environments, and a proper progression. But also something unique, that brings out the best in VR and expands what the store has to offer.
Other Key Guidelines
The graphics, Sounds, Physics, and UI should keep the player immersed in your experience.
Content Policy Guidelines
You must also abide by the Content Guidelines, which include common app store content guidelines, like restrictions on pornography, hate speech, gambling, and applications directed to children.
Publishing your App
Create an App Page
The first step in the submission process is to create an app in the developer dashboard.
- Log on to the Oculus Developer Dashboard
- Click "Create New App"
- Fill in an App Name and select a platform.
- Hit "Create"!
Release Channels
Oculus provides some channels that allow you to distribute development builds to a limited user base, that can either subscribe to a public channel or be invited to a private one. By default, a few channels are created automatically, and it is up to you how you use these channels, but usually, this is how it goes:
- Alpha: Development team.
- Beta: Dev Team + Small Users group
- RC (Release Candidate): Dev Team + Stakeholders + Management
- Production: The version that is distributed in the Store
Build your App
When building your application you should take extra attention to the VRC Packaging Requirements.
The requirement "APK file size must be less than 1 GB. (...)", and "Your app must not require Android features not supported on Quest." will be up to you to enforce. But your Game Engine should be able to take care of the remaining.
Oculus has great documentation on how to set up Unity projects that will take care of everything but the .apk signing.
Lastly, there is a documentation for the apk signing specifically, covering how to do it on both Unreal and Unity 🙂
Uploading a Build to a Channel
With a build in hand, it's time to send it to a release channel. Oculus provides a few different ways to do this:
- The Oculus Platform Command Line Utility
- The Oculus Developer Hub Application
- Unity, Upload Apps to Oculus from the Unity Editor
- Unreal Engine, see Upload Apps to Oculus from the Unreal Editor
Using the Developer hub application method, just follow some simple steps:
1.Select "App Distribution" in the left panel
2. From your organization, select the App you want to upload a build to
3. Click "Upload" on the desired Release Channel
4. Take some time to make sure your build is compliant with the oculus requirements, then click "Upload" on the newly opened Popup.
5. Select your signed .apk file
6. Click the "Next" then "Upload" buttons at the bottom of the popup, and the upload process will start
7. When the process is complete, you should see the build available in the selected channel 🙂
Submitting App for Review Oculus Store
When you are confident in a build, you can move it to the Production channel by submitting it for Oculus review. From the Overview tab in your Oculus developer dashboard, click "Start Submission":
This will open the submissions page, where you need to fill in some extra information about the application, including its Genre, supported controllers and play area, pricing description, store artwork, and more.
Every step is pretty self-explanatory and Oculus did a good job guiding you through it all, at every step you can see on the right if you are violating any of the Virtual Reality Checks described earlier. You can also check this documentation on the Store content guidelines.
As you fill out this application, remember to save your modifications every time before you switch to a different category. Every category correctly filled will receive a little green checkmark. When everything is correct, you will be able to submit it to review, by clicking the blue "Submit for Review" button at the bottom right.
Track Review Progress
After submission, you can track its progress from the overview tab. The review can take a couple of weeks, as each app is reviewed individually.
During this process, your app can also be moved to a state called "Changes Requested", which means your application failed in some aspect of the VRCs. You can check the results for your build and App Metadata on their respective tabs, and sometimes a general note is added on the submission tab. At this point, you need to fix any errors pointed out, resubmit your app, and include a detailed change log with it.
Sharing you App
After your application has been accepted in the App Lab, you can start sharing it with the world. Remember that Oculus won't promote you in their store, so it is entirely up to you at this point.
Users can find your app in the store if they search for its name exactly as it is, letter by letter.
Alternatively, you can share a link to your "Product Detail Page" so people can install your app from the Quest Mobile App. This link can be found in the "Overview" tab, in your Oculus developer dashboard, by clicking the button "View PDP" at the top right. Common places to share it are Social Media, and other stores, like SideQuest.
Making Updates
After your app is released, you can update its binary without going through additional reviews, by uploading a new build to the Production release channel. However, changes to the App's Metadata will require an additional review, which should take 1~2 business days.
Official Oculus Store
Facebook is constantly monitoring how the applications are performing in the App Lab store and selects some of these to be promoted to the Official Oculus store. This isn't decided solely on download numbers, but also on retention metrics, long-term profitability, the development team, etc. The whole package.
After being selected, you go through a stricter technical review, but essentially the same process as before.
Download Syllabus
Download XR Development with Unity Course Syllabus