Version: Unity 6.1 Alpha (6000.1)
Language : English
Foveated rendering
VR frame timing

Multiview Render Regions

Understand the Multiview Render Regions feature for XRAn umbrella term encompassing Virtual Reality (VR), Augmented Reality (AR) and Mixed Reality (MR) applications. Devices supporting these forms of interactive applications can be referred to as XR devices. More info
See in Glossary
devices.

The Multiview Render Regions feature is an optimization technique to prevent processing on areas of the screen not visible by the user (the nasal region of a VR headset).

About Multiview Render Regions

Multiview Render Regions is a Vulkan-specific feature that sets multiple scissors, viewportsThe user’s visible area of an app on their screen.
See in Glossary
, and render areas on the headset to reduce rendering load. On VRVirtual Reality More info
See in Glossary
devices, Multiview Render Regions sets specific values per eye so that areas outside of the user’s view aren’t processed. On Head-Mounted Devices (HMD), this is the nasal region of the headset.

With Multiview Render Regions enabled (right), the nasal region hidden from the user’s view isn’t rendered to reduce unnecessary processing. Theres no visible difference in the headset (bottom).
With Multiview Render Regions enabled (right), the nasal region hidden from the user’s view isn’t rendered to reduce unnecessary processing. There’s no visible difference in the headset (bottom).

Multiview Render Regions incorporates two Vulkan extensions (Multiview per view viewports, and Multiview per view render areas (Khronos documentation)). When you enable the Multiview Render Regions feature, you opt into using these extensions for render passes that output to the eye textures. Multiview Render Regions improves performance on applications that don’t use intermediate textures.

Prerequisites

To use Multiview Render Regions, your project must meet the following requirements:

  • Unity 6.1 or newer.
  • Use the Vulkan API. (Refer to Configure graphics APIs to understand how to set your graphics API to Vulkan.)

Supported plug-ins

Multiview Render Regions is supported in the following plug-insA set of code created outside of Unity that creates functionality in Unity. There are two kinds of plug-ins you can use in Unity: Managed plug-ins (managed .NET assemblies created with tools like Visual Studio) and Native plug-ins (platform-specific native code libraries). More info
See in Glossary
:

Project settings

Configure the following settings in the XR Plug-in Management section of your Project Settings (menu: Edit > Project Settings > XR Plug-in Management):

  • Stereo Rendering Mode set to Multiview.
  • Enable Symmetric Projection (Vulkan).

Post-processing and intermediate textures

The Multiview Render Regions technique is only applied to render passes that output to eye textures. As such, performance gains aren’t expected when using intermediate textures or post-processingA process that improves product visuals by applying filters and effects before the image appears on screen. You can use post-processing effects to simulate physical camera and film properties, for example Bloom and Depth of Field. More info post processing, postprocessing, postprocess
See in Glossary
with this feature enabled. If you use intermediate textures or post-processing in your project, you should profile your project to verify whether Multiview Render Regions will lead to performance gains before you enable it.

Enable Multiview Render Regions

To enable Multiview Render Regions:

  1. Go to the XR Plug-in Management section of your Project Settings (menu: Edit > Project Settings).
  2. Enable Optimize Multiview Render Regions for your chosen plug-in if it supports Multiview Render Regions.

Additional resources

Foveated rendering
VR frame timing