#Particles in DOTS - VFX Graph vs ParticleSystem

1 messages · Page 1 of 1 (latest)

umbral aurora
#

Hey everyone! I'm currently working on a 2.5D twin-stick shooter built with ECS, and I'm trying to decide which VFX/particle solution to use. Here are my estimated VFX requirements:

  • Moving projectile effects, typically in the hundreds — I’d say up to 1,500 in extreme cases
  • A similar number of muzzle flash and bullet hit effects
  • At most a few dozen explosions happening simultaneously in extreme scenarios
  • Tens to low hundreds of blood effects active at once
  • Each blood effect spawns one decal, potentially stacking up to a few thousand decals over time

I've looked into the ECS Galaxy Sample and how it uses the VFX Graph, and I was considering a similar approach. However, since I have zero experience with VFX Graph but solid experience with the classic ParticleSystem, the path of least resistance for me would be to use the built-in ParticleSystem, controlled via managed components.

What would you recommend? Is it still feasible to achieve good performance at this scale using the classic ParticleSystem, or would you invest time into learning VFX Graph?

P.S.: I’ll mostly be using third-party assets for VFX, and there's A LOT more content available for the ParticleSystem than for VFX Graph on the Asset Store - which is also an important factor for me.

uncut flame
#

You can just make up a simple test case where 1000 particle systems moving about randomly within the visible frustum. Use 1 Update to update all of their transform and observe the profiler to get the baseline. With a baseline established then you can afford a good reasoning to choose how to improve any aspect of the real project.

#

The next step you should reduce the time of transform update by utilizing TransformAccessArray. Then observe the profiler to spot the next thing to improve upon.

#

You should be mindful about the number of unique vfx at a time. Choose the amount as close as possible to the real game. Don't make 1000 instances out of a single vfx prefab.

umbral aurora
#

@uncut flame Thanks for your points! Benchmarking like this is definitely an option, but I was hoping for more straightforward advices (like "you need to use VFX graph for this scale" or "standard particles will be just fine") - should I translate your answer as "it's not that easy to decide"?

I would be more than happy if anyone could kindly share their experiences on this matter 🙏

uncut flame