Textures for Mobile Platforms

Texture creation and properties for mobile games.

Windows
MacOS
Linux

When creating Textures for mobile platforms you will need to make sure that the Textures you create adhere to the following restrictions:

  • Textures can only be a maximum size of 2048 in either dimension as this is the largest size allowed by the PVR compressor.

  • Texture sizes need to be a power of 2 (for example, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, or 2048).

    • You can have non-square Textures like 512 x 64, just as long as the size remains a power of 2.

  • You should use square Textures whenever possible as they make more efficient use of memory.

When importing Textures into Unreal Engine 4 (UE4) the following Texture settings need to be applied to your Textures to ensure they work and perform correctly:

  • It is recommended that you only use TC_Default or TC_NormalMap in the Compression Settings to help ensure that your Textures take up as little memory as possible.

  • The sRGB property should be enabled on all Texture maps except for Normal Maps and Masks.

Texture Usage in Materials

Generally speaking when utilizing Textures inside of your Materials meant for mobile devices, you should try and use a few Texture as possible. This will help reduce the memory footprint of your project and will also help cut down on the amount of Textures fetches that are needed. Generally speaking, most opaque (non-transparent) Materials that have only one layer should only need the Base Color, Roughness, and Normal inputs to come from Textures. All other inputs like Metallic should use Constant's Material Expression nodes. The image below shows how the Textures used in the M_Metal_Steel Material that can be found with the Mobile Starter content have been setup. 

TextureUsageinMaterialsExample_01.png

Most Materials that only have one layer like the Material shown above, should have their Textures setup in the following manner as it only requires two Textures:

  • Texture 1

    • BaseColor in RGB.

    • Roughness in Alpha Channel.

    • Compression set to Default (DXT 1/5, BC1/3 on DX11).

  • Texture 2

    • Normal map in RGB

    • Compression set to Normalmap (DXT5, BC5 on DX11) .

Per-Device Texture LOD

With the release of Unreal Engine 4.8 you can now specify Texture LOD settings on a per-device basis as opposed to per-platform. To set the Texture LOD settings per-device you will need to do the following.

  1. From the main Tool Bar open the Devices Profiles manager by going to Windows > Developer Tools and then clicking on Device Profiles.

    T_Device_Profiles_Manager.png

    T_Device_Profiles_Manager_Mac.png

  2. After clicking on the Device Profiles option the following menu will be displayed.

    T_DPM.png

    T_DPM.png

  3. From this menu select the device you want to edit and then click on the three dots that are to the left of the device name to open that devices profile.

  4. To make a change just click on the property you want to adjust and then input what you want the setting to be.

Tags
Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback