Search Issue Tracker
By Design
By Design in 6000.5.X
Votes
0
Found in
6000.0.67f1
6000.3.7f1
6000.4.0b7
6000.5.0a6
Issue ID
UUM-133709
Regression
No
VFX Graph prefabs are not fully instanced when they are instantiated via a script
Steps to reproduce:
1. Open the attached “VFXBugReport.zip“ project (link in the internal comments)
2. Open the “SampleScene”
3. Select the “Root_Copy_Pasted” GameObject in the Hierarchy and disable it in the Inspector
4. Select the “Root_Instantiated” GameObject in the Hierarchy and enable it in the Inspector
5. Open the Frame Debugger window (Window > Analysis > Frame Debugger)
6. Press the “Enable” button while the VFX Graph is playing in the Game view
7. Observe the number of “RenderLoop.Draw” calls
Actual result: There are 15 draw calls (1 for almost every prefab instance of both VFX Graph assets)
Expected result: There are 2 draw calls (draw calls are instanced to 2 because there are only 2 unique VFX Graph assets used)
Reproducible with: 6000.0.67f1, 6000.3.7f1, 6000.4.0b7, 6000.5.0a6
Reproducible on: Windows 11 Pro (25H2)
Not reproducible on: No other environment tested
Notes:
- To observe the Expected result, disable the “Root_Instantiated” GameObject and enable the “Root_Copy_Pasted” GameObject
- The number of draw calls in the Actual result is different for each project but the same project always produces the same number of draw calls
- The prefabs need to be instantiated from at least 2 different VFX Graph assets for the instancing to break
- Reproducible with URP and HDRP (VFX Graph not supported in Built-in RP)
- Reproducible in a new project
- Reproducible in the Player
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
- Texture2D hash changes inside of an AssetBundle when rebuilding a SpriteAtlas bundle with an empty AssetPostprocessor Script enabled
- Aniso Level still applies when Generate MipMap is disabled in Texture Import Settings
- Mipmap Limit Groups long names are not truncated when creating a new Mipmap Limit Group with a long name
- “ArgumentException: Invalid double parameter.” error is thrown when Infinity is typed into the Fixed Timestep field
- GameObject becomes gray when using HDRP and STP together on macOS
Resolution Note:
Thank you for reporting a bug to Unity.
After reviewing the behavior, we've confirmed it aligns with the current design and intended use of the feature. We understand this may differ from your expectations or workflow. In this particular case, it is expected to see multiple draw calls because the different effects have to be sorted with respect to the camera, therefore the batching has to break to follow the correct order.
We will close this case as 'As Designed.' If you have feedback on how the feature could better meet your needs, please let us know - we value your input and consider it in future improvements.
Resolution Note (6000.5.X):
Thank you for reporting a bug to Unity.
After reviewing the behavior, we've confirmed it aligns with the current design and intended use of the feature. We understand this may differ from your expectations or workflow. In this particular case, it is expected to see multiple draw calls because the different effects have to be sorted with respect to the camera, therefore the batching has to break to follow the correct order.
We will close this case as 'As Designed.' If you have feedback on how the feature could better meet your needs, please let us know - we value your input and consider it in future improvements.