DEVICE-CENTRIC DOCUMENTATION

The site has a new content architecture. We've added the ability to select your development device to show device-specific content. Please read our blog post Oculus Developer Center Update: Device-centric Documentation Architecture for more information.

Oculus Quest Development

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.

Oculus Quest and Go: Quick Start

This guide covers everything you need to know to get started developing Unreal applications for the Oculus Quest or Oculus Go.

Setup the Oculus Quest or Go

Select an Unreal Engine Distribution

There are a number of ways that you can obtain the Oculus Unreal distributions:

  • A binary distribution is provided through the Epic Game Launcher. This Oculus code may be a version or two behind the latest Oculus SDK. We recommend that beginning developers use this binary distribution. It is stable, and does not require pulling the source from GitHub, setting up Visual Studio, and performing a lengthy compilation of the entire Unreal game engine source code.
  • A source distribution is provided through 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.
  • A source distribution is provided through the Oculus GitHub Repository. These distributions are always 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.

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.

Setup Unreal Engine for Android Development

Important

These steps describe Unreal Engine 4.24. The screens and instructions may vary for different versions of Unreal Engine.

  1. 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.

  2. 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:

    [Unreal-Install-Dir]\Extras\AndroidWorks\[Platform]\

    For example, on Windows 10, you would likely find the installer, CodeWorksforAndroid-1R7u1-windows.exe, under C:\Program Files\Epic Games\UE_4.24\Engine\Extras\AndroidWorks\Win64\.

  3. 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.

Create a Project

In this section you will use Unreal Engine to create a project for Oculus development.

  1. From the Unreal Engine Launcher, press the Launch button to open the Unreal Project Browser.
  2. From the New Project Categories section of the Unreal Project Browser, select Games, and click Next
  3. One the Select Template page, choose Blank project and click Next
  4. For Project Settings, choose:
    • Blueprint
    • Mobile / Tablet
    • Scalable 3D or 2D
    • No Starter Content

    At the bottom of the screen:

    • Set the folder location
    • Set the project name

    Your screen should look like this:

  5. Press the Create Project button to create the project and load a blank project.

Configure the Project for Oculus Development

In this section, you will enable the Oculus plug in and modify some project settings to work with Oculus devices.

  1. Select Edit > Plugins, choose the Virtual Reality section, and make sure that the OculusVR Plugin is enabled.

  2. In order to be able to run any Unreal Engine project when it is deployed to a device, including the Oculus Go or Quest, you must save at least one UE4 Level. To keep the current Level, press the Save icon in the toolbar to save it. Give it a name, such as GoQSMap or QuestQSMap.
  3. Select Edit > Project Settings. Then, under Project, select the Maps & Modes section:

  4. Under Default Maps, set both the Editor Startup Map and the Game Default Map to the Level that you just saved:

  5. Scroll down and select Engine > Input. Locate the Mobile section:

  6. For Default Touch Interface, select Clear, which sets this value to None:

    The result should look like this:

  7. 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:

  8. Set the following settings depending on your target device.

    For Go:

    • Minimum SDK Version: 21
    • Target SDK Version: 21
    • Enable FullScreen Immersive on KitKat and above devices, check for True

    For Quest:

    • Minimum SDK Version: 25
    • Target SDK Version: 25
    • Enable FullScreen Immersive on KitKat and above devices, check for True

    The following image shows an example of the settings for Quest.

  9. 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.

  10. 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.

  11. Scroll to the Engine section, select Rendering, and make sure Mobile HDR is turned off:

  12. Add additional code of your choice to the project.

Launch the Unreal Project on a Device

This section describes how to launch your UE4 project so that it can be viewed in the Oculus Go or Quest headset.

  1. Make sure your Oculus Go or Quest is connected to your development PC via the USB cable.
  2. Make sure you have installed and can run the Android Debug Bridge (ADB), and that your PC can see the Oculus Quest or Go using the ADB command adb devices. For more information, see Adb in the Mobile SDK Developer Guide.
  3. In the UE4 Editor, click beside the Launch icon to open Options for Launching on a Device:

  4. From the drop down list, select the device you want to deploy to. If you are prompted to save the project, make sure to do so even if you recently saved it. This will ensure that the latest content resides on your Oculus Go.
  5. In the lower corner of the UE4 Editor, a progress bar indicates the status of the packaging process. If this is the first time you are packaging your project, it could take a few minutes, depending on the size of your project.
  6. When the process is complete, you should be able to launch the project and view it in your Oculus Quest or Oculus Go headset.

Adding the Entitlement Check

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 SDK guide.

Application Distribution Requirements and Guidelines

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.