Version: Unity 6.4 Alpha (6000.4)
Language : English
GPU Resident Drawer
Make a GameObject compatible with the GPU Resident Drawer in URP

Enable the GPU Resident Drawer in URP

The GPU Resident Drawer automatically uses the BatchRendererGroup API to draw GameObjectsThe fundamental object in Unity scenes, which can represent characters, props, scenery, cameras, waypoints, and more. A GameObject’s functionality is defined by the Components attached to it. More info
See in Glossary
with GPU instancing, which reduces the number of draw calls and frees CPU processing time. For more information, refer to How BatchRendererGroup works.

The GPU Resident Drawer works only with the following:

Otherwise, Unity falls back to drawing the GameObject without GPU Resident Drawer.

If you enable the GPU Resident Drawer, the following applies:

  • Build times are longer because Unity compiles all the BatchRendererGroup shader variants into your build.
  • The Probe Atlas Blending is used by default when both the Forward+ or Deferred+ rendering paths and the GPU Resident Drawer are used.

Enable the GPU Resident Drawer

Follow these steps:

  1. Go to Project Settings > Graphics, then in the Shader Stripping section set BatchRendererGroup Variants to Keep All.
  2. Go to the active URP Asset and enable SRP Batcher.
  3. Set GPU Resident Drawer to Instanced Drawing.
  4. Double-click the renderer in the Renderer List to open the Universal Renderer, then set Rendering Path to Forward+.

If you change or create GameObjects each frame, the GPU Resident Drawer updates with the changes.

To include or exclude GameObjects from the GPU Resident Drawer, refer to Make a GameObject compatible with the GPU Resident Drawer.

Unsupported features with GPU Resident Drawer

The following features are not supported when using GPU Resident Drawer:

  • LODThe Level Of Detail (LOD) technique is an optimization that reduces the number of triangles that Unity has to render for a GameObject when its distance from the Camera increases. More info
    See in Glossary
    Group animated cross-fading: Animated cross-fading transitions are not supported. LOD transitions fall back to static, distance-based cross-fading.
  • Light shadow matrix override: Using Light.shadowMatrixOverride in scriptsA piece of code that allows you to create your own Components, trigger game events, modify Component properties over time and respond to user input in any way you like. More info
    See in Glossary
    doesn’t affect shadow caster culling.

Additional resources

GPU Resident Drawer
Make a GameObject compatible with the GPU Resident Drawer in URP