Copyright © 2026 Unity Technologies
this is a generated content issue, depth priming is working "by design". How depth priming works: it does a depth prepass and the opaque objects will just change the depth comparison op to Equal to reduce opaque overdraw. Because of this, the depth ranges will be quantized based on the resolution of the depth buffer. In RenderDoc I can see 3 DrawIndexedInstanced calls, drawed at depth values increments which are lower than the depth buffer resolution, so you can see z-fighting artifacts when the depth comparison (against the prepass depth) happens. You should make sure to generate entities at different depth values to avoid z fighting, or can disable depth priming but suffer potential z-fighting when moving the camera on top of overdraw
Reproduction steps:
1. Open the attached project “ecs-draw-test“
2. Open the “SampleScene” Scene
3. Set the Depth Priming Mode to Auto in URP-High-Fidelity-Renderer
4. Enter Play Mode and observe the Game View
5. Exit Play Mode
6. Set the Depth Priming Mode to Disabled in URP-High-Fidelity-Renderer
7. Enter Play Mode and observe the Game View
Expected result: generated Entities look the same both times
Actual result: generated Entities look different when Depth Priming Mode is changed
Reproducible with: 14.0.6 (2022.2.11f1), 15.0.4 (2023.1.0b8), 16.0.0 (2023.2.0a6)
Could not test with: 10.10.1 (2020.3.46f1) (Depth Priming Mode not implemented), 12.1.10 (2021.3.21f1), 14.0.3 (2022.2.0b16) (Invalid dependencies)
Reproduced on: macOS 13.2.1 (Intel), Windows 10 (user reported)
Notes:
-Tested in Build
-Adding screenshots for each result: sample01 (Depth Priming Mode disabled), sample02 (Depth Priming Mode is Auto), sample03 (Depth Priming Mode is Auto and ScreenSpaceAmbientOcclusion is enabled)
Issues you vote on will appear here