Version: 2023.2
LanguageEnglish
  • C#

ShaderRequirements

enumeration

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Description

Shader features required by a specific shader. Features are bit flags.

Properties

NoneNo shader requirements.
BaseShadersIndicates that basic shader capability i.e. Shader Model level 2.0 is required.
Interpolators10Indicates that support for at least 10 interpolators is required.
Interpolators32Indicates that support for at least 32 interpolators is required.
MRT4Indicates that support for multiple render targets (at least 4) is required i.e. support for fragment shaders that can output at least 4 values.
MRT8Indicates that support for multiple render targets (at least 8) is required i.e. support for fragment shaders that can output at least 8 values.
DerivativesIndicates that support for derivative (ddx/ddy) instructions from the fragment shader stage is required.
SampleLODIndicates that support for texture sampling from the fragment shader stage with an explicit mipmap level is required.
FragCoordIndicates that support for pixel position (SV_Position) input to the fragment shader stage is required.
FragClipDepthIndicates that support for pixel depth (SV_Position.zw) input to the fragment shader stage is required.
Interpolators15IntegersIndicates that support for at least 15 integers and interpolators in total are required. Unity bundles them together because it is extremely unlikely a GPU/API will ever exist that only has part of that.
Texture2DArrayIndicates that support for 2D array textures (Texture2DArray) is required.
InstancingIndicates that support for the SV_InstanceID input semantic is required.
GeometryIndicates that geometry shader stage support is required.
CubeArrayIndicates that cubemap array (TextureCubeArray) support is required.
Compute Indicates that compute shader support is required.
RandomWriteIndicates that support for random-write textures (UAVs) is required.
TessellationComputeIndicates that support for tessellation using a compute shader for control point processing is required. The Metal graphics API requires this feature for tessellation.
TessellationShadersIndicates that support for tessellation using hull and domain shader stages is required.
SparseTexelResidentIndicates that support of sparse textures with sampling instructions that return residency information is requred.
FramebufferFetchIndicates that framebuffer fetch support is required. This is the ability to have fragment shader color arguments with in/out modifiers.
MSAATextureSamplesIndicates that support for MSAA textures (e.g. Texture2DMS) is required.
SetRTArrayIndexFromAnyShaderIndicates that support for setting the render target array index (SV_RenderTargetArrayIndex) from all shader stages (not just from the geometry shader stage) is required.