Version: 2021.1
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 iOS, 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 Build 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 Profiler.
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 scripts. 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, Scenes, Player settings, and GI data. Choose between the following methods:
Default The default compression 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