Developer once for all?

Hello,
I come from Unity and think about a switch, so there are some questions for me :slight_smile:

One is: Can I develop a game in Unreal and build it for every destination-device without clone or change anything like in Unity?

What I mean is, I develop a game and deploy it directly to every destination or I have to develop the game first and clone a version for every destination (such as Desktop, iOS, Android, …)?

Even if it was possible it would not be advised.

Ok, thank you :slight_smile: Could you tell me why? This is the way I learned with Unity ^^

I’m curious why you’d say that as well. I can’t think of any logical reason to create completely different versions of a project for each platform. I’ve never had to do that, and I’ve never seen anyone else do it either.

It’s possible, however you’ll need to build the high-end version first e.g. PC/Console.

Then make a clone for a mobile version, as you need to have a different material setup for mobile-optimized and some post processing settings here and there.

For materials you can use the feature level switch node

You can also change up blueprints and post-processing settings based on the detected platform.

IMHO, changing the feature level wouldn’t be sufficient. You still need to use different size of textures, you wouldn’t want to use 4096 or 2048 texture size that is for PC/Console high and beautiful details in mobile - for package size-optimization.

And possibly discarding few normal maps and some expression (e.g. rough/specular/metalic), some small/medium size meshes and actors are best left using Unlit/ Emissive Mats for mobile. Cheaper materials is always good for mobile platforms.

In addition to that, most static meshes need to have lower Lightmap resolution to be set from the static mesh editor, e.g. generic wooden barrel would have 64 res for PC/Console, however, for mobile, 32/16/8 is enough which can help to minimize the Lightmaps count generated in your level, especially in large levels. This also helps in package size-optimization.

For reducing texture size you can use “Texture LOD Settings” in “Device Profiles”. Unreal can discard unused quality levels on target device since UE 4.9 release.

Also, using this console command:

obj list Class=Texture2D

Monitors texture memory used and provides a list of textures that can indicate which ones are too big for certain platforms.

Check that all the features that you want use are available on the various platforms and plan around any deficiencies before you start … for example multiplayer support on mobile doesn’t include any online services like Steam or GameCenter or Google Play so porting a PC multiplayer game to mobile would most likely require a fair bit of coding. Materials are also different, displacing a mesh ( like for water ripples ) is extremely limited , testures need to be square and powers of 2 in size e.g. 256 x 256 , 512 x 512 , 1024 x 1024 etc

rOb