Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


macOS build settings reference

Reference documentation for macOS build settings.
Read time 2 minutesLast updated 23 days ago

Use these settings to configure how Unity builds your application for macOS platform. You can update your macOS build settings from the Build Profiles window.

Property

Description

Architecture
Select the CPU to build for (only applies to Build And Run).
  • Intel 64-bit: Use Intel/AMD 64-bit CPU architecture.
  • Apple Silicon: Use Apple's Silicon architecture.
  • Intel 64-bit + Apple Silicon: Use both architectures.
Important
Intel (x86_64) architecture support for macOS standalone Players is deprecated and will be removed in a future version of Unity. Apple silicon is the recommended target architecture for new macOS builds.
Create Xcode Project
Enable this setting to generate an Xcode project so you can build your final application bundle in Xcode. Xcode has built-in support for code signing and uploading the application to the Mac App Store.
Run in Xcode as
Select 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.
Development Build
Builds the Player in development mode, which by default includes the Profiler and assertions in your managed assemblies. To add additional diagnostic code paths and data to the build, such as safety checks and debug symbols, configure the appropriate managed code variant for your build. Use this setting when you want to test your application. Selecting a development build defines the
DEVELOPMENT_BUILD
scripting symbol for your managed code. However, this symbol is marked for deprecation and it's recommended you replace usages of it with the symbols associated with the relevant managed code variant instead.
For more information, refer to Adding diagnostics to C# code.
Autoconnect Profiler
Automatically connect the Unity Profiler to your build. For more information, refer to Profiler.
Note: This option is available only if you select Development Build.
Deep Profiling
Allow the Profiler to process all your script code and record every function call, returning detailed profiling data. For more information, refer to Deep Profiling.
This property is available only if you enable Development Build.
Note: Enabling Deep Profiling might slow down script execution.
Code Coverage Support
Allow the Code Coverage feature to process all your script code and record every function call, returning detailed code coverage data. For more information, refer to the Coverage class description.
Note: This option is available with the Mono and IL2CPP scripting backends, if you select Development Build. This feature is currently disabled for Intel 32-bit targets and will be restored in a future update.
IL2CPP: Code Coverage requires the Managed Stripping Level set to Minimal (the lowest level available on IL2CPP), because higher levels strip the code and metadata that coverage relies on and produce empty results. The Code Coverage package sets this automatically when it builds the player; to set it manually, go to Player settings > Other Settings > Managed Stripping Level.
Script Debugging
Includes debug symbols in managed assemblies, generates unoptimized code, and defines the
DEBUG
scripting symbol. This is functionally equivalent to setting the Managed Code Variant Player setting to Debug (Edit > Project Settings > Player > Other Settings). For more information, refer to Adding diagnostics to C# code.
This property is available only if you enable Development Build.
Wait for Managed Debugger
Make the Player wait for a debugger to be attached before it executes any script code.
This property is visible only if you enable Script Debugging.
Compression Method
Specifies the method Unity uses to compress the data in your Project when it builds the Player. This includes Assets, Scenes, Player settings, and GI data.
  • Default: On Windows, Mac, Linux Standalone, and iOS, there's no default compression. On Android, the default compression is ZIP, which gives slightly better compression results than LZ4HC. However, ZIP data is slower to decompress.
  • LZ4HC: A high compression variant of LZ4 that is slower to build but produces better results for release builds. For more information, refer to BuildOptions.CompressWithLz4HC.