To build a project with VFX to android device.
We can not assume that the device support compute capability for VFX.
Work on some mobile devices but not on the others is the same as No Way for production.
So I’m wondering when can we use VFX for mobile games?
Yes, allowing per-particle simulation on the CPU without the use of compute shaders.
Yes.
These are two orthogonal tasks. CPU Simulation is about per-particle simulation with DOTS. DOTS runtime is about converting the Visual Effect component at runtime to DOTS entity/component.
Not 100% sure at this stage, to be honest. Not all blocks would probably be compatible with both GPU and CPU simulation, but assuming a VFX is using compatible blocks, it could be possible. Alternatively, two distinct assets can be prepared for CPU and GPU simulation and with a SystemInfo.supportsComputeShaders check they could be swapped at runtime. It’s a bit early to tell.
These features are planned, but not next up to be developed. Things might change, but I don’t think they will be landing soon. In the meantime, the built-in Particle System supports all types of devices and should be the go-to solution for particle effects on mobile.
I think that adding support to execute ECS on GPU will be all-in-one solution.
With this solution, VFX Graph will be implemented in ECS.
Then, ECS has CPU runtime and GPU runtime.