Default Device Profiles
To ensure that Unreal Match 3 worked on as many mobile devices as possible, modifications were made to the DefaultDeviceProfiles.ini that turned down the rendering settings of Unreal Match 3 when it was played on lower end mobile devices. This allowed the game to be available on a wider variety of mobile devices without having to sacrifice the overall look and feel of the game. In the following section we will take a look at what some of these settings are and how you can use them in your Unreal Engine 4 mobile projects.
If you have not done so, open up the Unreal Match 3 DefaultDeviceProfiles.ini, which can be found in
Once the DefaultDeviceProfiles.ini is open, look for the following sections for iOS and Android:
For Unreal Match 3, we did not add anything to the base device profile and only modified the individual device profiles for each device.
The two blocks of text above are responsible for the basic rendering settings each device family should have enabled by default. You should only put CVars in here that you know will work on every single one of the mobile devices your project targets. Adding a CVar here that one mobile device supports, but others do not, can cause your project to run poorly on those mobile devices. To avoid this, you should only add device specific CVars under the Device Profile section. For example, take a look at the iPhone 4s Device Profile versus the iPhone 6s profile.
Because the iPhone 6 is more powerful than the iPhone 4, many of the settings were increased on the 6, but decreased on the 4. If we take a look at the Android section below the iOS section, we can see the same thing between the low and high device profile.
Here is a breakdown of the settings that were used for Unreal Match 3 and what they do.
This controls how the content will be scaled when it is on the device. A setting of 0 will use the native resolution of the device. If you are using a DPI scaling curve for UI scaling, make sure to set this to 0.
This controls which particle LOD will be displayed. 0 will use the base, while 1 will use the first LOD, 2 the second LOD and so on. In Unreal Match 3, only the first LOD was used to cut the amount of particles spawned in half on lower-end devices.
This controls the spawn rate of the particles per tick. It ranges from 0 to 3, with the default value being 3. Lowering this number will result in fewer particles being spawned per tick. Setting this to 1 will result in particles being very sparse and is only recommended for extremely low-end devices. Setting to 0 will stop all particles from spawning entirely.
This controls how my CPU particles can be emitted per emitter.