Oculus Developer Release Notes: v28

Oculus Developer Blog
Posted by Oculus VR
April 30, 2021
Release Notes
Native SDK

See below for the latest developer release notes. If you have questions and/or feedback on any of these updates, feel free to comment below or post on the Developer Forum.

Oculus Integration for Unity - v28

The Oculus Integration SDK for Unity provides support to develop Oculus apps in Unity. It comes bundled with the OVRPlugin 1.60, Audio SDK 28.0, Platform SDK 28.0, Avatar SDK 20.0, and LipSync SDK 20.0. The latest Oculus Integration SDK is available from Unity's Asset Store or from the Archive page.

What's New

  • You can now use high frequency hand tracking to build more robust and reliable gesture detection, stable hand depiction, and reduce latency of about 10%.

  • Important: High frequency will reserve some performance headroom from the app’s budget. Apps with low frequency hand tracking are downclocked to CPU level 3 and GPU level 3. Apps with high frequency hand tracking are downclocked to CPU level 3 and GPU level 2.

  • You can add high-quality runtime splash screens that load significantly faster than their application-driven counterparts.

  • Quest 2 now supports 120 Hz refresh rate as an experimental feature, provided the user has enabled the support from the headset. You can now build apps to run at 120 Hz.

  • Experimental OpenXR is now supported for Rift apps (Win64).

  • You can now enable 3-DoF head tracking for media apps.

  • PC apps can now utilize audio settings from the Oculus app. Added support for audio redirection through OpenXR-based OVRPlugin.

What's Fixed

  • OVRPlayerController controller stick rotation to rotate about the camera position instead of the center of the guardian

  • OVROverlay freezing when using Vulkan with OpenXR


  • OVROverlay composition depth is now dynamic. If the value is changed at runtime, the layer's composition depth will now update properly.

Known Issues

This section details known issues with Unity that are not tied to a specific version. Issues are grouped by most closely related subject.


You may encounter issues when running ARM7 build on Oculus Quest, if you are using Unity's XR Management system with the latest OVRPlugin and the Oculus XR Plugin is outdated.

Workaround: Either switch to ARM64 build or upgrade the Oculus XR Plugin to 1.4.0+ to fix the issue.


  • Vulkan Quest apps may crash when you select Use Recommended MSAA Level in OVRManager and request audio permissions after the splash screen runs.

  • Workaround: Clear Use Recommended MSAA Level check box in OVRManager and manually set the appropriate MSAA level (recommended 4x) in Project Settings > Quality

  • Changing modes in Lipsync_Demo on Oculus Quest is currently not supported.

  • Unity has a known issue such that parenting one VR camera to another will compound tracking twice. As a workaround, make them siblings in the GameObject hierarchy

  • Using Unity Universal Render Pipeline will not set the MSAA level automatically.

Windows 10

  • You may experience long UI stalls or poor performance with the Unity editor when targeting Oculus Rift on Windows 10.

  • Workaround: Run Windows update to ensure that you have the latest version of Windows 10.

  • The combination of all Unity versions with Oculus runtime 1.17 and higher and Windows 10 + Creators Update results in spurious WM_DEVICECHANGE reports in the editor, even in non-VR projects. You may not notice any impact, but if you're connected to certain USB devices, you may find the Unity editor becomes non-responsive and you needs to terminate it from Task Manager.

  • Workaround: Update to the Beta runtime available on our Public Test channel. We are currently working with Unity and Microsoft on a permanent solution.

Oculus Rift

  • Currently, in the Guardian System API, ovr_SetBoundaryLookAndFeel does not take effect if the headset is not worn when the call is made (e.g., on start).

  • Transparent VR Compositor Layers do not currently support multiple layers of occlusion.

Unreal Engine 4 Integration

These release notes describe changes to the Oculus Source Distribution for Unreal Engine available from the Oculus GitHub repository. For more information, see the Unreal Engine Developer Guide.

The Oculus GitHub distribution of Unreal Engine source code includes the latest SDKs and provides the most recent features. Access requires a GitHub account subscribed to the private EpicGames/UnrealEngine repository (instructions here).

Note: To access the files on GitHub, you must be logged into a subscribed account, otherwise you will get a 404 error when accessing the following link.

