Last month, we launched
App Lab, a new way to distribute apps to Oculus Quest, and have since approved and published more than 100 apps! We've been thrilled by the enthusiastic response and high volume of submissions, which has led to longer review times. We’re committed to reducing those times and streamlining the submission process.
To that end, the following post will answer your most frequent App Lab questions and help you avoid the most common reasons that app submissions are not approved. We hope you find this information helpful as you prepare for a successful App Lab submission. If you’d rather watch than read, Clorama Dorvilias, Product Manager at Oculus, provides additional insight into the submission process in this video:
The three most frequently asked questions by developers about App Lab:
How long is the review process?
Due to the high volume of app submissions and the amount of changes requested by our review team to make sure submissions are compliant with our guidelines, review times are tracking longer than we intend. Generally, you should anticipate 4-6 weeks for review, although this may be slightly longer or shorter in certain circumstances. We believe we will be able to significantly reduce the wait time after this initial wave as we continue to optimize the process and refine our requirements. Currently, App Lab submissions are reviewed on a first come, first serve basis, so we are prioritizing previous submissions before reviewing new ones.
Can I update my app after submission?
Submitted apps can be updated until the status changes to “Under Review.” Once it is “under review,” you will not be able to update your build and will need to await approval team feedback to make changes. We recommend you submit when you are ready to launch to the public and make updates after approval or as requested by the review team. If you choose to update a submitted app, you need to click "Cancel Submission." This will reset your position in the review queue.
What happens after my app is approved?
When a submission is approved by our review team, the app is published promptly. The app will be re-reviewed periodically to make sure it still meets our policies and guidelines. Build updates can be submitted anytime after approval and will publish immediately. Metadata updates like cover art or app description will be reviewed prior to them being published.
Our review team ensures submitted apps meet all the App Lab requirements listed in the Quest Virtual Reality Checks (VRCs). The gold standard to ensure your application sails through technical review is to review the
Quest VRCs and run through our
sample test plan. These are the exact same steps that the review team follows when testing your application. When you don’t meet these requirements, changes are requested and you have to resubmit these changes. On average, we see developers submitting an additional 2-3 times in order to meet these requirements and be approved for App Lab. This adds to your wait time to be published. To significantly reduce your wait time, we ask you to carefully consider these three VRCs, where the majority of App Lab submissions fail the first time:
Security
Security.2 - The app must request the minimum number of permissions required to function. The review team pays close attention to the list of permissions that Google considers “dangerous”, which includes camera, location, microphone, reading and writing external storage, and others. We see many apps requesting “dangerous” permissions unintentionally because their engine of choice automatically added the permissions based on certain classes in the project’s code. Often these automatic permissions are not needed for the app to function and lead to the app failing this VRC. To find out what permissions you’re requesting, look in the android manifest. From a command line, you can also run
$ aapt dump badging
and search the output for
uses-permission
. If your app needs these permissions, include details on how you’re using them in the “Notes to Reviewer” field during the submission process. Remove any permissions that are not needed.
Here are two helpful documentation resources on permissions for Android:
Asset
Asset.1 - Logo must be on a transparent background. Check your logo art in an image editing program and make sure the background is transparent.
We recently changed
Asset.3 and
Asset.4 from “required” to “recommended” for App Lab submissions. We highly encourage your app to meet these VRCs but they will no longer prevent approval.
Functional
Functional.1 - The app must install and run without crashes, freezes, or extended unresponsive states. To catch these issues, have other people try your app. We have a
comprehensive guide to playtesting as part of our Design, Develop, and Deploy for VR course.
Functional.3 - The app must not leave the user stuck at any point in the experience. A user must be able to play through the entire title without being unable to progress or requiring unobtainable information. The review team tests this by launching the title and playing through the content for 45 minutes.
We recently changed
Functional.2 from “required” to “recommended” for App Lab submissions.
Final Preparation Before Submission
Because of the length of review time, locked submissions that can’t be updated, and immediate publish upon approval - we highly recommend you submit to App Lab only when you are confident you will pass the requirements and are ready to launch. This creates the best and fastest experience for you and your future audience. Review the
Quest VRCs and the
Quest Test Plan, the actual steps our team uses when they review apps, and check that your app meets the requirements. If so, you are now ready to submit your app to App Lab in the
Developer Dashboard. Congratulations!
Again, we’re absolutely humbled by the response to App Lab. Your excitement inspires us. We will continue to iterate and optimize the submission process while maintaining a safe and healthy platform. If you have any feedback about App Lab, let us know in the
Developer Forums. We look forward to seeing your apps in App Lab!