Developing for Oculus

How you can develop for Oculus devices in Unreal Engine.

The OculusVR plugin has been deprecated in Unreal Engine 5.1. You should use the OpenXR plugin instead.

Oculus is a head-mounted virtual reality platform from Meta that is supported in Unreal Engine. This page describes how Oculus is supported in Unreal Engine, and how to set up your environment to develop with Oculus. Refer to Supported XR Devices for the full list of which Oculus devices Unreal Engine supports.

Currently, you can develop for Oculus devices with either the OpenXR plugin or the Oculus VR plugin:

  • When you develop with the OpenXR plugin, your application can run on any device that supports the OpenXR APIs.

  • When you develop with the Oculus VR plugin, your application can use Oculus-specific features that aren't currently included in the Oculus OpenXR extension plugin.

Refer to the Developing with OpenXR APIs and Developing with Oculus APIs sections below for more details.

Developing with OpenXR APIs

To develop for Oculus using OpenXR in Unreal Engine you must set up the following:

Once you're set up for developing with OpenXR, you can use the OpenXR APIs to develop for not only Oculus devices but any device that supports the OpenXR APIs. Refer to Developing for Head-Mounted Experiences with OpenXR for more details.

Developing with Oculus APIs

To develop for Oculus using the Oculus-specific APIs in Unreal Engine you must set up the following:

Once you're set up for developing with the Oculus VR plugin, you can use Oculus-specific features that aren't available in the OpenXR APIs yet. The following features are currently available only in the Oculus VR plugin for Oculus devices:

Getting Started with Development

After setting up your project with the OpenXR or Oculus VR plugins, follow these guides to get started developing for Oculus devices.

Auto Instancing on Oculus

A draw call is the RHI command to draw an object. Auto-Instancing is a feature that automatically combines multiple draw calls into one instanced draw call. An instanced draw call is a way for the graphics API to draw multiple instances of similar objects that have varying attributes. These can be any attributes that relate to the rendering of a mesh: position, orientation, color, and so on. This page contains more details about auto-instancing on Oculus Quest.

Troubleshooting and Profiling

The following guides show how to profile your XR application and what to consider when you need to improve performance.

If you experience issues with your Oculus headset, visit the Oculus Support Center for troubleshooting help.