Search Issue Tracker
Feature Request
Votes
62
Found in
2021.3.47f1
2022.3.55f1
6000.0.32f1
6000.1.0a9
6000.2.0a1
6000.3.0a1
Issue ID
UUM-91617
Regression
No
Graphics.RenderMeshIndirect does not issue multi-draw rendering commands when using a graphics API capable of multi-draw commands
How to reproduce:
1. Open the attached "IN-87308" project
2. Open the "SampleScene" and enter Play mode
3. Navigate to “Window > Analysis > Frame Debugger” and open the Frame Debugger window
4. Enable the Frame Debugger from the window
5. Navigate to “Camera.Render > Drawing > Render.OpaqueGeometry > RenderForwardOpaque.Render > RenderForward.RenderLoopJob” and expand it to reveal the “Draw Mesh” calls
6. Observe the amount of “Draw Mesh” calls inside the Frame Debugger
Expected result: Frame Debugger outputs one “Draw Mesh” call that combines all four of the vkCmdDrawIndexedIndirect calls
Actual result: Frame Debugger outputs four “Draw Mesh” calls
Reproducible in: 2021.3.47f1, 2022.3.55f1, 6000.0.32f1, 6000.1.0a9
Reproducible on: Windows 11
Not reproducible on: No other environments tested
Notes:
* Also reproducible in Player (while using a graphics debugger)
* Reproducible using both Vulkan and DirectX12
Comments (14)
-
FromNorthProjekt
May 07, 2025 15:27
Please fix this or at least say is it intentional or a bug, we have a rendering system that entirely built around the idea of multi indirect drawing, we need this to get fixed!
-
OldanyGames
May 07, 2025 15:16
Why this is not fixed yet ????????????????????? it is a must feature
-
MrDaveSh
Jan 30, 2025 15:14
i agree with previous comment, i did work for ages to implement RenderMeshIndirect, just to realize that it was not working as documented. This is really a huge missing features of the engines.
-
Manuel_H
Jan 28, 2025 11:05
This is not a satisfying resolution. MDI is a critical feature and there is no alternative for it. Can you please at least clarify if this is indeed a BUG or a missing feature? Because according to the docs of every unity release with the RenderMeshIndirect-API (https://docs.unity3d.com/6000.1/Documentation/ScriptReference/Graphics.RenderMeshIndirect.html) it should be implemented and working!
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Tile Palette grid is moved after entering Play Mode
- Tile Palette Edit mode turns off in Play Mode
- The Editor crashes when Generating Font Atlas in the Font Asset Creator with “9999999999” padding and 256x256 Atlas Resolution
- [iOS] An “ArgumentNullException” error is thrown when GetIntroductoryPriceDictionary() method is called
- Font Import Settings documentation page is missing when the documentation button is pressed in the Inspector window
Resolution Note:
Multi Draw Indirect (MDI) is currently not supported. We fixed the documentation error to reflect this. The current recommendation is to simply submit multiple indirect draw commands instead.
We are evaluating the feature request for MDI support. It is important to note that unless trying to batch a large number of draws, we would not expect any tangible performance gain with MDI.
When rendering many instances, the currently recommended approach is using the Batch Renderder Group API instead: https://docs.unity3d.com/6000.1/Documentation/ScriptReference/Rendering.BatchRendererGroup.