Quick answer: Unity VFX Graph component continues to emit when Time.timeScale = 0? VFX system uses its own time source - explicitly set vfx.playRate = 0 or disable on pause.

Pause menu uses timeScale = 0; gameplay freezes; VFX particles keep emitting.

Set playRate to 0

vfx.playRate = 0;

VFX advances at zero rate; effectively paused.

Or use VFX Manager

Centralized: on pause, iterate VFX components; set playRate. Cleanup on resume.

Hook OnGamePaused

Custom pause event; all subsystems including VFX listen.

“VFX timing is independent of game timeScale. Pause needs explicit propagation.”

If your game has pause UX, the VFX-pause sync is mandatory. Document in your pause architecture.

Related reading