Version: 2021.3
Building and delivering for iOS
Build for iOS

iOS build settings

Use the iOSApple’s mobile operating system. More info
See in Glossary
Build Settings to configure and build your application for iOS devices. The iOS Build Settings are part of the Build Settings window. To view the iOS Build Settings:

  1. Select File > Build Settings.
  2. From the list of platforms in the Platform pane, select iOS.
    Note: If iOS is greyed out, follow the steps on iOS environment setup.
  3. If the Build button isn’t visible and Build And Run is greyed out, select Switch Platform. The iOS Build Settings now have an effect on the build.
iOS Build Settings in Unity.
iOS Build Settings in Unity.

You can configure these settings for your build:

Property Description
Run in Xcode Selects 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 that doesn’t appear in this list, select Other to find the version in the Applications window that appears.

If Unity can’t find an Xcode installation on your computer, select the Browse button that you can select to locate the Xcode installation directory on your computer, if it exists.

This option is visible only when you run Unity on macOS.
Run in Xcode as Selects whether Xcode runs your Project as a Release or Debug build.
Release Builds an optimized version of your app.
Debug Builds a testing version of your app that contains additional code that helps with debugging.
Symlink Sources References Unity libraries instead of copying them into the Xcode project. This option reduces the Xcode project size and makes iteration times faster.
Development Build Indicates whether to include scripting debug symbols and 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
in your build. Use this setting when you want to test your application. When you select this option, Unity sets the DEVELOPMENT_BUILD scripting define. Your build then includes preprocessor directives that set DEVELOPMENT_BUILD as a condition.

For more information, see Platform dependent compilation.
Autoconnect Profiler Automatically connects the Profiler to the build. Only available if you enable the Development Build setting. For more information, see Profiler.

This property is visible only when Development Build is enabled.
Deep Profiling Indicates whether to enable Deep Profiling in the Profiler. This makes the Profiler instrument every function call in your application so it returns more detailed profiling data. This option might slow down script execution.

This property is visible only when Development Build is enabled.
Script Debugging Attach script debuggers to the Player remotely.

This property is visible only when Development Build is enabled.
Scripts Only Build Builds only the scripts in the current Project. 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.

This property is visible only when Development Build is enabled.

Note: You need to build the entire Project once before you can use this setting.
IL2CPPA Unity-developed scripting back-end which you can use as an alternative to Mono when building projects for some platforms. More info
See in Glossary
Code Generation
Defines how Unity manages IL2CPP code generation.
Faster runtime Generates code optimized for runtime performance.
Faster (smaller) builds Generates code optimized for build size and iteration. This setting generates less code and produces a smaller build, but may reduce runtime performance, especially for generic code. Use this option when faster build times are important, such as when iterating on changes.
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
Method
Specifies the method Unity uses to compress the data in your Project when it builds the Player. This includes AssetsAny media or data that can be used in your game or project. An asset may come from a file created outside of Unity, such as a 3D Model, an audio file or an image. You can also create some asset types in Unity, such as an Animator Controller, an Audio Mixer or a Render Texture. More info
See in Glossary
, 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.
Default The default compression is None.
LZ4 A fast compression format that’s useful for development buildsA development build includes debug symbols and enables the Profiler. More info
See in Glossary
. LZ4 compression can significantly improve the loading time of your application. For more information, see BuildOptions.CompressWithLz4.
LZ4HC A high compression variant of LZ4 that’s 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 BuildOptions.CompressWithLz4HC.

Building and delivering for iOS
Build for iOS