How do I check if VFX is playing?

Hey guys, I was trying to figure out how to check if vfx is playing other than the APIs mentioned here.

which I couldn’t figure out how to yet.

Anyone know how?

Much appreciated.

I kind of feel that vfx.IsPlaying() bool API should be present by default…

5 Likes

+1

check vfx.HasAnySystemAwake I think it should works fine

Beware of using VisualEffect.HasAnySystemAwake() when the VFX Graph has a spawn delay for all their particle spawn systems. Then the method returns false. And continiously calling Play() restarts the effect so this state is maintained.

I solved this with integrating a minimalistic fake system in the VFX Graph with spawning only one particle to enable returning true by HasAnySystemAwake until other particles are spawned:
One-Particle Spawn System 9403661--1316408--upload_2023-10-11_20-18-51.png