Quick answer: Unreal Niagara mesh particles z-fighting when overlapping? No sub-pixel offset by default - add a small per-particle Z offset or use sort priority.

Trail with 20 overlapping mesh particles. Where they overlap, the surface flickers.

Per-particle Z offset

Initialize Particle > Set Variable: Position.Z += random(-0.01, 0.01). Sub-pixel offset breaks the z-fight.

Or sort by age

Newer particles always behind/in-front by age. Deterministic ordering.

Use depth fade in shader

Per-pixel fade based on depth difference. Smooths the overlap visually.

“Z-fighting is a depth precision problem. Solutions are pixel-level.”

If your VFX overlap, plan for z-fight. The fix is small; the visual problem is large.

Related reading