We’re excited to announce a number of updates and enhancements to our tools and SDKs this month. If you have questions and/or feedback on any of these updates, feel free to comment below or post on the developer forum.

New Features + Integration Changes

Added development support for Rift S

Added Mixed Reality Capture support for Oculus Quest: Integration Guide + Setup and User Guide

Unity’s XR SDK preview support: More information about the XR SDK can be found at the following Unity Forum post

Updated Oculus Unity Integration to 1.38, including:

Updated the LipSync integration to 1.38



Updated the Audio Spatializer to 1.38

API Updates

Breaking change: the OVROverlay prefab now requires an instance of the OVRManager prefab to be present. Apps that wish to update to 1.38 or later may be required to add OVRManager

Renamed the TiledMultiRes setting to FixedFoveatedRendering

New Features + Integration Changes

Added development support for Rift S

Added support for Android External Surfaces to enable high-definition video playback on Unreal compositor layers

Added support for Equirect compositor layers

Updates to the Oculus Platform Tool to support additional launch settings and expansion files

Added Mixed Reality Capture support for Oculus Quest: Integration Guide + Setup and User Guide

Updated Oculus Unreal Integration to 1.38

API Update

Renamed the TiledMultiRes setting to FixedFoveatedRendering

Added the ovrStatus_OrientationValid and ovrStatus_PositionValid enumerants to enum ovrStatusBits. The 1.37 runtime supports estimating the position and orientation of tracked devices when those devices are not visible to the tracking system. Applications should use ovrStatus_OrientationValid and ovrStatus_PositionValid to indicate that the data returned from ovr_GetTrackingState is valid, as opposed to the existing ovrStatus_OrientationTracked and ovrStatus_PositionTracked flags.

For the Rift S and any headsets other than the Rift CV1 being used on a game built against an old SDK version, ovr_GetHmdDesc may return the ovrHmdType as ovrHmd_CV1, for backwards compatibility.

For the Rift S and any headsets other than the Rift CV1 being used on a game built against an old SDK version, ovr_GetTrackerCount, ovr_GetTrackerDesc, and ovr_GetTrackerPose may return three Rift CV1 trackers when not actually present for backwards compatibility.

The 1.37 SDK introduces the ovrError_AccessDenied error result, which indicates that the application attempted an API call which could not be completed due to the application not having sufficient privileges.

ovrHMD_RiftS has been added to ovrHmdType and refers to the Rift S headset.

ovrStatus_OrientationValid and ovrStatus_PositionValid were added to ovrStatusBits in the 1.37 SDK release, but were functionally the same as ovrStatus_OrientationTracked and ovrStatus_PositionTracked. Starting with the 1.38 runtime, these values may differ. Applications should use the Valid flags instead of the Tracked flags for most use cases.

New Features:

Support for Samsung Galaxy S10 smartphones

API Changes:

Added support for the Samsung Galaxy S10

Added VRAPI_TRACKING_STATUS_POSITION_VALID and VRAPI_TRACKING_STATUS_ORIENTATION_VALID ovrTrackingStatus flags. previously, it was unclear how to treat orientation and position data when the _TRACKED status bits were not set. The new _VALID bits indicate when 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

Development and Publishing Tools

Speeding Up Iteration Time

We enhanced the Unity integration in 1.38 to help reduce build and deploy times. To take advantage of this, you will need to update to 1.38 and choose our build step from the Oculus menu in your Unity editor:

This build process utilizes the Gradle Build System’s cache by only updating files that have changed and alternate ADB commands to help speed up both build and deploy times. Note that these speed gains only take effect on consecutive runs and are aiming at iteration time reduction for Quest and Go devices.

Additionally, we recommend developers use a USB 3.0 cable when developing, as that can speed up transfer times by roughly 50%.

Improving Release Channels

Based on developer feedback, we are happy to share the following release channel improvements:

Delete release channels: For channels no longer need, you will find the option to delete.

Public release channels: For published apps, you now have the option to make a release channel “public” so that any of your users may self-subscribe.

Switch release channels: For users who have access to multiple release channels, they can now change the active channel by visiting the app listing in the Oculus website or application.

For more information on the many Oculus tools and SDKs, be sure to check out the Documentation and Download sections of the Oculus Developer Center.

- The Oculus Team