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:
- 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 (Vulkan and OpenGL ES 3.x)
- PlayStation 4
- PlayStation 5
- Xbox One
- Xbox Series X and Xbox Series S
- Nintendo Switch
- Google Stadia
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