How did Epic convert their FX to CPU for mobile automatically?

A friend of mine gave me a screenshot from udn.unrealengine.com where Epic provides some tips for FX on Mobile and Switch. One section talks about GPU simulations and Epic says that they used largely CPU sims for Fortnite on Mobile, how did they switch their GPU emitters to CPU without a lot of manual work?

I would assume they either were CPU sims already, or were converted manually.
Maybe it is possible to write a script to convert? In theory most modules convert nicely (from GPU → CPU ; the other way round not so much). Did they mention it’s an automatic process?
Otherwise I would assume they did it with manual labour. If planned beforehand it can be accounted for when setting the effects up in the 1st place. Depending on your nedes it might even be impossible to convert 1-1 properly. E.g. if you need some GPU only functionality (Distance Fields ; SceneDepth etc.)

1 Like

I would also say, that it was a manual effort. Even if they had an “script” of some sort for the conversion, most things would need manual handling and tweaking for having the correct look and not have any unwanted bugs.

But I assume that they also only used GPU particles were it makes sense, and have had plenty of CPU systems already.

Yes, it is extra work, but as Tobias stated: if you plan accordingly beforehand you can setup your pipeline for it (eg If you use feature X in a system, you also need to make “low spec” version without that for mobile). This should be paired with a scalability build pipeline for packaging the right things automatically.

And in case of Fortnite: do not forget that Epic has a lot of employees (that also have great knowledge of the engine) :smiley:

1 Like