Customizing an Android Splash Screen
Android 2D Textures Overrides

Android Player Settings

This page details the Player Settings specific to Android. A description of the general Player Settings can be found here.

Resolution And Presentation

Property: Function:
Orientation
Default Orientation The game’s screen orientation. The options are Portrait (home button at the bottom), Portrait Upside Down (home button at the top, Android 2.3+), Landscape Left (home button on the right side) and Landscape Right (home button on the left side, Android 2.3+).
Allowed Orientations for Auto Rotation
Allowed Orientations for Auto Rotation (Only visible when the Default Orientation is set to Auto Rotation.)
Portrait Allow portrait orientation.
Portrait Upside Down Allow portrait upside down orientation.
Landscape Right Allow landscape right orientation (ie, home button on the left side).
Landscape Left Allow landscape left orientation (home button is on the right side).
Other
Use 32-bit Display Buffer Specifies if Display Buffer should be created to hold 32-bit color values (16-bit by default). Use it if you see banding, or need alpha in your ImageEffects, as they will create RTs in same format as Display Buffer. Not supported on devices running pre-Gingerbread OS (will be forced to 16-bit).
Disable Depth and Stencil Should the depth and stencil buffers be disabled?
Show Loading Indicator The type of loading progress indicator that should be shown. Options are Don’t Show, Large, Inversed Large, Small and Inversed Small.

Icon

Property: Function:
Override for Android Check if you want to override the default icon with a custom one for Android. The icon images at various different sizes can be dragged into the appropriate squares.
Enable Android Banner Enables a custom banner for Android T.V builds

Splash Image

Property: Function:
Virtual Reality Splash Screen (Pro-only feature) Specifies the texture that should be used for the Android splash screen on a Virtual Reality Application.
Android Splash Screen (Pro-only feature) Specifies the texture that should be used for the Android splash screen. The standard size for the splash screen image is 320x480.
Splash Scaling Specifies how the splash image will be scaled to fit the device’s screen. The options are Center (only scale down), Scale to Fit (letter-boxed) and Scale to Fill (cropped).

See also Unity Splash Screen settings.

Other Settings

