Oculus Developer Release Notes: v27

Oculus Developer Blog
|
Posted by Oculus VR
|
April 20, 2021
|
Share
Release Notes
Unity
Unreal

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 - v27

The Oculus Integration SDK for Unity provides support to develop Oculus apps in Unity. It comes bundled with the OVRPlugin 1.59, Audio SDK 27.0, Platform SDK 27.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

  • Upgraded Oculus Quest to Android 10. Yes, now Oculus Quest and Oculus Quest 2 have the same development environment!

  • You can now attach debug symbols to an existing build previously uploaded to a release channel. This is particularly useful when you want to symbolicate the crash logs from an existing app version.

  • You can define whether the eye FOV layer uses pre-multiplied or post-multiplied alpha for its blending mode.

  • We've added more features in OpenXR:

    • Color Space API

    • Fixed Foveated Rendering

    • Color Scale and Bias in OVROverlay

What's Fixed

  • Crash that occurred when using OVROverlay and building Debug IL2CPP app

  • Equirect layers that had a seam when using OpenGL (OpenXR and non-OpenXR)

  • MRC direct composition when using Universal Render Pipeline

  • Validation layer in MRC Vulkan

  • An issue where Unity not being able to launch the app with Build & Run when using Oculus-generated Android Manifest file

  • Underlay blending issues in OpenXR

  • Occasional crash that occurred in HMD events

Improvements

  • Upgraded OpenXR loader to v1.0.14

  • Added basic support for hand-tracking in OpenXR through the XR_EXT_hand_tracking extension.

  • Prevented extra memory allocations coming from PollEvent.

  • Updated Oculus Rift controller models and added animations

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.

General

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.

Unity

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

  • OVRPlugin updated to 1.59.0

  • PC VR now can use multiview in Mobile Preview, making Mobile Preview closer in behavior to deploying an app in standalone VR.

  • All apps now start 250ms faster.

  • Added new Touch controller Axis mappings for Rift and Quest 2 controllers: Oculus Touch (R) Thumb Rest CapTouch, Oculus Touch (L) Thumb Rest CapTouch. Quest controllers without capacitive thumb rests won't trigger the input event.

  • Added Get Finger Tracking Confidence.

  • Added Convert Bone To Finger, a utility function for finding which finger a bone is a part of.

  • Added Hand Movement Filter, a delegate called each time a hand pose is queried and which can be used to override the hand pose.

  • Added the option Upload Debug Symbols Only to the Oculus Platform Tool.

  • Quest updated to Android 10. Quest2 and Quest now have the same development environment.

Bug Fixes

  • SceneCapture2D now works when Mobile HDR is disabled.

  • Fixed some Vulkan Validation Layer errors related to XR texture layouts.

  • Fixed a Vulkan issue where compositor layer memory was deleted too early.

  • Fixed an issue that turned the screen black when Support Depth-Only Index Buffers was enabled.

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

  • Unreal Engine 4.26 has additional GPU cost due to a change in the way cascaded shadowmaps (CSM) are defined that deactivated our multiview optimizations.

    To work around this, we recommend turning off CSM code entirely for stand-alone VR apps. The code is in LightMapRendering.h:

    OutEnvironment.SetDefine(TEXT("DIRECTIONAL_LIGHT_CSM"),Parameters.MaterialParamet

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.

https://github.com/EpicGames/UnrealEngine

Unreal Engine Binary

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

https://www.unrealengine.com/download

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.

Documentation

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.

New/Updated Features

  • None

API Changes

  • The following Challenge methods were deprecated in favor of server to server calls:

    • ovr_Challenges_Create

    • ovr_Challenges_UpdateInfo

    • ovr_Challenges_Delete

  • See Challenges Server to Server APIs for more information.

  • New destinations field on leaderboards to retrieve associated destinations. See Leaderboards Server to Server APIs for more information.

  • New method ovr_Leaderboard_Get on destinations to retrieve an associated leaderboard. See Destinations for more information.

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 27.0 (API 1.44) from previous versions, see the Mobile SDK Migration Guide.

Announcements

Upgraded Oculus Quest to Android 10. Now Oculus Quest and Oculus Quest 2 have the same development environment

New Features

The following new features can be found in 1.27:

  • This is a maintenance release. There are no developer-facing changes in this release.

API Changes

  • There are no API changes in this release.

Bug Fixes

  • There are no major bug fixes with this release.

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