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.
This guide covers everything you need to know to get started developing Unreal applications for the Oculus Quest or Oculus Go.
There are a number of ways that you can obtain the Oculus Unreal distributions.
You can also get source distributions from GitHub if you have the correct access.
Important: To access the Epic and Oculus GitHub repositories, you must be logged in to GitHub and subscribed to the private EpicGames/UnrealEngine repository (see UE4 on GitHub for details). Otherwise, you will receive a 404 error when you try to access the repository links. An Unreal license is not required.
You can obtain a source distribution from the Epic GitHub Repository. This Oculus code may be a version or two behind the latest Oculus SDK. Please see the Epic GitHub Repository table in Version Compatibility Reference, in order to choose the specific downloads that best suit your development criteria.
You can obtain the most up-to-date source distribution from the Oculus GitHub Repository. These distributions are the most up-to-date with the latest Oculus SDKs. We support the current release of UE4 and any preview of the next release of UE4. Please see the Oculus GitHub Repository table in Version Compatibility Reference, in order to choose the specific downloads that best suit your development criteria. While new Oculus features ship first to the Oculus GitHub versions, API changes may occur when these branches are merged back into Epic’s version of the engine. We recommend these distributions for professional developers who would like to access the latest Oculus SDK features. In order to build this source base, see Building UE4 from Source.
These steps describe Unreal Engine 4.24. The screens and instructions may vary for different versions of Unreal Engine.
Download and setup the version Unreal Engine that you wish to use. Check the Version Compatibility Reference for the list of SDKs that ship with each version.
Setup Unreal for Android Development. Unreal requires the Android SDK and NDK, Ant scripting and JDK, as well as specific environment variables. Set this up by installing Nvidia CodeWorks, which ships with Unreal Engine. CodeWorks provides the Android SDK, NDK, Android tools, USB driver, sets up the environment variables and more. You can find the installer for CodeWorks at the following location:
For example, on Windows 10, you would likely find the installer,
C:\Program Files\Epic Games\UE_4.24\Engine\Extras\AndroidWorks\Win64\.
Double-click the CodeWorks installer to run it on your computer.
Note that installing Nvidia CodeWorks could interfere with Android development using Unity or other development tools. For more information about Android requirements and CodeWorks, see the Android Development Reference in the Unreal Engine docs.
In this section you will use Unreal Engine to create a project for Oculus development.
At the bottom of the screen:
Your screen should look like this:
In this section, you will enable the Oculus plug in and modify some project settings to work with Oculus devices.
Select Edit > Plugins, choose the Virtual Reality section, and make sure that the OculusVR Plugin is enabled.
Select Edit > Project Settings. Then, under Project, select the Maps & Modes section:
Under Default Maps, set both the Editor Startup Map and the Game Default Map to the Level that you just saved:
Scroll down and select Engine > Input. Locate the Mobile section:
For Default Touch Interface, select Clear, which sets this value to None:
The result should look like this:
Scroll down to the Platforms section, select Android. Then scroll down on the right-hand side to the APK Packaging section, and if necessary click Configure Now:
Set the following settings depending on your target device.
The following image shows an example of the settings for Quest.
Open Advanced APKPackaging and click the + next to Package for Oculus Mobile Devices. From the drop-down select Oculus Go/Gear VR or Oculus Quest, depending on your device. Also check Remove Oculus Signature Files from Distribution APK unless you’re building development apps for Gear VR.
Click on the Android SDK section, and make sure that Android SDK tools that are needed to build your project point to the correct folder on your PC, and you have set the API levels per your device. See Android Development Software Setup for more info.
Scroll to the Engine section, select Rendering, and make sure Mobile HDR is turned off:
This section describes how to launch your UE4 project so that it can be viewed in the Oculus Go or Quest headset.
In the UE4 Editor, click beside the Launch icon to open Options for Launching on a Device:
All Unreal apps that ship on the Oculus Store are recommended to implement the Entitlement Check to verify that the user’s app is legitimate. For information about how to implement the Entitlement Check, please see the Unreal Development Getting Started in the Platform Solutions guide.
When you are ready to distribute your application, an Android Distribution Keystore is required for submission to the Oculus Store.
Before building your final release package, create a new Android keystore as described in the section “Manually Sign an APK” in Android’s Sign your Applications guide. Once you have generated your distribution keystore, in the Unreal Editor, go to Edit > Project Settings > Platforms > Android, scroll down to Distribution Signing, and enter the required information.
See the Application Signing section of the Mobile SDK documentation for more information.
Note: It is important to review Distribute, which covers Oculus Store submission requirements and guidelines.