When you're ready to submit your application, as a first step, your app must pass our technical review process.This initial step ensures that your app meets some fundamental qualifications. We've packaged those technical tests into the new VRC Validator that you can run yourself before you submit!
This easy-to-use and effective procedural tool can quickly identify issues that may result in your Rift application not meeting the Virtual Reality Check (VRC) Guidelines.
Using the VRC Validator as your Rift application nears completion is a great way to ensure that you are on the right path in regards to technical and performance-related requirements.
The VRC Validator can assist you in identifying and fixing:
In addition to providing results based on the various technical tests, the VRC Validator provides guidance via relevant documentation and best practices to help you resolve any issues.
You can run all tests together or one test at a time based on which parts of your application you are concerned with. Each test should take between 10-30 seconds to complete. In the off chance the test does not complete in this time range, please re-run the test.
Below is a list of the most common tests that the VRC Validator can run on your application:
Default Tests (in the order they will be tested)
Your app must use the correct versions of Oculus PC SDK, Unity, or Unreal Engine.
Your app must perform an Oculus Platform entitlement check within 10 seconds.
Your app must not distribute its own copies of Oculus DLLs.
Your app must launch into VR within 4 seconds and display a non-headlocked layer.
Your app must maintain 90 frames per second.
Your app must submit frames when visible.
Your app must stop submitting frames when the Universal Menu is open.
Your app must respond to requests to reset the view.
Your app must quit gracefully.
Your app must not contain DLLs from other platforms.
Your app must target the audio device specified in the Oculus app.
Where is the VRC Validator located and how do I use it?
The VRC Validator is automatically installed with the Oculus Runtime. You will find it in the location shown below if you chose a standard installation with suggested directories for your runtime installation. The VRC Validator is located in the “Oculus\Support\oculus-diagnostics” folder.
Make sure that you can find the tool “OculusVRCValidator.exe” in your directory prior to running the tests. If the tool is not present, you should reinstall the latest version of the Oculus Runtime and the tool should be installed to this location.
Running the VRC Validator requires a command prompt window run with administrative privileges. Using the following commands will open the tool and provide you immediate access to any test you wish to run:
You can now run any test from the above list of common tests in the following format. Using the command below will run the VRC Validator's 'TestLaunchIntoVR' test which checks whether or not your application starts within four seconds and displays a non-headlocked layer:
OculusVRCValidator> --path "C:\Program Files\Oculus\Software\Software\oculus-first-contact\TouchNUX.exe" --test TestLaunchIntoVR
OK, How does the VRC Validator show me what fails in my app and how to address it?
In the following sample project we will illustrate a failed entitlement check for a Rift application built with Unity 5.6.4p2, the current baseline Unity version Oculus supports at the time of this writing.
Proper entitlement check functionality is an important requirement for the Oculus Store. This check ensures that users who access your application have actually purchased or been granted use of your application legitimately.
We are using a sample scene based on the roll-a-ball tutorial/ with entitlement check deliberately disabled.
After we have built the Rift application from the sample project linked above, the next step is to test it for entitlement check functionality. This test checks for both the presence of entitlement checks and whether or not the application's ID is present in the code of the application itself.
The command prompt should look similar to this for proper setup and testing of your application (we are using “-l” at the end of the command so the tool prints a log file in the same directory as the tool) :
The VRC Validator has run the TestEntitlementCheck test and confirmed that entitlement check code is not present and that the Application ID is not valid or missing from the project:
We can see from the snippet of the test generated log file below that the VRC Validator has provided us with next steps in addressing this issue through relevant documentation:
Using the documentation link that the VRC Validator recommended in the log file, we locate the OculusPlatformSettings menu in our sample Unity project and enter the corresponding application ID provided in the developer dashboard and enter it in the field below:
Running the Unity application in the editor demonstrates that the entitlement check is now present and valid.
Re-running the VRC Validator entitlement check test also shows us that the application now passes the test:
VRC Validator Best Practices and Troubleshooting
When using the VRC Validator it is important to be aware of the following environmental variables that must be met for the tool to work correctly:
For additional information about the VRC Validator, including detailed definitions of each test and advanced parameters to customize your tests, please check out our documentation on the tool here.
Troubleshooting common VRC Validator issues:
New Developer Sub-forum for Providing Developer Tool Feedback
If you have any questions or feedback about our developer tools please visit our developer tool feedback sub-forum on the Oculus Developer Forums. We would love to hear your feedback!