I am amazed how this game breaking bug can continue through unity development pipeline for so long and have no place in forms.
Tested in Unity 2023.1.18f1 HDRP
If you instance a mesh via Graphics.DrawMeshInstanced or indirect taking a primitive cube mesh and HDRP lit material with GPU instancing.
The result will look like the instance mesh have displaced from origin every frame with motion blur. If you turn motion blur to 0 from post processing its gone.
This bug breaks countless packages and techniques to render vegetation and large volume of meshes.
Hello,
This is not really a bug, you need to use the new Graphics.RenderMeshInstanced API and provide the previous frame matrix for motion vector calculation.
Thanks for reply, I didn’t knew about this as most of vegetation spawning assets uses Graphics.DrawMeshInstanced and are incompatible with newer versions for the same thing. It would have been better if API functionality was not drastically changed like this. Anyways thanks for clarification
Honestly, I think it’s up to third party developers to update their APIs accordingly, that’s part of the maintaining aspect. If Unity weren’t able to update, they wouldn’t be able to grow progress or consolidate features, that would really sick for everyone.
Usually, especially with major updates, revisiting would be a part of the “updating your asset” process.
Things will of course break at first , as awareness and communication happens from a change, but most developers put their updates through within a few days.
To help other developers, consider education them of the changes if they’re unaware, even link them here for the link.

1 Like