This page details the Player Settings specific to iOS. A description of the general Player Settings can be found here.
Property: | Function: |
---|---|
Resolution | |
Default Orientation | (This setting is shared between iOS and Android devices) |
Default Orientation | The game’s screen orientation. The options are Portrait (home button at the bottom), Portrait Upside Down (home button at the top), Landscape Left (home button on the right side), Landscape Right (home button on the left side) and Auto Rotation (screen orientation changes with device orientation). |
Use Animated Autorotation | Should orientation changes animate the screen rotation rather than just switch? (Only visible when the Default Orientation is set to 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). |
Status Bar | |
Status Bar Hidden | Specifies whether the status bar is initially hidden when the application launches. |
Status Bar Style | Specifies the style of the status bar as the application launches. The options are Default, Black Translucent and Black Opaque. |
Use 32-bit Display Buffer | Specifies if Display Buffer should be created to hold 32-bit color values (by default, it uses 16-bit values). Use it if you see banding or need alpha in your Image Effects, as they will create RTs in the same format as the Display Buffer. |
Disable Depth and Stencil | Should the depth and stencil buffers be disabled? |
Show Loading Indicator | How should the loading indicator be displayed? The options are Don’t Show, White Large, White and Gray. |
Property: | Function: |
---|---|
Override for iOS | Check 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 icon | If unchecked iOS applies sheen and bevel effects to the application icon. |
Property: | Function: |
---|---|
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) |
iPhone 3.5"/Retina (Pro-only feature) | Specifies texture which should be used for iOS 3.5" Retina Splash Screen. Splash Screen size is 640x960. |
iPhone 4"/Retina (Pro-only feature) | Specifies texture which should be used for iOS 4" Retina Splash Screen. Splash Screen size is 640x1136. |
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 | Specifies texture which should be used as the high res 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 the high res iPad Landscape orientation Splash Screen. Standard Splash Screen size is 2048x1536. |
Property: | Function: |
---|---|
Enable Internal Profiler | Enables an internal profiler which collects performance data of the application and prints a report to the console. The report contains the number of milliseconds that it took for each Unity subsystem to execute on each frame. The data is averaged across 30 frames. |
On .Net UnhandledException | The action taken on .NET unhandled exception. The options are Crash (the application crashes hardly and forces iOS to generate a crash report that can be submitted to iTunes by app users and inspected by developers), Silent Exit (the application exits gracefully). |
Log ObjC uncaught exceptions | Enables a custom Objective-C Uncaught Exception handler, which will print exception information to console. |
Enable Crash Report API | Enables a custom crash reporter to capture crashes. Crash logs will be available to scripts via CrashReport API. |
Property: | Function: |
---|---|
Rendering | |
Rendering Path | The rendering path enabled for the game. |
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? |
Identification | |
Bundle Identifier | The string used in your provisioning certificate from your Apple Developer Network account(This is shared between iOS and Android) |
Bundle 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). |
Configuration | |
Target Device | Which devices are targeted by the game? The options are iPhone Only, iPad Only and iPhone + iPad. |
Target Resolution | What resolution should be used for the game? (This setting does not have any effect on devices with a maximum resolution of 480x320.) The options are Native(Default Device Resolution), Auto (Best Performance), Auto (Best Quality), 320p (iPhone), 640p (iPhone Retina Display) and 768p (iPad). |
Graphics Level | Select OpenGL ES level to use. |
Accelerometer Frequency | How often is the accelerometer sampled? The options are Disabled (ie, no samples are taken), 15Hz, 30Hz, 60Hz and 100Hz. |
Override iPod Music | If selected, the application will silence user’s iPod music. Otherwise user’s iPod music will continue playing in the background. |
Prepare iOS for Recording | |
Requires Persistent WiFi | Specifies whether the application requires a Wi-Fi connection. iOS maintains the active Wi-Fi connection while the application is running. |
Exit on Suspend | Specifies whether the application should quit when suspended to background on iOS versions that support multitasking. |
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. |
AOT compilation options | Additional AOT compiler options. |
SDK Version | Specifies iPhone OS SDK version to use for building in Xcode |
Device SDK | SDK to run on actual hardware. |
Simulator SDK | SDK to run only on the simulator. |
Target iOS Version | Specifies lowest iOS version where final application will able to run. The options are 6.0, 7.0 and Unknown. |
Stripping Level | Options to strip out scripting features to reduce built player size(This setting is shared between iOS and Android Platforms) |
Disabled | No reduction is done. |
Strip Assemblies | Level 1 size reduction. |
Strip ByteCode | Level 2 size reduction (includes reductions from Level 1). |
Use micro mscorlib | Level 3 size reduction (includes reductions from Levels 1 and 2). |
Script Call Optimization | Optionally disable exception handling for a speed boost at runtime |
Slow and Safe | Full exception handling will occur with some performance impact on the device |
Fast but no Exceptions | No data provided for exceptions on the device, but the game will run faster |
Optimize Mesh Data | Remove any data from meshes that is not required by the material applied to them (tangents, normals, colors, UV). |
Note: Be sure to select the correct SDK - if you select Device, say, but then target the Simulator in Xcode then the build will fail with a lot of error messages.
You can choose your mono api compatibility level for all targets except the webplayer. 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.
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.
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.
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.