Version: 2023.2
Language : English
How BatchRendererGroup works
Creating a renderer with BatchRendererGroup

Getting started with BatchRendererGroup

This page explains what render pipelinesA series of operations that take the contents of a Scene, and displays them on a screen. Unity lets you choose from pre-built render pipelines, or write your own. More info
See in Glossary
and platforms support BatchRendererGroup (BRG) and explains how to set up your project to support BRG.

Requirements and compatibility

Render pipeline compatibility

The following table shows which render pipelines support BRG.

Feature name Built-in Render Pipeline Universal Render Pipeline (URP) High Definition Render Pipeline (HDRP) Custom SRP
BatchRendererGroup No Yes (1) Yes (1) Yes (1)

Notes:

  1. If the project uses the SRP Batcher.

Platform compatibility

Unity supports BRG on:

  • Windows using DirectX 11
  • Windows using DirectX 12
  • Windows using Vulkan
  • Universal Windows Platform
  • Linux using Vulkan
  • macOS using Metal
  • iOS
  • Android using Vulkan
  • PlayStation 4
  • PlayStation 5
  • Xbox One
  • Xbox Series X and Xbox Series S
  • Nintendo Switch

Setting up your project for BatchRendererGroup

Before you use BRG, your project must support it. BRG requires your project to:

  • Use the SRP Batcher. To enable the SRP Batcher, see Using the SRP Batcher.
  • Keep BRG shader variantsA verion of a shader program that Unity generates according to a specific combination of shader keywords and their status. A Shader object can contain multiple shader variants. More info
    See in Glossary
    . To do this, select Edit > Project Settings > Graphics, and set BatchRendererGroup variants to Keep all.
  • If your project uses URP, it’s best practice to disable the Strip Unused Variants Global Setting. This helps to avoid problems with Unity stripping necessary DOTS Instancing variants. For more information, see DOTS Instancing shaders. To find this setting, select Edit > Project Settings > URP Global Settings.
  • Allow unsafe code. To do this, enable the Allow ‘unsafe’ Code Player Setting.

Note: The BatchRendererGroup uses DOTS Instancing shaders, but it doesn’t require any DOTS packages. The name reflects the new data-oriented way to load instance data, and also helps with backward compatibility with existing Hybrid Renderer compatible shadersA program that runs on the GPU. More info
See in Glossary
.

For information on how to use BRG to create a basic renderer, see Creating a renderer with BatchRendererGroup.

How BatchRendererGroup works
Creating a renderer with BatchRendererGroup