Player Settings

Player Settings is where you define various parameters (platform specific) for the final game that you will build in Unity. Some of these values for example are used in the Resolution Dialog that launches when you open a standalone game, others are used by XCode when building your game for the iOS devices, so it's important to fill them out correctly.

To see the Player Settings choose Edit->Project Settings->Player from the menu bar.


Global Settings that apply to any project you create.
Cross-Platform Properties
Company NameThe name of your company. This is used to locate the preferences file.
Product NameThe name that will appear on the menu bar when your game is running and is used to locate the preferences file also.
Default IconDefault icon the application will have on every platform (You can override this later for platform specific needs).

Per-Platform Settings

Desktop

Web-Player

Resolution And Presentation

Resolution
Default Screen WidthScreen Width the player will be generated with.
Default Screen HeightScreen Height the plater will be generated with.
Run in backgroundCheck this if you dont want to stop executing your game if the player looses focus.
WebPlayer TemplateFor more information you should check the "Using WebPlayer templates page", note that for each built-in and custom template there will be an icon in this section.

Icon

Icons don't have any meaning for most webplayer builds but they are needed for Native Client builds used as Chrome applications. You can set these icons here.

Other Settings

Rendering
Rendering PathThis property is shared between Standalone and WebPlayer content.
Vertex LitLowest lighting fidelity, no shadows support. Best used on old machines or limited mobile platforms.
Forward with ShadersGood support for lighting features; limited support for shadows.
Deferred LightingBest support for lighting and shadowing features, but requires certain level of hardware support. Best used if you have many realtime lights. Unity Pro only.
Color SpaceThe color space to be used for rendering
GammaSpace RenderingRendering is gamma-corrected
Linear Rendering Hardware SamplingRendering is done in linear space
Static BatchingSet this to use Static batching on your build (Inactive by default in webplayers). Unity Pro only.
Dynamic BatchingSet this to use Dynamic Batching on your build (Activated by default).
Streaming
First Streamed LevelIf you are publishing a Streamed Web Player, this is the index of the first level that will have access to all Resources.Load assets.
Optimization
Optimize Mesh DataRemove any data from meshes that is not required by the material applied to them (tangents, normals, colors, UV).
Debug Unload ModeOutput debugging information regarding Resources.UnloadUnusedAssets.
DisabledDon't output any debug data for UnloadUnusedAssets.
Overview onlyMinimal stats about UnloadUnusedAssets usage.
Full (slow)Output overview stats along with stats for all affected objects. This option can slow down execution due to the amount of data being displayed.

Standalone

Resolution And Presentation

Resolution
Default Screen WidthScreen Width the stand alone game will be using by default.
Default Screen HeightScreen Height the plater will be using by default.
Run in backgroundCheck this if you dont want to stop executing your game if it looses focus.
Standalone Player Options
Default is Full ScreenCheck this if you want to start your game by default in full screen mode.
Capture Single ScreenIf enabled, standalone games in fullscreen mode will not darken the secondary monitor in multi-monitor setups.
DisplayResolution Dialog
DisabledNo resolution dialog will appear when starting the game.
EnabledResolution dialog will always appear when the game is launched.
Hidden by defaultThe resolution player is possible to be opened only if you have pressed the "alt" key when starting the game.
Use Player LogWrite a log file with debugging information. If you plan to submit your application to the Mac App Store you will want to leave this option un-ticked. Ticked is the default.
Mac App Store ValidationEnable receipt validation for the Mac App Store.
Supported Aspect RatiosAspect Ratios selectable in the Resolution Dialog will be monitor-supported resolutions of enabled items from this list.

Icon

Override for StandaloneCheck if you want to assign a custom icon you would like to be used for your standalone game. Different sizes of the icon should fill in the squares below.

Splash Image

Config Dialog BannerAdd your custom splash image that will be displayed when the game is starting.

Other Settings

