Version: Unity 6.5 (6000.5)
Language : English
Introduction to foveated rendering
Foveated rendering shader compatibility workflow

Foveated rendering support reference

Support for foveated rendering depends on your Unity version, render pipeline, and graphics API, and on both the XR provider plug-in and the device. This page lists those requirements, the pipeline and resolution combinations Unity supports, and the capability values a device reports at runtime.

For an explanation of variable rate shading (VRS) and variable rate rasterization (VRR), refer to Introduction to foveated rendering.

Project requirements

Your project must meet all the following requirements to use foveated rendering:

Requirement Details
Unity version Unity 2022.3 or later.
Render pipeline Universal Render Pipeline (URP).
XR provider plug-in Configure the foveated rendering settings that your XR provider plug-in exposes, if it has any.
Graphics API On Windows standalone XR, the project must use the DirectX 12 or Vulkan graphics APIs.
GPU On Windows standalone XR, the computer running the application must have a GPU such as NVIDIA GeForce RTX 20 series or later, or AMD Radeon RX 6000 series or later.
Plug-in and device support On standalone XR platforms, both the XR provider plug-in and the device must support foveated rendering. The OpenXR Plug-in, Unity OpenXR: Android XR, and PolySpatial visionOS packages document the foveated rendering settings they provide. For any other plug-in, refer to XR provider plug-ins.

Render pipeline and resolution compatibility

The following conditions determine whether foveated rendering is available outside the standard Universal Render Pipeline (URP) configuration:

Condition Support
The Built-In Render Pipeline Unity doesn’t support foveated rendering in projects that use the Built-In Render Pipeline.
The Built-In Render Pipeline through a provider plug-in Some XR provider plug-ins use a different API and implementation to support foveated rendering in Unity 2022.3 with the Built-In Render Pipeline. These plug-ins include the OpenXR Plug-in and the Oculus XR Plug-in. Unity deprecated the Oculus XR Plug-in in Unity 6.5 and later, so the OpenXR Plug-in is the active path.
Dynamic resolution Fixed foveated rendering is compatible with dynamic resolution that uses XRSettings.renderViewportScale. Refer to Resolution control in XR projects for more information.

Foveated rendering capabilities

A device reports its foveated rendering capabilities through the foveatedRenderingCaps property of SystemInfo. The property returns a FoveatedRenderingCaps value. To read this property in a script, refer to Enable and control foveated rendering.

The property can report the following values:

Value Meaning
None The device doesn’t support foveated rendering. Various factors can cause a lack of support, including software, the device runtime, or drivers, so even if a platform supports foveated rendering, it might not be available on a particular device.
FoveationImage The foveated rendering implementation uses VRS.
NonUniformRaster The foveated rendering implementation uses VRR.

The FoveationImage and NonUniformRaster values describe how a device implements foveated rendering, which is useful if you implement a custom render pipeline.

Additional resources

Introduction to foveated rendering
Foveated rendering shader compatibility workflow