Quick answer: Unity VFX Graph custom buffer binding persisting across prefab instances? Buffer is shared by default - clone the asset or use a per-instance buffer set in script.

Two enemies share the same VFX prefab. Killing one applies its trajectory data to the other's effect.

Use ExposedProperty per instance

vfx.SetGraphicsBuffer(
  "path", perInstanceBuffer);

Set per instance at spawn. The exposed property accepts a different buffer per VFX component.

Or instance the VFX asset

For complex separation, Instantiate the VisualEffectAsset itself. Heavier; gives full isolation.

Audit shared state

VFX Graph parameters default to per-instance; buffers default to shared. Mixed shared/per-instance state is where bugs live.

“Buffers in VFX Graph are bindings, not values. Shared bindings share state.”

Set the convention at the start of a project: every VFX gets per-instance buffers. The discipline saves an entire class of bug later.