VFX on mobile.

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?

I found 2 things in roadmap. cpu simulation and dots runtime.

Here’s some question:

  • Does CPU simulation mean all simulation is not going to happen via compute-shader and the vfx is safe to run on any mobile device?
  • Is CPU simulation going to be implemented via DOTS?
  • CPU simulation somehow quite relevant to DOTS runtime, are they going to be implemented together?
  • Will, there be a runtime auto-switch choosing CPU(DOTS) simulation over compute-shader when the target device does not support compute?

And is there a plan about when will these features be released?

Hi @Lieene-Guo ,

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.

Hope this help!

Does it also mean we will be able to sort transparent particles (per single particle sorting) with other transparent objects on scene ?

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.