Rendering
Rendering PathThis property is shared between Standalone and WebPlayer content.
Vertex LitLowest lighting fidelity, no shadows support. Best used on old machines or limited mobile platforms.
Forward with ShadersGood support for lighting features; limited support for shadows.
Deferred LightingBest support for lighting and shadowing features, but requires certain level of hardware support. Best used if you have many realtime lights. Unity Pro only.
Color SpaceThe color space to be used for rendering
GammaSpace RenderingRendering is gamma-corrected
Linear Rendering Hardware SamplingRendering is done in linear space
Static BatchingSet this to use Static batching on your build (Inactive by default in webplayers). Unity Pro only.
Dynamic BatchingSet this to use Dynamic Batching on your build (Activated by default).
Optimization
API Compatibility Level
.Net 2.0.Net 2.0 libraries. Maximum .net compatibility, biggest file sizes
.Net 2.0 SubsetSubset of full .net compatibility, smaller file sizes
Optimize Mesh DataRemove any data from meshes that is not required by the material applied to them (tangents, normals, colors, UV).
Debug Unload ModeOutput debugging information regarding Resources.UnloadUnusedAssets.
DisabledDon't output any debug data for UnloadUnusedAssets.
Overview onlyMinimal stats about UnloadUnusedAssets usage.
Full (slow)Output overview stats along with stats for all affected objects. This option can slow down execution due to the amount of data being displayed.

iOS

Resolution And Presentation

Resolution
Default Orientation(This setting is shared between iOS and Android devices)
PortraitThe device is in portrait mode, with the device held upright and the home button at the bottom.
Portrait Upside Down (iOS Only)The device is in portrait mode but upside down, with the device held upright and the home button at the top.
Landscape Right (iOS Only)The device is in landscape mode, with the device held upright and the home button on the left side.
Landscape LeftThe device is in landscape mode, with the device held upright and the home button on the right side.
Auto RotationThe screen orientation is automatically set based on the physical device orientation.
Auto Rotation settings
Use Animated AutorotationWhen checked, orientation change is animated. This only applies when Default orientation is set to Auto Rotation.
Allowed Orientations for Auto Rotation
PortraitWhen checked, portrait orientation is allowed. This only applies when Default orientation is set to Auto Rotation.
Portrait Upside DownWhen checked, portrait upside down orientation is allowed. This only applies when Default orientation is set to Auto Rotation.
Landscape RightWhen checked, landscape right (home button on the left side) orientation is allowed. This only applies when Default orientation is set to Auto Rotation.
Landscape LeftWhen checked, landscape left (home button is on the right side) orientation is allowed. This only applies when Default orientation is set to Auto Rotation.
Status Bar
Status Bar HiddenSpecifies whether the status bar is initially hidden when the application launches.
Status Bar StyleSpecifies the style of the status bar as the application launches
Default
Black Translucent
Black Opaque
Use 32-bit Display BufferSpecifies 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.
Show Loading IndicatorOptions for the loading indicator
Don't ShowNo indicator
White LargeIndicator shown large and in white
WhiteIndicator shown at normal size in white
GrayIndicator shown at normal size in gray

Icon

Override for iOSCheck if you want to assign a custom icon you would like to be used for your iPhone/iPad game. Different sizes of the icon should fill in the squares below.
Prerendered iconIf unchecked iOS applies sheen and bevel effects to the application icon.

Splash Image

Mobile Splash Screen (Pro-only feature)Specifies texture which should be used for iOS Splash Screen. Standard Splash Screen size is 320x480.(This is shared between Android and iOS)
High Res. iPhone (Pro-only feature)Specifies texture which should be used for iOS 4th gen device Splash Screen. Splash Screen size is 640x960.
iPad Portrait (Pro-only feature)Specifies texture which should be used as iPad Portrait orientation Splash Screen. Standard Splash Screen size is 768x1024.
High Res iPad Portrait (Pro-only feature)Specifies texture which should be used as iPad Portrait orientation Splash Screen. Standard Splash Screen size is 1536x2048.
iPad Landscape (Pro-only feature)Specifies texture which should be used as iPad Landscape orientation Splash Screen. Standard Splash Screen size is 1024x768.
High Res iPad Landscape (Pro-only feature)Specifies texture which should be used as iPad Portrait orientation Splash Screen. Standard Splash Screen size is 2048x1536.

Other Settings

