Version: 2023.1
Game state hinting
Create and use plug-ins in Android

Optimize for user preferences

Android’s game mode feature indicates how the user wants to optimize your application. It enables users to say whether they want your application to run normally, optimize for battery life, or optimize for best performance.

Requirements and compatibility

Android’s game mode feature requires Android version 13.

Use game mode in Unity

Unity provides the AndroidGame.GameMode property that you can use to retrieve the current game mode for your application.

Depending on the current game mode, you should adapt your Unity application to accommodate the user’s preference. For example, if the game mode is battery saving, the user expects your application to run for as long as possible. In this case, you should reduce the resource intensity of effects and calculations to reduce the impact your application has on the device’s battery life. This includes things like:

  • Decrease the framerate or resolution of the application.
  • Reduce the LOD bias to make Unity display lower detail LODs closer to the camera.
  • Reduce the cull distance of particular layers.
  • Reduce or possible batch network calls and/or sensor usage.

If the game mode is maximise performance, the user expects your application to look and play as well as possible. In this case, you can enable more effects and not be as wary of battery consumption.

Tip: If your application is resource intensive and you want to enhance its overall performance, consider the Adaptive Performance package. It provides feedback about the thermal and power state of a mobile device and enables you to react appropriately to prevent thermal throttling or excessive battery consumption.

Game state hinting
Create and use plug-ins in Android