I am just starting in realtime VFX and would like to start my journey with Unity, as it’s an engine I have already messed around with a little bit.
I am however pretty confused by the difference between Shuriken and the VFX Graph.
After reading around for a bit, here is what I understand:
Shuriken is the old VFX system for Unity, VFX Graph is the new one.
Is that the case or is there something I’m missing ?
If it is, can I safely focus my learning on the VFX Graph and disregard things related to Shuriken ?
I still use Shuriken for most of the stuff I do, mostly cuz artistically I don’t benefit from the majority of features from the new VFX graph. Also, iteration speed is faster on shuriken (this might be cuz I’m used to it tho.)
But whenever I need my particles to react to the environment VFX graph is usually better. A great example of this is lightning arcs, you can make functions inside the VFX graph and your arc will be generated between the points automatically. Or maybe, if a particle spawns another gameplay element, VFX graph also helps.
Keep in mind I work mostly on stylized not-so-complex VFX (from a tech standpoint). If you are messing with thousands of particles you’ll probably be better off using VFX graph.
I’d love to hear what others have to say, since I’ve been also considering diving deeper into VFX graph as my main tool, but I’m still not convinced.
VFX graph is a much lower-level node based system for VFX - it is more technical and can require strategies that seem verbose - it is also going to make agility stronger - it AFAIk is not ready for mobile use yet with the URP - it does not handle interactive/forcing particles the same way as a CPU based system (as it is GPU)
It is also compatible with the Universal Render Pipeline, and it will be verified in a later release once it is feature complete. As its simulations run on the GPU, it can scale from dozens to millions of simulated elements with solid real-time performance.
When you need a system that manipulates > thousands particles - VFX graph is what you will likely need/want
shuriken, albeit simpler, is a high-level module that produces results very quickly – it’s capability/agility are dependent on learning the packed nuances of its particular parameters and methods may require creative manipulation for sophisticated results.
Shuriken is best for RTVFX that are seemingly ‘conventional’ visuals < 2000 particles per system (hardware depending) and that need more CPU based dynamic-interactions
Welcome to the board and to the community!
You are right, VFX Graph is the newer particle system system in unity. But this does not mean that Shuriken is deprecated/useless.
If you are just starting out, learn with Shuriken first. It is simple but you will understand most of the basics using it. After you have done some Shuriken work you will have an easier time learning VFX Graph because the approach and possibilities are quite overwhelming.
I know enough people that use both systems in their projects, depending on the usecase.
Have fun creating some nice effects!
These systems can be both used for different things, so do not disregard one system over the other. The main difference is that VFX Graph uses GPU for particle simulation and Shuriken uses CPU.
VFX Graph uses GPU particle simulation and it can simulate more particles with lower resource cost. It is perfect for more complex simulations but also for simple ones too! Keep in mind that GPU particle simulation requires devices that support compute shaders, so not all smartphones support it yet. VFX graph is perfect for effects that are mostly visual and do not require interactivity with the physics system (think of environmental effects like smoke, fire, water simulations, etc.).
Since Shuriken uses CPU particle simulation it has access to the main physics system so you can give the particles more interesting traits and receive information about them, since they are viewed as floating objects. For example, once a particle hits an object it will bounce back with a bigger speed (you can also do this in VFX Graph but only with a limited particle count). Also, you can access each individual particle through code and find out its position, color, and other particle traits. Shuriken is perfect for gameplay effects, such as combat spells, flying debris (something that would require information from the physics system).
I would recommend starting with Shuriken and once you are ready, learn VFX Graph. Both systems are viable and both systems are used when creating effects, it just depends on the usecase.
Thank you all so much for your answers, all very insightful!
I look forward to the journey and to create cool stuff!
This post was flagged by the community and is temporarily hidden.