# 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.

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](/engine/6000.6/manual/xr/graphics/foveated-rendering/introduction.md).

## 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](https://docs.unity3d.com/Packages/com.unity.xr.openxr@1.18/manual/features/foveatedrendering.html), [Unity OpenXR: Android XR](https://docs.unity3d.com/Packages/com.unity.xr.androidxr-openxr@1.4/manual/features/foveated-rendering.html), and [PolySpatial visionOS](https://docs.unity3d.com/Packages/com.unity.polyspatial.visionos@latest?subfolder=/manual/VisionOSSettings.html) packages document the foveated rendering settings they provide. For any other plug-in, refer to [XR provider plug-ins](/engine/6000.6/manual/xr/support/support-packages.md#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](https://docs.unity3d.com/Packages/com.unity.xr.openxr@1.18/) and the [Oculus XR Plug-in](https://docs.unity3d.com/Packages/com.unity.xr.oculus@4.5/). 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`](/engine/6000.6/script-reference/unityengine/xr/xrsettings/renderviewportscale.md). Refer to [Resolution control in XR projects](/engine/6000.6/manual/xr/graphics/resolution-scaling.md) for more information.                                                                                                                                   |

## 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](/engine/6000.6/manual/xr/graphics/foveated-rendering/introduction.md). 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 [`foveatedRenderingLevel`](/engine/6000.6/script-reference/unityengine/xr/xrdisplaysubsystem/foveatedrenderinglevel.md) controls, not a provider-specific foveation method. |
| Device and runtime  | The device's OpenXR runtime must support the `XR_FB_foveation`, `XR_FB_foveation_configuration`, `XR_FB_foveation_vulkan`, and `XR_FB_swapchain_update_state` extensions.                                                  |

To enable dynamic foveation, refer to [Foveated rendering in OpenXR](https://docs.unity3d.com/Packages/com.unity.xr.openxr@latest?subfolder=/manual/features/foveatedrendering.html).

## Foveated rendering capabilities

A device reports its foveated rendering capabilities through the [`foveatedRenderingCaps`](/engine/6000.6/script-reference/unityengine/systeminfo/foveatedrenderingcaps.md) property of [`SystemInfo`](/engine/6000.6/script-reference/unityengine/systeminfo.md). The property returns a [`FoveatedRenderingCaps`](/engine/6000.6/script-reference/unityengine/rendering/foveatedrenderingcaps.md) value. To read this property in a script, refer to [Enable and control foveated rendering](/engine/6000.6/manual/xr/graphics/foveated-rendering/enable.md).

The property can report the following values:

| **Value**                                                                                                             | **Meaning**                                                                                                                                                                                                                                          |
| --------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`None`](/engine/6000.6/script-reference/unityengine/rendering/foveatedrenderingcaps/none.md)                         | 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`](/engine/6000.6/script-reference/unityengine/rendering/foveatedrenderingcaps/foveationimage.md)     | The foveated rendering implementation uses VRS.                                                                                                                                                                                                      |
| [`NonUniformRaster`](/engine/6000.6/script-reference/unityengine/rendering/foveatedrenderingcaps/nonuniformraster.md) | 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

* [Universal Render Pipeline compatibility in XR](/engine/6000.6/manual/xr/graphics/render-pipeline-compatibility.md)
* [Optimize for untethered XR devices in URP](/engine/6000.6/manual/xr/graphics/untethered-device-optimization.md)
* [Multiview Render Regions](/engine/6000.6/manual/xr/graphics/multiview-render-regions.md)