What's New

  • Integrated with Unreal Engine 4.26.2 Hotfix.

  • OVRPlugin updated to 1.60.0

  • OS Splash Screens for Quest and Quest 2 that render splash screens faster and with higher resolution.

  • Quest 2 apps can enable higher fidelity hand tracking with a tradeoff of available compute. You can select LOW or HIGH. Apps with low frequency hand tracking are downclocked to CPU level 3 and GPU level 3. Apps with high frequency hand tracking are downclocked to CPU level 3 and GPU level 2.

  • Maximum display refresh rate for Quest 2 apps increased to 120 Hz on devices where users have enabled Settings > Experimental Features > 120 Hz.

  • HandPoseShowcase to demonstrate high frequency hand tracking, hand pose recognition, and hand gestures. See Samples/Oculus/HandPoseShowcase.

What's Fixed

  • The OculusVR project settings can now appear in Unreal Engine even if the Oculus app isn't installed on PC.

  • Cascaded shadow maps now work as expected and no longer have increased GPU cost.

  • SceneCapture2D no longer shows a black texture on Quest when using GLES and multiview.


  • Updated the OpenXR loader (.so) for Oculus to the latest version to align with the runtime.

  • Improved Vulkan validation layers.

Known Issues

  • Unreal Engine 4.25+ has additional CPU performance cost due to a change from a single-subpass forward translucency model to a dual-subpass model.

    To work around this, we added the console variable r.Mobile.DisableTransluency (spell it exactly as shown) that when set to 1 disables the second subpass. Don't use this workaround if you submit draw calls that use depth fetch, as it can cause segmentation faults.

Additional Distributions

You can also obtain Unreal Engine as a binary from Unreal or from the GitHub repository for Epic Games, but these version of Unreal Engine contain older versions of the Oculus integration.

For more information on the differences between different Unreal options and how to access them, see the Version Compatibility Matrix in our Developer Guide.

Unreal Source Distribution

The standard Epic source distribution hosted on GitHub is typically about a month behind the Oculus branch in feature support. Access requires a GitHub account subscribed to the private EpicGames/UnrealEngine repository (instructions here).

Note: To access the files on GitHub, you must be logged into a subscribed account, otherwise you will get a 404 error when accessing the following link.


Unreal Engine Binary

For beginning or casual developers, we recommend the Unreal Engine binary available through Epic’s Launcher.


Platform SDK

Use the Platform SDK to create social VR applications. Add Matchmaking, DLC, In-App Purchases, Cloud Storage, Voice Chat, Custom Items, Achievements, and more to your experience using the individual components of the SDK. The SDK download includes sample apps that demonstrate how to implement many of the SDK features in fully-functional games and applications.


See the Platform documentation for Unity, Unreal Engine, or Native C++ development for a list of features and links to how to get started. The Platform SDK is compatible with all Oculus supported development environments and platforms.

What's New

  • None

What's Fixed

  • Methods ovr_Purchase_GetPurchaseStrID and ovr_Purchase_GetPurchaseID have been deprecated.


  • None

Known Issues

  • None

Mobile SDK

The Oculus Mobile SDK includes libraries, tools, and resources for native C/C++ development of Android apps for the Oculus Quest, Oculus Quest 2, and Oculus Go standalone devices. If you primarily use Unity or Unreal Engine for Android development, it is not necessary to download the Mobile SDK in most cases . For more information on Oculus Mobile development using Unity or Unreal Engine, see Mobile Development with Unity and Unreal.

For documentation on developing for Oculus devices that use Android, see our Mobile SDK Developer Guide.

For details on migrating to Mobile SDK 28.0 (API 1.45) from previous versions, see the Mobile SDK Migration Guide.

What's New

The following new features can be found in 1.28:

  • Phase Sync, a frame timing management technique used to manage latency adaptively, is now available for Native mobile development. See Enable Phase Sync for more information.

What's Fixed

  • There are no bug fixes in this release.


  • There are no other improvements in this release.

Known Issues

  • There are no known issues with this release.

Other Developer Updates

  • A marketing attribution dashboard was recently added to help you track how effective your marketing efforts are. For more information, see Marketing Attribution Analytics.

Be sure to keep an eye out for upcoming blog posts expanding on a number of these updates, while our Twitter and Facebook channels offer the latest in VR development news and insights.