All Oculus Quest developers MUST PASS the concept review prior to gaining publishing access to the Quest Store and additional resources. Submit a concept document for review as early in your Quest application development cycle as possible. For additional information and context, please see Submitting Your App to the Oculus Quest Store.
Note: You are viewing the Unreal version of this topic. To view this topic for Unity development, see Entitlement Check for Oculus Store Apps (Unity). To view this topic for native development, see Entitlement Check for Oculus Store Apps (Native).
One of the requirements to sell an app in the Oculus Store is that you verify the user purchased or obtained your app legitimately. This check is called the entitlement check. You should make the entitlement check within 10 seconds of the user launching your app.
The entitlement check does not require the user to be connected to the Internet. Also, you must handle a failed entitlement check in your app code. A failed entitlement check won’t result in any action on its own. For example, if the check fails, you could show the user an error message and quit the app.
Optionally, you can associate an app entitlement with a Custom Item, which the user can display in their Oculus Home as a reward to customers to purchase your app in the Oculus Store.
To check the entitlement with Unreal, this is as simple as adding a blueprint.
First enable the Online Subsystem Oculus plugin:
DefaultEngine.inifile for your app. Find this under [SampleFolder]/Config/
Add or update the
OculusAppId entry with your app ID.
The relevant sections of DefaultEngine.ini will look something like this:
[OnlineSubsystem] DefaultPlatformService=Oculus bHasVoiceEnable=true [OnlineSubsystemOculus] bEnabled=true OculusAppId=000000000000
In this case, you would replace the
000000000000 with your AppId,
Next, in Unreal Editor and open the Level blueprint and add the Verify Entitlement node right after the Event BeginPlay node. In the Oculus OSS plugin you enabled earlier there is a
Verify Entitlement node. Add this action to your blueprint.
For example, in the Unreal Sample that is provided with the Platform SDK, the entitlement check is performed in the
You can perform additional user verification if you want to verify the identity of the user to your back-end server. User Verification provides a cryptographic nonce you can pass to verify that the user’s identity. This method does not replace the entitlement check. For more information on how to verify the user, see User Verification.
Test your entitlement check to ensure that your application is up to VRC standards for uploading to the Oculus Store.
Enable Developer Mode
This only needs to be done once per device.
Connect your Headset to your Oculus account.
Tap on the Oculus GO headset you are setting up within the mobile app
Tap More Settings > Developer Mode and then toggle Developer Mode ON
To set up an Oculus Rift for development, see the Rift Native SDK documentation.
Turn on your Oculus Quest device and open the Oculus application on your phone.
Tap Settings in the lower right corner.
Select device, and allow your Oculus application to connect to your device.
Tap More Settings > Developer Mode and then toggle Developer Mode ON.
Restart your Oculus Quest device.
You may need to restart your headset after doing these steps. Once done, there will be a new option in your headset library called “Unknown Sources”.
Test Entitlement Check
Have the application installed and make sure it opens properly before checking entitlements.
Go to the Getting Started API page for your application in the Developer Dashboard.
Replace your App ID with a random string of numbers.
Try launching the app.
The entitlement check should fail, and show an error message to the end user or enter a limited demo mode.
Or, you can log out of the entitled Oculus account and attempt to launch the application.