Version: 2021.2
Android Build Settings
Exporting an Android project

Building for Android

This page contains instructions on how to build your Unity application for Android as well as considerations to be aware of when you do. For information on the build process for Android and the tools Unity uses, see How Unity builds Android applications.

Instead of building your application, you can also export the Unity project as a GradleAn Android build system that automates several build processes. This automation means that many common build errors are less likely to occur. More info
See in Glossary
project and import that into Android Studio. This is useful if you want more control over the build pipeline, want to see or modify the Android App Manifest that Unity generates for your application, or integrate Unity-powered features into another Android application. For more information, see Exporting an Android project.

Some digital distribution services that host Android applications have particular requirements that can change the build process. For example, Google Play requires your application to be an Android App Bundle (AAB) and not an APK. If you are targeting a specific digital distribution service with your build, see the documentation for that Digital distribution service first to check if the requirements differ.

Configuring the build

Before you create a build, configure your project’s settings so that Unity builds the application with the runtime settings and build system properties you want. There are two sets of settings that configure a Unity build:

  • Player SettingsSettings that let you set various player-specific options for the final game built by Unity. More info
    See in Glossary
    : Configure runtime and build settings for the application.
  • Build Settings: Configure build system settings.

Publishing format

Unity can build Android applications in the following publishing formats:

By default, Unity builds Android applications in the APK publishing format. To make Unity build the Android application as an AAB:

  1. Select File > Build Settings.
  2. From the list of platforms in the Platform pane, select Android.
  3. Enable Build App Bundle (Google Play). If you want to export the project and build it in Android Studio, enable Export Project then enable Export for App Bundle.

Building

To build your Unity application for Android:

  1. Select File > Build Settings.
  2. From the list of platforms in the Platform pane, select Android.
    Note: If Android is greyed out, set up your project for Android development.
  3. Disable Export Project. If you want to export your project for Android Studio instead of building it within Unity, see Exporting your Android project.
  4. Click either Build or Build and Run.
  5. Select the destination for Unity to place the application. If you selected Build and Run, Unity also installs the application on the Android device connected to your computer.
  6. Click Save. This starts the build.

If you selected Build and Run, when Unity creates the build:

  • If the Split Application Binary Player Setting is enabled and the Build App Bundle (Google Play) Build Setting is disabled, Unity builds Android expansion files (OBB) for the APK and places them in the correct location on your device.
  • If the Development BuildA development build includes debug symbols and enables the Profiler. More info
    See in Glossary
    Build Setting is enabled, Unity also sets up a ProfilerA window that helps you to optimize your game. It shows how much time is spent in the various areas of your game. For example, it can report the percentage of time spent rendering, animating, or in your game logic. More info
    See in Glossary
    tunnel and enables CheckJNI before it launches your application.

Tip: After you specify the output path the first time, you can use Ctrl+B (macOS: Cmd+B) keyboard shortcut to build and run the application.

Distribution size

Some digital distribution services have a limit on the initial install size of your application. Unity includes the following methods to help you to optimize the install size:

Splitting APKs by target architecture

If your output application uses APK format, the Split APKs by target architecture Player Setting optimizes the application download and installation size. Instead of producing one APK that contains binaries for every target CPU architecture selected in the Target Architectures Player Setting, Unity creates a separate APK for each CPU architecture. You can upload this set of APKs to digital distribution services which serve the APK with the correct target CPU architecture to each device that downloads your application.

This is primarily a Google Play feature and may not work for other digital distribution services. For more information, see Multiple APK support.

Note: Google Play requires new applications to be AABs and not APKs. When you upload an AAB, Google Play automatically generates and serves optimized APKs for each device configuration.

Splitting the application binary

You can split your output application to make the initial install size smaller. The device can install a lighter version of your application and then download assets separately. If your output application uses APK format, Unity can split the application into a main APK and an expansion file (OBB). For more information see APK expansion files. If your output application uses AAB format, Unity can split the application into a base module and asset packs. For more information, see Play Asset Delivery.

To split the application binary:

  1. Select Edit > Project Settings.
  2. In the Project settings window, select the Player tab, then open Android Player Settings:
  3. In the Publishing Settings section, enable Split Application Binary.

Compression

You can change the method Unity uses to compress resource files for the application. This can reduce the size of the application but can increase loading times if the method means data takes longer to decompress.

For more information, see Compression Method.

Minification

You can use ProGuard minification to decrease the size of the application and improve performance.

To enable ProGuard minification:

  1. Select Edit > Project Settings.
  2. In the Project settings window, select the Player tab, then open Android Player Settings:
  3. In the Publishing Settings section, under Minify enable either Release, Debug, or both depending on the type of build you want to minify.

Note: ProGuard might strip out important code that your application relies on, so check any builds that you minify.

For more control over the minification process, generate a custom proguard.txt file and configure it to specify what not to strip. To generate the file, select Custom Proguard File in the Publishing Settings section. This generates the proguard.txt file in your project’s Assets/Plugins/Android folder. For information on how to configure ProGuard minification, see the ProGuard documentation.

Android Build Settings
Exporting an Android project