Lack of entitlement checks is the most common error encountered during the application submission technical review process. As such, we wanted to provide you with the resources and best practices to ensure you do not experience this error when you submit your application to the Oculus Store.
While implementing entitlement check functionality is similar on both the mobile (Gear VR) and PC (Rift) platforms, there are a few specific setup differences that must be taken into account for each.
This blog provides all the necessary resources for Unity developers. If you are an Unreal developer, go here for entitlement check best practices. If you are a Native developer, go here.
Gear VR Entitlement Best Practices
As specified in the platform guide for Unity, there are two different methods available for initializing our platform SDK in your application:
We strongly recommend that developers use the asynchronous method for initializing their mobile applications, as calls to the Platform SDK can fire while it initializes, which allows for other functions to run in parallel. This can result in better app performance, especially on mobile, along with less state management.
Recently, we made a few updates to our documentation to reflect a change in our evaluation of entitlement checks on Gear VR. Below is a list of the new steps that are required on your end for proper entitlement check functionality as well as some clarity on how to implement them in your application.
Recommended Entitlement Check Settings
Proper Entitlement Check Setup on Rift and Gear VR
Below is an example entitlement check implementation that will work across both platforms. Please note that while Gear VR requires an asynchronous implementation for entitlement checking to function properly, Rift applications can utilize either method based on the needs of your application and pass entitlement check functionality successfully.
When incorporating this code into your project, be aware that you must choose one place to populate your application's user ID: either directly in the code above or within Unity in the OVRPlatformSettings menu. Providing the ID in both places for your project will result in a 'clobbering' of the IDs, which will cause an entitlement check failure for your application.
Using the CLI Tool to Integrate the Entitlement Check on Rift Applications
The Oculus Platform Command Line Utility offers a faster way to upload and streamline manual processes associated with your applications. Below is an example entitlement code instrumentation option for quickly and easily adding entitlement checking to your Rift build.
The Rift upload example below uses the fictitious app "Rabbit Hole", as described in the CLI Tool documentation here.
10001234
1234abcd
C:\Rabbit Hole
C:\Rabbit Hole\bin\badrabbits.exe
1.1
To upload version 1.1 of Rabbit Hole to the RC release channel with injected entitlement check code, enter:
ovr-platform-util upload-rift-build -a 10001234 -s 1234abcd --add-entitlement-check -d "C:\Rabbit Hole" -l "bin\badrabbits.exe" -n "
Now our example application will have the correct entitlement code injected into the build.
Troubleshooting Entitlement Check Functionality
We've gone through just a few best practices and guides to help you ensure entitlement checks are implemented properly on your application. Here is a list of our top 4 tips to help you troubleshoot entitlement checks on your app:
For more information on entitlement checks please see the available documentation on the developer center.