Version: Unity 7.0 Alpha (7000.0)
Language : English
GPU Resident Drawer performance considerations
BatchRendererGroup API in URP

GPU Resident Drawer exclusion reasons reference

The GPU Resident Drawer draws only the renderers that are compatible with it. When a renderer isn’t compatible, Unity excludes it and draws it with the Scriptable Render Pipeline (SRP) Batcher or the standard rendering path instead. Excluded renderers can increase the number of draw calls Unity issues, which reduces the performance benefit of the GPU Resident Drawer.

Unity records a reason for each renderer it excludes, and displays the reasons in the Unity Editor.

Note: Unity records only the first reason that applies to each renderer. After you resolve a reason, check the renderer again, because Unity might report a different reason.

To find the excluded renderers in your project and check how many renderers each reason affects, refer to Analyze the GPU Resident Drawer in URP.

Unsupported renderer configurations

The following reasons mean the renderer uses a feature or setting that the GPU Resident Drawer doesn’t support. Unity reports these reasons when you expand the GRD coverage row in the Rendering Profiler module, and in the GRD Exclusion Cause property of the Event Information panel in the Frame Debugger window.

Reason Cause Resolution
LODGroup Animate Cross-fading enabled The renderer belongs to an LOD GroupA component to manage level of detail (LOD) for GameObjects. More info
See in Glossary
that has Animate Cross-fading enabled.
Disable Animate Cross-fading on the LOD Group. Refer to LOD transitions.
Unsupported MaterialPropertyBlock properties The renderer uses MaterialPropertyBlock properties that the GPU Resident Drawer doesn’t support. Remove the per-renderer property overrides, or use a material and instancing setup that the GPU Resident Drawer supports.
Renderer uses custom render callback A MonoBehaviour on the renderer implements OnWillRenderObject, OnBecameVisible, or OnBecameInvisible. Remove these callbacks from the MonoBehaviour.
Unsupported renderer sorting configuration The renderer uses a non-default sortingLayerID or sortingOrder. Reset Sorting Layer and Order in Layer to their default values.
Light Probe Usage set to Use Proxy Volume The Mesh Renderer component has Light Probes set to Use Proxy Volume. Set Light Probes to Blend Probes or Off.
Blend Probes mode with custom Probe Anchor Override The Mesh Renderer component has Light Probes set to Blend Probes and a custom Anchor Override. Clear the Anchor Override property.
Renderer uses Enlighten realtime GI vertex streams Realtime Global Illumination with Enlighten supplies vertex streams to the renderer. Disable Realtime Global Illumination in the Lighting Settings Asset. To keep indirect lighting, use baked global illumination instead.
Shader does not support DOTS_INSTANCING_ON The renderer’s shader has no DOTS_INSTANCING_ON variant, which the GPU Resident Drawer requires. Use a shader that supports DOTS instancing, such as URP Lit or HDRP Lit. Refer to Supporting DOTS Instancing.
Mesh has too many submeshes The renderer has more than 128 material slots, which exceeds the per-renderer limit. Reduce the number of material slots, or merge meshes to fit within the limit.
GPU Resident Drawer disabled for this renderer/project The GameObject or one of its parents has a Disallow GPU Driven Rendering component. Remove the Disallow GPU Driven Rendering component. Refer to Make a GameObject compatible with the GPU Resident Drawer in URP.
Renderer visibility controlled by animation The animation system controls whether the renderer is enabled. Remove the animated visibility track, or stop animating the enabled state of the renderer.
TextMesh renderer is not supported The GameObject uses a Text Mesh component, which the GPU Resident Drawer doesn’t support. Replace the Text Mesh component with TextMeshPro.

Renderer issues

The following reasons mean the renderer has a problem with its asset setup, so no rendering path draws it. Unity reports these reasons in the renderer issues badge of the Rendering Profiler module, and excludes them from the coverage percentage.

Reason Cause Resolution
Null Material A material slot has no material assigned, or the assigned material has no shader. Assign a material that’s compatible with the GPU Resident Drawer.
Missing Mesh The renderer has no mesh assigned. Assign a mesh to the renderer.

Inactive and disabled renderers

Unity reports the inactive badge when a GameObject is inactive, a Renderer component is disabled, or a script forces rendering off.

This badge explains why the number of renderers in your scene is higher than the number the coverage percentage accounts for.

Additional resources

GPU Resident Drawer performance considerations
BatchRendererGroup API in URP