Unreal Engine 4 Integration

| Published 2020-12-04

Unreal Engine 4 Integration - 23.0

These release notes describe changes to the Oculus Source Distribution for Unreal Engine available from the Oculus GitHub repository.

  • All versions of Unreal 4.10 and later include built-in support for Oculus Rift, including automatic stereoscopic rendering and tracking.

  • Oculus Quest support is included in version 4.22 or later.

  • Oculus Quest 2 support is included in version UE 4.25 or later, with version 20.1 of the Oculus integration (Oculus Source Distribution).

  • Oculus Go support is included in Unreal 4.19 and later, up to the v18 release of the Oculus integration. There is no Go support in Oculus distribution v19 and later.

For more information, see the Unreal Engine Developer Guide.

Oculus Source Distribution

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

  • OVRPlugin updated to v23 (1.55.0)

  • Increased performance of Multi-View apps by optimizing shader generation and by making sure only view-dependent variables are generated as arrays by way of a new VIEW_UNIFORM_BUFFER_MEMBER_PER_VIEW macro.

  • Reduced Vulkan latency by optimizing the rendering pipeline to better use fragment density maps to drive foveation.

  • Added Phase Sync adaptive frame timing to Oculus Quest and Quest 2 apps. To enable this in UE4, go to Edit > Project Settings > Plugins > OculusVR, and then select Mobile > Phase Sync.

  • Oculus Quest 2 can now set 80Hz and 90Hz display refresh rates when "quest2" is added as a target device in the Android Manifest.

  • Added DisplayRefreshRateChanged event-based delegates and components so that apps can detect if the system changes the display refresh rate due to throttling.

  • The target device name for Quest 2 in the Android manifest is now written out as "quest2". The older alias "delmar" is deprecated.

  • Rift CV1 is now the default color space if the color gamut setting is unknown or not enabled.

  • Late Latching is now automatically disabled when Occlusion Culling is active.

  • On Quest and Quest2, memory bound to Vulkan MSAA attachments is now lazy-allocated to keep them on-tile and prevent taking up actual memory.

Bug Fixes

  • Fixed SceneCapture2D with Multi-View SceneColor.

  • Fixed non-Multi-View render targets in Multi-View scenes.

  • Fixed hash collisions in the PSO cache.

  • Fixed an issue where audio could playback on the default audio device instead of the selected device.

  • Fixed the editor primitive / gizmo offset issue.

  • Fixed a shader compiler error in the MobileSceneCapture example.

  • Fixed an issue that would scramble Manifest-USFSFiles_Android.txt upon being read.

Known Issues

  • None, at this time.


Additional Distributions

You can also obtain Unreal Engine as a binary from Unreal or from the GitHub repository for Epic Games. Note that 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.