Foveated rendering support reference
Find the Unity versions, render pipeline, graphics APIs, and hardware that support foveated rendering, and the capabilities a device can report.
Read time 3 minutesLast updated 20 days ago
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, the additional conditions that dynamic foveation requires, 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 |
Dynamic foveation support
Dynamic foveation has narrower support than foveated rendering. For an explanation of what it does to the foveated rendering level, refer to Introduction to foveated rendering. Your project must meet all the following conditions to use dynamic foveation:
Condition | Details |
|---|---|
| XR provider plug-in | The OpenXR Plug-in, version 1.19 or later. |
| Graphics API | Vulkan. |
| Foveation method | The plug-in must use the foveation method that |
| Device and runtime | The device's OpenXR runtime must support the |
To enable dynamic foveation, refer to Foveated rendering in OpenXR.
Foveated rendering capabilities
A device reports its foveated rendering capabilities through the property of . The property returns a value. To read this property in a script, refer to Enable and control foveated rendering.
foveatedRenderingCapsSystemInfoFoveatedRenderingCapsThe property can report the following values:
Value | Meaning |
|---|---|
| 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. |
| The foveated rendering implementation uses VRS. |
| The foveated rendering implementation uses VRR. |
The and values describe how a device implements foveated rendering, which is useful if you implement a custom render pipeline.
FoveationImageNonUniformRaster