Rendering
Static BatchingSet this to use Static batching on your build (Activated by default). Pro-only feature.
Dynamic BatchingSet this to use Dynamic Batching on your build (Activated by default).
Identification
Bundle IdentifierThe string used in your provisioning certificate from your Apple Developer Network account(This is shared between iOS and Android)
Bundle VersionSpecifies the build version number of the bundle, which identifies an iteration (released or unreleased) of the bundle. This is a monotonically increased string, comprised of one or more period-separated
Configuration
Target DeviceSpecifies application target device type.
iPhone OnlyApplication is targeted for iPhone devices only.
iPad OnlyApplication is targeted for iPad devices only.
iPhone + iPadApplication is targeted for both iPad and iPhone devices.
Target PlatformSpecifies the target arquitecture you are going to build for.(This setting is shared between iOS and Android Platforms)
armv6 (OpenGL ES1.1)Application is optimized for armv6 chipsets
Universal armv6+armv7 (OpenGL ES1.1+2.0)Application supports both armv6 and armv7 chipsets. Note: increases application distribution size
armv7Application is optimized for armv7 chipsets. 1st-2nd gen. devices are not supported. There might be additional requirements for this build target imposed by Apple App Store. Defaults to OpenGL ES 2.0.
Target ResolutionResolution you want to use on your deployed device.(This setting will not have any effect on devices with maximum resolution of 480x320)
Native (Default Device Resolution)Will use the device's native resolution (that is the physical pixels on the screen).
Standard (Medium or Low Resolution)Use the lowest resolution possible (e.g. 480x320 on an iPhone 4).
HD (Highest available resolution)Use the maximum resolution allowed on the device (e.g. 960x640 on an iPhone 4).
Accelerometer FrequencyHow often the accelerometer is sampled
DisabledAccelerometer is not sampled
15Hz15 samples per second
30Hz30 samples per second
60Hz60 samples per second
100Hz100 samples per second
Override iPod MusicIf selected application will silence user's iPod music. Otherwise user's iPod music will continue playing in the background.
UI Requires Persistent WiFiSpecifies whether the application requires a Wi-Fi connection. iOS maintains the active Wi-Fi connection open while the application is running.
Exit on SuspendSpecifies whether the application should quit when suspended to background on iOS versions that support multitasking.
Optimization
Api Compatibility LevelSpecifies active .NET API profile
.Net 2.0.Net 2.0 libraries. Maximum .net compatibility, biggest file sizes
.Net 2.0 SubsetSubset of full .net compatibility, smaller file sizes
AOT compilation optionsAdditional AOT compiler options.
SDK VersionSpecifies iPhone OS SDK version to use for building in Xcode
iOS 4.0iOS SDK 4.0.
iOS Simulator 4.0iOS Simulator 4.0. Application built for this version of SDK will be able to run only on Simulator from the SDK 4.
iOS 4.1iOS 4.1.
iOS Simulator 4.1iOS Simulator 4.1. Application built for this version of SDK will be able to run only on Simulator from the SDK 4.x.
iOS 4.2iOS 4.2.
iOS Simulator 4.2iOS Simulator 4.2. Application built for this version of SDK will be able to run only on Simulator from the SDK 4.x.
iOS 4.3iOS 4.3.
iOS Simulator 4.3iOS Simulator 4.3. Application built for this version of SDK will be able to run only on Simulator from the SDK 4.x.
iOS 5.0iOS 5.0
iOS Simulator 5.0iOS Simulator 5.0. Application built for this version of SDK will be able to run only on Simulator from the SDK 5.x.
iOS latestLatest available iOS SDK. Available since iOS SDK 4.2. (default value)
iOS Simulator latestLatest available iOS Simulator SDK. Available since iOS SDK 4.2.
UnknowniOS SDK version is not managed by Unity Editor.
Target iOS VersionSpecifies lowest iOS version where final application will able to run
3.0iPhone OS 3.0. (default value)
3.1iPhone OS 3.1.
3.1.2iPhone OS 3.1.2.
3.1.3iPhone OS 3.1.3.
3.2iPhone OS 3.2.
4.0iPhone OS 4.0.
4.1iPhone OS 4.1.
4.2iPhone OS 4.2.
4.3iPhone OS 4.3.
5.0iPhone OS 5.0
UnknowniPhone OS SDK version is not managed by Unity Editor.
Stripping Level (Pro-only feature)Options to strip out scripting features to reduce built player size(This setting is shared between iOS and Android Platforms)
DisabledNo reduction is done.
Strip AssembliesLevel 1 size reduction.
Strip ByteCodeLevel 2 size reduction (includes reductions from Level 1).
Use micro mscorlibLevel 3 size reduction (includes reductions from Levels 1 and 2).
Script Call OptimizationOptionally disable exception handling for a speed boost at runtime
Slow and SafeFull exception handling will occur with some performance impact on the device
Fast but no ExceptionsNo data provided for exceptions on the device, but the game will run faster
Optimize Mesh DataRemove any data from meshes that is not required by the material applied to them (tangents, normals, colors, UV).
Debug Unload ModeOutput debugging information regarding Resources.UnloadUnusedAssets.
DisabledDon't output any debug data for UnloadUnusedAssets.
Overview onlyMinimal stats about UnloadUnusedAssets usage.
Full (slow)Output overview stats along with stats for all affected objects. This option can slow down execution due to the amount of data being displayed.

