Unity Integration

| Published 2020-08-04

Oculus Integration for Unity - 19.0

Unity provides built-in VR support for Oculus devices. The Oculus Integration package adds scripts, prefabs, samples, and other resources to supplement Unity’s built-in support. The package includes an interface for controlling VR camera behavior, a first-person control prefab, a unified input API for controllers, rendering features, debugging tools, and more.

For more information about setting the development environment, go to Get Started with Oculus in Unity.

Download Oculus Integration Package

The Oculus Integration package, OculusIntegration.unitypackage, is available for download from the Unity Asset Store and on the Unity Integration Archive page.

Before you import the package in unity, check the hardware, software, and Unity version requirements. The minimum supported Unity Editor version for Oculus development is 2018.4.

What's New

Improvements

  • Updated the callback priority of PostGenerateGradleProject to improve the Android manifest generation.

  • Removed the Queue Ahead project setting from OVRManager.

  • OVRHeadsetEmulator will only set or restore the cursor lock mode when the emulator is activated or deactivated, instead of overriding the cursor lock mode every frame.

Bug Fixes

  • Enforced minimum version of Oculus XR plugin 1.4.0 due to incompatibility with previous versions.

  • Fixed errrors in Unity 2020.2 because of usage of UnityEngine.Experimental.XR.Boundary in XR SDK.

  • Fixed XRSDK warnings when using Unity 2020.1.x.

  • Fixed siginifcant performance regression in the Unity editor when using Oculus Rift S.

  • Fixed the OVRPlugin.IsPerfMetricsSupported() method to return the correct value in development builds.

Note: You may encounter issues when running ARM7 build on Oculus Go or Oculus Quest, if you are using Unity's XR Management system with the latest OVRPlugin and the Oculus XR Plugin is outdated. In such case, you can either switch to ARM64 build, or upgrade the Oculus XR Plugin to 1.4.0+ to fix the issue.

Integration Changes

  • Ended support for Unity version 2017.4. The minimum supported Unity Editor version for Oculus development is 2018.4.

  • Updated the Oculus Unity Integration to v18.0, including:

    • Updated OVRPlugin to 1.51

    • Updated the Audio Spatializer to 19.0

    • Updated the Platform integration to 19.0

    • Updated the Avatar integration to 19.0

    • Updated the LipSync integration to 1.43

License Update

Version-Specific Known Issues

This section details known issues with supported versions of Unity.

Unity Version

Known Issues

2018.2

All Unity 2018.2 versions

  • (Mobile) You'll need to either switch the AndroidBuildSystem to internal or export a Gradle project and modify the SigningConfig in the build.gradle file to include v1SigningEnabled=true, v2SigningEnabled=false.

2018.2.20f1

  • (Mobile) Some game objects may appear darker when loaded in 2018.2.20f1. To work around this issue, load the project in another version of Unity, like 2018.2.19.


General Unity 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.

Subject

Known Issues

Unity

  • Vulkan Quest apps might crash when you select Use Recommended MSAA Level in OVRManager and request audio permissions after the splash screen runs. To overcome this issue, 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

  • If you experience long UI stalls or poor performance with the Unity Editor when targeting Rift on Windows 10, please run Windows Update to ensure that you have the latest version of Windows 10.
  • All Unity versions with Oculus runtime 1.17+ and Windows 10 + Creators Update: This combination results in spurious WM_DEVICECHANGE reports in the Editor, even in non-VR projects. Many users will notice no impact, but users connected to certain USB devices may find the Editor becomes non-responsive and needs to be terminated from Task Manager. To mitigate, please update to the Beta runtime available on our Public Test channel. We are currently working with Unity and Microsoft on a permanent solution.

Rift

  • Guardian System API: ovr_SetBoundaryLookAndFeel currently does not take effect if the HMD is not worn when the call is made (e.g., on Start).
  • Transparent VR Compositor Layers do not currently support multiple layers of occlusion.

Mobile

  • When Single Pass Stereo rendering is enabled, building projects will fail with the error message “Shader error in 'Mobile/Bumped Detail Diffuse'” in certain cases. For more information, see “Known Issues” in the Single Pass Stereo Rendering section of Advanced Rendering Features.


Legacy Unity Release Archive

Legacy versions of the Unity Integration can be found in the Unity Integration Archive.