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.

Mobile Native SDK Migration Guide

This section details migrating from earlier versions of the Mobile SDK for native development.

Note: For information on releases older than Mobile SDK 1.23, see Mobile Native Migration Guide - Archive.

Migrating to Mobile SDK 12.0

This section is intended to help you upgrade from the Oculus Mobile SDK version 1.28.0 to 12.0.

New Features

  • Hand tracking is now supported on Oculus Quest as a developer preview feature. See the “Hand Tracking” section of VrApi Input and the new VrHands sample for example usage.
  • Dynamic foveation is now supported. See the “Dynamic Foveation” section of Fixed Foveated Rendering for more information.

API Changes

  • A new hand tracking API has been added.
  • A new ovrProperty, VRAPI_DYNAMIC_FOVEATION_ENABLED, has been provided which allows the application to specify whether dynamic foveation should be enabled.
  • A new event polling mechanism, vrapi_PollEvent, has been added to the API.
  • New ovrSystemProperty values VRAPI_SYS_PROP_HAS_ORIENTATION_TRACKING and VRAPI_SYS_PROP_HAS_POSITION_TRACKING have been added for querying device tracking capabilities.

Migrating to Mobile SDK 1.28.0

This section is intended to help you upgrade from the Oculus Mobile SDK version 1.27.0 to 1.28.0.

Overview

There are no developer-facing changes in this release.

Migrating to Mobile SDK 1.27.0

This section is intended to help you upgrade from the Oculus Mobile SDK version 1.26.0 to 1.27.0.

Overview

There are no developer-facing changes in this release.

Migrating to Mobile SDK 1.26.0

This section is intended to help you upgrade from the Oculus Mobile SDK version 1.25.0 to 1.26.0.

Overview

In this release, the samples have been updated and refreshed.

API Changes

  • A new ovrProperty, VRAPI_DEVICE_EMULATION_MODE, has been added to detect if an application is running in compatibility mode for older devices.

Migrating to Mobile SDK 1.25.0

This section is intended to help you upgrade from the Oculus Mobile SDK version 1.24.0 to 1.25.0.

Overview

There are no developer-facing changes in this release.

Bug Fixes

  • An issue with stale frame judder on Oculus Quest when the latency mode is set to VRAPI_EXTRA_LATENCY_MODE_OFF has been resolved.

Migrating to Mobile SDK 1.24.0

This section is intended to help you upgrade from the Oculus Mobile SDK version 1.23.0 to 1.24.0.

Overview

This release adds support for several new Vulkan features, all of which are demonstrated in the VrCubeWorld_Vulkan sample included with the SDK. These features are as follows:

  • Vulkan Fixed Foveated Rendering (FFR)
  • Vulkan Multiview
  • Vulkan MSAA support

Additionally, protected content rendering is now supported on both Oculus Quest and Oculus Go.

VrApi Changes

  • The vrapi_CreateAndroidSurfaceSwapChain2 function has been added to create an Android Surface SwapChain as a protected resource.
  • The vrapi_GetTextureSwapChainBufferFoveationVulkan function has been added to acquire the foveation Vulkan image associated with the SwapChain.
  • A new ovrSystemStatus, VRAPI_SYS_STATUS_USER_RECENTER_COUNT, has been added for retrieving the number of user-initiated recenter operations.
  • A new ovrFrameLayerFlag, VRAPI_FRAME_LAYER_FLAG_FILTER_EXPENSIVE, has been added to enable expensive filtering for a layer. This option is only useful for 2D layers that are high resolution (such as a remote desktop layer), typically double or more the target resolution.
  • Deprecated extended FrameParms support has been removed.
  • vrapi_GetEyeViewMatrix has been removed from VrApi_Helpers.h. See VrAppSupport/VrModel/Src/SceneView.cppGetEyeViewMatrix for a valid replacement.

LibOVRKernel Removed

LibOVRKernel has been removed from the SDK. Most LibOVRKernel usage was replaced by the C++11 Standard Library equivalent. Any functionality that was not replaced was moved into header files at 1stParty/OVR/Include.

Migrating to Mobile SDK 1.23.0

This section is intended to help you upgrade from the Oculus Mobile SDK version 1.22.0 to 1.23.0.

Overview

This release provides support for Samsung Galaxy S10 smartphone.

VrApi Changes

  • Added Samsung Galaxy S10 Device Type to the API.
  • New ovrTrackingStatus flags were added: VRAPI_TRACKING_STATUS_POSITION_VALID and VRAPI_TRACKING_STATUS_ORIENTATION_VALID. Prior to these status bits, it was unclear how to treat orientation and position data when the TRACKED status bits were unset. The new VALID bits indicate whether the value delivered is usable for rendering or other computation. When the TRACKED bit is unset, but the VALID bit is set, the provided pose is usable, but is the result of some model or estimation heuristic.