Property: Function:
Rendering
Rendering Path The rendering path enabled for the game.
Automatic Graphics API Allows you to select which graphics API is used. When checked, Unity will include Metal, and GLES2 as a fallback for devices where Metal is not supported. When unchecked, you can manually pick and reorder the graphics APIs. Manually picking just one API will adjust your app’s info.plist which will result in appropriate app store restrictions.
Multithreaded Rendering Enables multithreaded rendering.
Static Batching Set this to use Static batching on your build (enabled by default).
Dynamic Batching Set this to use Dynamic Batching on your build (enabled by default).
GPU Skinning Should DX11/ES3 GPU skinning be enabled?
Virtual Reality Supported Enable this if your application is a virtual reality application.
Protect Graphics Memory Enable this to force the graphics buffer to be displayed only through a hardware-protected path.
Identification
Bundle Identifier The string used in your provisioning certificate from your Apple Developer Network account(This is shared between iOS and Android)
Version* Specifies the build version number of the bundle, which identifies an iteration (released or unreleased) of the bundle. The version is specified in the common format of a string containing numbers separated by dots (eg, 4.3.2). (This is shared between iOS and Android.)
Bundle Version Code An internal version number. This number is used only to determine whether one version is more recent than another, with higher numbers indicating more recent versions. This is not the version number shown to users; that number is set by the versionName attribute. The value must be set as an integer, such as “100”. You can define it however you want, as long as each successive version has a higher number. For example, it could be a build number. Or you could translate a version number in “x.y” format to an integer by encoding the “x” and “y” separately in the lower and upper 16 bits. Or you could simply increase the number by one each time a new version is released.
Minimum API Level Minimum API version required to support the build.
Configuration
Scripting Backend Allows you to select between IL2CPP and Mono2x scripting backends. The default is Mono2x.
Disable HW Statistics By default, Unity Android apps send anonymous HW statistics to Unity so we can provide you with aggregated information to help you make decisions as a developer. These stats can be found at (http://stats.unity3d.com/)[http://stats.unity3d.com/]. Checking this option disables the sending of these statistics for your app.
Device Filter Limit the game to run only on specific CPUs.
Install Location Specifies application install location on the device (for detailed information, please refer to http://developer.android.com/guide/appendix/install-location.html).
        Automatic Let OS decide. User will be able to move the app back and forth.
        Prefer External Install app to external storage (SD-Card) if possible. OS does not guarantee that will be possible; if not, the app will be installed to internal memory.
        Force Internal Force app to be installed into internal memory. User will be unable to move the app to external storage.
Internet Access When set to Require, will enable networking permissions even if your scripts are not using this. Automatically enabled for development builds.
Write Access When set to External (SDCard), will enable write access to external storage such as the SD-Card. Automatically enabled for development builds.
Android TV Compatibility If enabled, checks the game for Android T.V compatibility.
Android Game If enabled, built APK will be marked as a game rather than a regular app.
Android Gamepad Support Level This allows you to define the level of support your application allows for a gamepad. The options are Works with D - Pad, Supports Gamepad and Requires Gamepad.
Scripting Define Symbols Custom compilation flags (see the platform dependent compilation page for details).
Optimization
Api Compatibility Level Specifies active .NET API profile. See below.
        .Net 2.0 .Net 2.0 libraries. Maximum .net compatibility, biggest file sizes
        .Net 2.0 Subset Subset of full .net compatibility, smaller file sizes
Prebake Collision Meshes Should collision data be added to meshes at build time?
Preload Shaders Should shaders be loaded when the player starts up?
Preloaded Assets An array of assets to be loaded when the player starts up.
Stripping Level Options to strip out scripting features to reduce built player size (This setting is shared between iOS and Android Platforms, and is available with the Mono scripting backend only.)
        Disabled No reduction is done.
        Strip Assemblies Level 1 size reduction.
        Strip ByteCode (iOS only) Level 2 size reduction (includes reductions from Level 1).
        Use micro mscorlib Level 3 size reduction (includes reductions from Levels 1 and 2).
Strip Engine Code Enable code stripping. (This setting is only available with the IL2CPP scripting backend.)
Enable Internal profiler Enable this if you want to get feedback from your device while testing your projects. So adb logcat prints logs from the device to the console (only available in development builds).
Vertex Compression Select which vertex channels should be compressed. Compression can save memory and bandwidth but precision will be lower.
Optimize Mesh Data Remove any data from meshes that is not required by the material applied to them (tangents, normals, colors, UV).
Logging Enable different logging types (see the StackTraceLogType page for details).

API Compatibility Level

You can choose your mono api compatibility level for all targets. Sometimes a 3rd party .net dll will use things that are outside of the .net compatibility level that you would like to use. In order to understand what is going on in such cases, and how to best fix it, get “Reflector” on windows.

  1. Drag the .net assemblies for the api compatilibity level in question into reflector. You can find these in Frameworks/Mono/lib/mono/YOURSUBSET/
  2. Also drag in your 3rd party assembly.
  3. Right click your 3rd party assembly, and select “Analyze”.
  4. In the analysis report, inspect the “Depends on” section. Anything that the 3rd party assembly depends on, but is not available in the .net compatibility level of your choice will be highlighted in red there.

Publishing Settings

Property: Function:
Keystore
Use Existing Keystore / Create New Keystore Use this to choose whether to create a new Keystore or use an existing one. You can use the Browse Keystore button to select a Keystore from the filesystem.
Keystore password Password for the Keystore.
Confirm password Password confirmation (only enabled if the Create New Keystore option is chosen).
Key
Alias Key alias.
Password Password for key alias.
Split Application Binary Flag to split the application into expansion files. Useful only with Google Play Store when the finished build exceeds 50MB.

Note that for security reasons, Unity will save neither the keystore password nor the key password. Also, note that the signing must be done from Unity’s player settings - using jarsigner will not work. The unsigned debug keystore is located by default at ~/.android/debug.keystore on OS X and %USERPROFILE%\.android\debug.keystore on Windows.

Details

Bundle Identifier

The Bundle Identifier string is the unique name of your application when published to the Android Market and installed on the device. The basic structure of the identifier is com.CompanyName.GameName, and can be chosen arbitrarily. In Unity this field is shared with the iOS Player Settings for convenience.

Stripping Level

Most games don’t use all the functionality of the provided dlls. With this option, you can strip out unused parts to reduce the size of the built player on Android devices.

Customizing an Android Splash Screen
Android 2D Textures Overrides