Note: If you build for example for iPhone OS 3.2, and then select Simulator 3.2 in Xcode you will get a ton of errors. So you MUST be sure to select a proper Target SDK in Unity Editor.

Android

Resolution And Presentation


Resolution and presentation for your Android project builds.
Resolution
Default Orientation(This setting is shared between iOS and Android devices)
PortraitThe device is in portrait mode, with the device held upright and the home button at the bottom.
Portrait Upside DownThe device is in portrait mode but upside down, with the device held upright and the home button at the top (only available with Android OS 2.3 and later).
Landscape RightThe device is in landscape mode, with the device held upright and the home button on the left side (only available with Android OS 2.3 and later).
Landscape LeftThe device is in landscape mode, with the device held upright and the home button on the right side.
Use 32-bit Display BufferSpecifies 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).
Use 24-bit Depth BufferIf set Depth Buffer will be created to hold (at least) 24-bit depth values. Use it only if you see 'z-fighting' or other artifacts, as it may have performance implications.
 
 
Icon

Different icons that your project will have when built.
Override for AndroidCheck if you want to assign a custom icon you would like to be used for your Android game. Different sizes of the icon should fill in the squares below.
 
 
Splash Image

Splash image that is going to be displayed when your project is launched.
Mobile Splash Screen (Pro-only feature)Specifies texture which should be used by the iOS Splash Screen. Standard Splash Screen size is 320x480.(This is shared between Android and iOS)
Splash ScalingSpecifies how will be the splash image scaling on the device.
 
 
Other Settings
Rendering
Static BatchingSet this to use Static batching on your build (Activated by default). Pro-only feature.
Dynamic BatchingSet this to use Dynamic Batching on your build (Activated by default).
Identification
Bundle IdentifierThe string used in your provisioning certificate from your Apple Developer Network account(This is shared between iOS and Android)
Bundle VersionSpecifies the build version number of the bundle, which identifies an iteration (released or unreleased) of the bundle. This is a monotonically increased string, comprised of one or more period-separated(This is shared between iOS and Android)
Bundle Version CodeAn 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.
Configuration
Device FilterSpecifies the target architecture you are going to build for.
ARMv7 onlyApplication optimized for ARMv7 CPU architecture. It will also enable correct Android Market device filtering, thus recommended for publishing to the Android Market (only devices supporting Unity Android will list the application on the Android Market).
Graphics LevelSelect either ES 1.1 ('fixed function') or ES 2.0 ('shader based') Open GL level. When using the AVD (emulator) only ES 1.x is supported.
Install LocationSpecifies application install location on the device (for detailed information, please refer to http://developer.android.com/guide/appendix/install-location.html).
AutomaticLet OS decide. User will be able to move the app back and forth.
Prefer ExternalInstall 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 InternalForce app to be installed into internal memory. User will be unable to move the app to external storage.
Internet AccessWhen set to Require, will enable networking permissions even if your scripts are not using this. Automatically enabled for development builds.
Write AccessWhen set to External (SDCard), will enable write access to external storage such as the SD-Card. Automatically enabled for development builds.
Optimization
Api Compatibility LevelSpecifies active .NET API profile
.Net 2.0.Net 2.0 libraries. Maximum .net compatibility, biggest file sizes
.Net 2.0 SubsetSubset of full .net compatibility, smaller file sizes
Stripping Level (Pro-only feature)Options to strip out scripting features to reduce built player size(This setting is shared between iOS and Android Platforms)
DisabledNo reduction is done.
Strip AssembliesLevel 1 size reduction.
Strip ByteCode (iOS only)Level 2 size reduction (includes reductions from Level 1).
Use micro mscorlibLevel 3 size reduction (includes reductions from Levels 1 and 2).
Enable "logcat" profilerEnable 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).
Optimize Mesh DataRemove any data from meshes that is not required by the material applied to them (tangents, normals, colors, UV).
Debug Unload ModeOutput debugging information regarding Resources.UnloadUnusedAssets.
DisabledDon't output any debug data for UnloadUnusedAssets.
Overview onlyMinimal stats about UnloadUnusedAssets usage.
Full (slow)Output overview stats along with stats for all affected objects. This option can slow down execution due to the amount of data being displayed.
Publishing Settings

