Version: 2020.2
Structure of a Unity Xcode Project
iOS Player settings

iOS build settings

To create a build for iOS, go to Build Settings (menu: File > Build Settings). In the Platform list, select iOSApple’s mobile operating system. More info
See in Glossary
, then select the Switch Platform button.

iOS build settings in Unity
iOS build settings in Unity

Building your app to a iOS device involves two steps:

  1. Unity builds an Xcode project.

  2. Xcode builds that project to your device.

To select the device that Xcode builds to, follow these steps:

  1. Connect the device to your computer.

  2. From Xcode’s main menu, go to Product > Destination, and select your device from the Devices list.

You can configure these settings for your build:

Setting Function
Run in Xcode This option only shows when you run Unity on macOS. Select the Xcode version to open your project with. You can choose the Latest version, or select a specific version from the drop-down list.

If you have a specific Xcode version installed on your machine, but it doesn’t appear in this list, select Other, then find and select the specific version in the Applications window that appears and select Open.

If Unity can’t find an Xcode installation on your computer, it displays a Browse button that you can select to locate the Xcode installation directory on your computer, if it exists.
Run in Xcode as Select whether Xcode runs your Project as a Release or Debug build.
Release Build an optimized version of your app.
Debug Build a testing version of your app that contains additional code that helps with debugging.
Symlink Unity libraries Reference Unity libraries instead of copying them into the Xcode project. This option reduces the Xcode project size and makes iteration times faster.
Development BuildA development build includes debug symbols and enables the Profiler. More info
See in Glossary
A development build includes scripting debug symbols. When you select the Development Build setting, you can select the Autoconnect Profiler, Script Debugging, and Scripts Only Build setting. It also enables the DEVELOPMENT_BUILD #define.

For more information about #define directives, see documentation on Platform dependent compilation.
Autoconnect Profiler Automatically connect the Profiler to the build. Only available if you enable the Development Build setting. For more information on the Profiler, see documentation on the 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
.
Deep Profiling When you enable Deep Profiling, Unity profiles all of your script code and records all function calls. This is useful to pinpoint game code that causes performance issues. However, it uses a lot of memory and might not work with very complex scriptsA piece of code that allows you to create your own Components, trigger game events, modify Component properties over time and respond to user input in any way you like. More info
See in Glossary
. For more information, see documentation on deep profiling.
Script Debugging Attach script debuggers to the Player remotely. Only available if you enable the Development Build setting.
Scripts Only Build Enable this setting to build just the scripts in the current Project. Only available if you enable the Development Build setting.

When you enable this setting, Unity rebuilds the scripts in your application, and leaves data files from previously executed builds intact. It significantly improves iteration times if you only change the code in your application.

Note: You need to build the entire Project once before you can use this setting.
Compression Method Compress the data in your Project at build time. This includes Assets, ScenesA Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. More info
See in Glossary
, Player settingsSettings that let you set various player-specific options for the final game built by Unity. More info
See in Glossary
, and GI data. Choose between the following methods:
Default The default compressionA method of storing data that reduces the amount of storage space it requires. See Texture Compression, Animation Compression, Audio Compression, Build Compression.
See in Glossary
is None.
LZ4 A fast compression format that is useful for development builds. LZ4 compression can significantly improve the loading time of your application. For more information, see documentation on BuildOptions.CompressWithLz4.
LZ4HC A high compression variant of LZ4 that is slower to build but produces better results for release builds. LZ4HC compression can significantly improve the loading time of your application. For more information, see documentation on BuildOptions.CompressWithLz4HC.

  • 2019–09–26 Page published
Structure of a Unity Xcode Project
iOS Player settings