Page Info
Skill Level:
Engine Version:

Post Process Effects on Mobile Platforms

Mobile Post Processing is implemented as a separate code path from PC/Console Post Processing. This is to reflect the slower dependent texture reads, missing hardware features, extra render target resolve costs, and slower performance in general. To enable Post Processing for your mobile applications, please make sure that Mobile HDR is enabled in your Project Settings as most of the settings below require Mobile HDR to be enabled for the effect(s) to work.

Click for full image.

Enabling Tonemapper for Mobile Devices

To use the Tonemapper Post Processing options on Mobile Devices, you will need to set the value of r.tonemapperfilm from its default of 0 to 1. You can change, enable, or disable the Tonemapper inside of the Unreal Engine 4 (UE4) Editor in the following ways:

Tonemapper On

Tonemapper Off

Enabling Tonemapper Film via the Console

You can enable the Tonemapper in the UE4 Editor by first opening up the console by pressing the Backtick key(`) and then entering the following command to enable the Tonemapper.

  • r.tonemapperfilm 1

To disable the Tonemapper, open up the console and enter the following command to disable the Tonemapper.

  • r.tonemapperfilm 0.

This method will enable the Tonemapper only for this session. If you want the Tonemapper to always be on you will need to add the Tonemapper settings you want to use to the DefaultEngine.INI.

Click for full image.

Enabling Tonemapper Film via .INI Files

To enable or disable the Tonemapper project wide you will need to add r.tonemapperfilm=1 to the Rendering Settings in your project's DefaultEngine.ini.

Click for full image.

Click for full image.

Enabling Tonemapper Film on a Mobile Device

To enable or disable the Tonemapper on a Mobile Device you will need to tap the screen with four fingers at the same time to bring up the Console Window and then input r.tonemapperfilm 1 to enable the Tonemapper or r.tonemapperfilm 0 to disable the Tonemapper.

Click for full image.

Supported Post Process Effects and Settings on Mobile

In the following section we will go over what Post Process Effects and settings are supported on Mobile devices, as well as whether they require the tonemapper to be enabled.

Click for full image.

White Balance

Post Process Property Supported R.tonemapperfilm Value
Temp Yes 1
Tint Yes 1

Color Grading

Post Process Property Supported R.tonemapperfilm Value
Saturation Yes 1
Contrast Yes 1
Gamma Yes 1
Gain Yes 1
Offset Yes 1


Post Process Property Supported R.tonemapperfilm Value
Tint Yes 0
Tint Shadow Yes 0
Tint Shadow Blend Yes 0
Tint Shadow Amount Yes 0
Saturation Yes 0
Channel Mixer Red Yes 0
Channel Mixer Green Yes 0
Channel Mixer Blue Yes 0
Contrast Yes 0
Crush Shadows Yes 0
Crush Highlights Yes 0
Dynamic Range Yes 0
Slope Yes 1
Toe Yes 1
Shoulder Yes 1
Black Clip Yes 1
White Clip Yes 1

Scene Color

Post Process Property Supported R.tonemapperfilm Value
Scene Color Tint Yes 1
Fringe Intensity Yes 0 & 1
Vignette Intensity Yes 0 & 1
Grain Jitter Yes 0 & 1
Grain Intensity Yes 0 & 1
Color Grading Intensity Yes 1
Color Grading Yes 1


Post Process Property Supported R.tonemapperfilm Value
Intensity Yes 0 & 1
Threshold Yes 0 & 1
Size Scale Yes 0 & 1
#1 Size No n/a
#2 Size No n/a
#3 Size No n/a
#4 Size No n/a
#5 Size No n/a
#1 Tint No n/a
#2 Tint No n/a
#3 Tint No n/a
#4 Tint No n/a
#5 Tint No n/a
#6 Tint No n/a
Dirt Mask Intensity Yes 1
Dirt Mask Tint Yes 1
Dirt Mask Yes 1

Auto Exposure

Post Process Property Supported R.tonemapperfilm Value
Auto Exposure Histogram Yes 0 & 1
Auto Exposure Basic Yes 0 & 1
Low Percent No n/a
High Percent No n/a
Min Brightness No n/a
Max Brightness No n/a
Speed Up No n/a
Speed Down No n/a
Exposure Bias Yes 0 & 1
Histogram Log Min No n/a
Histogram Log Max No n/a

Depth Of Field

Post Process Property Supported R.tonemapperfilm Value
BokehDOF Yes 0
GaussianDOF Yes 0
CircleDOF No n/a
High Quality Gaussian DoF on Mobile Yes 1
Aperture F - Stop No n/a
Focal Distance Yes 0
Depth Blur km for 50% No n/a
Depth Blur Radius No n/a
Focal Region No n/a
Near Transition Region Yes 0
Far Transition Region Yes 0
Scale Yes 0
Max Bokeh Size No n/a
Near Blur Size No n/a
Far Blur Size No n/a
Shape No n/a
Occlusion No n/a
Color Threshold No n/a
Sky Distance No n/a
Vignette Size No n/a


Post Process Property Supported R.tonemapperfilm Value
Screen Percentage No n/a
AA Methods Yes 0 & 1

The AA Method supports "None" (the fastest) and "TemporalAA" which provides a special mobile temporal AA which provides something around 2xSGSSAA with a little bit of judder in motion

Custom Post Process Materials

Unreal Engine ships with a variety of Post Process effects, allowing you to customize the look and feel of your mobile applications. There are times, though, when you'll want to create custom Post Process Materials, enabling your own effects (such as "VCR Static").

image alt text

Adding effects to your mobile application requires the development of custom Post Process materials. When creating custom Post Process materials for mobile applications, you should note that there are some key things to consider. Specifically, it's important to note that custom Post Process materials for mobile applications can only fetch from PostProcessInput0 (Scene Color) with the following Blendable Locations:

  • Before Tonemapping

  • After Tonemapping

To learn more about Blendable Locations, read through our Post Process Materials reference page. Currently, you cannot create custom Post Process materials for older Android devices that require 'mosaic' mode for HDR rendering. Finally, pixel depth information is not yet supported.

Custom Depth

You can now use the Custom Depth Post Process option with the Mobile rendering path. Custom Post-Process Materials can now sample from Scene Depth, Custom Depth as well as Scene Color.


As this features requires Post-Processing to work correctly, Mobile HDR must be enabled. To enable Mobile HDR go to Project Settings > Engine > Rendering > Mobile and make sure that Mobile HDR is checked.

Click for full image.

Please note that this feature also does not currently work while Mobile MSAA is enabled so Mobile MSAA will have to be disabled for you to see the effect on the device.

General Post Process Performance Tips

  • For best performance and quality, you should stick to using just Bloom and TemporalAA.

For better performance, we have implemented a special workaround which is controlled by the console variable "r.RenderTargetSwitchWorkaround". In BaseDeviceProfiles.ini, you can see it is enabled for several devices. Note that there will be a small change in appearance to the bloom effect on devices with certain performance characteristics. The console variables help text describes this in more detail:


Workaround needed on some mobile platforms to avoid a performance drop related to switching render targets.
Only enabled on some hardware. This affects the bloom quality a bit. It runs slower than the normal code path but
still faster as it avoids the many render target switches. (Default: 0)
We want this enabled (1) on all 32-bit iOS devices (implemented through DeviceProfiles).