Publishing settings for Android Market
Keystore
Use Existing Keystore / Create New KeystoreUse this to choose whether to create a new Keystore or use an existing one.
Browse KeystoreLets you select an existing Keystore.
Keystore passwordPassword for the Keystore.
Confirm passwordPassword confirmation, only enabled if the Create New Keystore option is chosen.
Key
AliasKey alias
PasswordPassword for key alias

Note that for security reasons, Unity will save neither the keystore password nor the key password.

Split Application BinarySplit application binary into expansion files, for use with Google Play Store if application is larger than 50 MB. When enabled the player executable and data will be split up, with a generated .apk consisting only of the executable (Java and Native) code (~10MB), and the data for the first scene. The application data will be serialized separately to an APK Expansion File (.obb).

Flash

Resolution And Presentation

Resolution
Default Screen WidthScreen Width the player will be generated with.
Default Screen HeightScreen Height the plater will be generated with.

Other Settings

Optimization
StrippingBytecode can optionally be stripped during the build.
Optimize Mesh DataRemove any data from meshes that is not required by the material applied to them (tangents, normals, colors, UV).
Debug Unload ModeOutput debugging information regarding Resources.UnloadUnusedAssets.
DisabledDon't output any debug data for UnloadUnusedAssets.
Overview onlyMinimal stats about UnloadUnusedAssets usage.
Full (slow)Output overview stats along with stats for all affected objects. This option can slow down execution due to the amount of data being displayed.

Details

Desktop

The Player Settings window is where many technical preference defaults are set. See also Quality Settings where the different graphics quality levels can be set up.

Publishing a web player

Default Web Screen Width and Default Web Screen Height determine the size used in the html file. You can modify the size in the html file later.

Default Screen Width and Default Screen Height are used by the Web Player when entering fullscreen mode through the context menu in the Web Player at runtime.

Customizing your Resolution Dialog


The Resolution Dialog, presented to end-users

You have the option of adding a custom banner image to the Screen Resolution Dialog in the Standalone Player. The maximum image size is 432 x 163 pixels. The image will not be scaled up to fit the screen selector. Instead it will be centered and cropped.

Publishing to Mac App Store

Use Player Log enables writing a log file with debugging information. This is useful to find out what happened if there are problems with your game. When publishing games for Apple's Mac App Store, it is recommended to turn this off, because Apple may reject your submission otherwise. See this manual page for further information about log files.

Use Mac App Store Validation enables receipt validation for the Mac App Store. If this is enabled, your game will only run when it contains a valid receipt from the Mac App Store. Use this when submitting games to Apple for publishing on the App Store. This prevents people from running the game on any computer then the one it was purchased on. Note that this feature does not implement any strong copy protection. In particular, any potential crack against one Unity game would work against any other Unity content. For this reason, it is recommended that you implement your own receipt validation code on top of this using Unity's plugin feature. However, since Apple requires plugin validation to initially happen before showing the screen setup dialog, you should still enable this check, or Apple might reject your submission.

iOS

Bundle Identifier

The Bundle Identifier string must match the provisioning profile of the game you are building. The basic structure of the identifier is com.CompanyName.GameName. This structure may vary internationally based on where you live, so always default to the string provided to you by Apple for your Developer Account. Your GameName is set up in your provisioning certificates, that are manageable from the Apple iPhone Developer Center website. Please refer to the Apple iPhone Developer Center website for more information on how this is performed.

Stripping Level (Pro-only)

Most games don't use all necessary dlls. With this option, you can strip out unused parts to reduce the size of the built player on iOS devices. If your game is using classes that would normally be stripped out by the option you currently have selected, you'll be presented with a Debug message when you make a build.

Script Call Optimization

A good development practice on iOS is to never rely on exception handling (either internally or through the use of try/catch blocks). When using the default Slow and Safe option, any exceptions that occur on the device will be caught and a stack trace will be provided. When using the Fast but no Exceptions option, any exceptions that occur will crash the game, and no stack trace will be provided. However, the game will run faster since the processor is not diverting power to handle exceptions. When releasing your game to the world, it's best to publish with the Fast but no Exceptions option.

Android

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 (Pro-only)

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.

Page last updated: 2013-03-06