Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

EditorExportPlatformMacOS

Inherits: EditorExportPlatform < RefCounted < Object

Exporter for macOS.

Tutorials

Properties

String

application/app_category

String

application/bundle_identifier

String

application/copyright

Dictionary

application/copyright_localized

int

application/export_angle

String

application/icon

int

application/icon_interpolation

String

application/min_macos_version

String

application/short_version

String

application/signature

String

application/version

String

binary_format/architecture

String

codesign/apple_team_id

String

codesign/certificate_file

String

codesign/certificate_password

int

codesign/codesign

PackedStringArray

codesign/custom_options

bool

codesign/entitlements/address_book

bool

codesign/entitlements/allow_dyld_environment_variables

bool

codesign/entitlements/allow_jit_code_execution

bool

codesign/entitlements/allow_unsigned_executable_memory

bool

codesign/entitlements/app_sandbox/device_bluetooth

bool

codesign/entitlements/app_sandbox/device_usb

bool

codesign/entitlements/app_sandbox/enabled

int

codesign/entitlements/app_sandbox/files_downloads

int

codesign/entitlements/app_sandbox/files_movies

int

codesign/entitlements/app_sandbox/files_music

int

codesign/entitlements/app_sandbox/files_pictures

int

codesign/entitlements/app_sandbox/files_user_selected

Array

codesign/entitlements/app_sandbox/helper_executables

bool

codesign/entitlements/app_sandbox/network_client

bool

codesign/entitlements/app_sandbox/network_server

bool

codesign/entitlements/apple_events

bool

codesign/entitlements/audio_input

bool

codesign/entitlements/calendars

bool

codesign/entitlements/camera

String

codesign/entitlements/custom_file

bool

codesign/entitlements/debugging

bool

codesign/entitlements/disable_library_validation

bool

codesign/entitlements/location

bool

codesign/entitlements/photos_library

String

codesign/identity

String

codesign/installer_identity

String

codesign/provisioning_profile

String

custom_template/debug

String

custom_template/release

int

debug/export_console_wrapper

bool

display/high_res

int

export/distribution_type

String

notarization/api_key

String

notarization/api_key_id

String

notarization/api_uuid

String

notarization/apple_id_name

String

notarization/apple_id_password

int

notarization/notarization

String

privacy/address_book_usage_description

Dictionary

privacy/address_book_usage_description_localized

String

privacy/calendar_usage_description

Dictionary

privacy/calendar_usage_description_localized

String

privacy/camera_usage_description

Dictionary

privacy/camera_usage_description_localized

String

privacy/desktop_folder_usage_description

Dictionary

privacy/desktop_folder_usage_description_localized

String

privacy/documents_folder_usage_description

Dictionary

privacy/documents_folder_usage_description_localized

String

privacy/downloads_folder_usage_description

Dictionary

privacy/downloads_folder_usage_description_localized

String

privacy/location_usage_description

Dictionary

privacy/location_usage_description_localized

String

privacy/microphone_usage_description

Dictionary

privacy/microphone_usage_description_localized

String

privacy/network_volumes_usage_description

Dictionary

privacy/network_volumes_usage_description_localized

String

privacy/photos_library_usage_description

Dictionary

privacy/photos_library_usage_description_localized

String

privacy/removable_volumes_usage_description

Dictionary

privacy/removable_volumes_usage_description_localized

String

ssh_remote_deploy/cleanup_script

bool

ssh_remote_deploy/enabled

String

ssh_remote_deploy/extra_args_scp

String

ssh_remote_deploy/extra_args_ssh

String

ssh_remote_deploy/host

String

ssh_remote_deploy/port

String

ssh_remote_deploy/run_script

String

xcode/platform_build

String

xcode/sdk_build

String

xcode/sdk_name

String

xcode/sdk_version

String

xcode/xcode_build

String

xcode/xcode_version


Property Descriptions

String application/app_category

Application category for the App Store.


String application/bundle_identifier

Unique application identifier in a reverse-DNS format, can only contain alphanumeric characters (A-Z, a-z, and 0-9), hyphens (-), and periods (.).


Copyright notice for the bundle visible to the user (in English).


Copyright notice for the bundle visible to the user (localized).


int application/export_angle

If set to 1, ANGLE libraries are exported with the exported application. If set to 0, ANGLE libraries are exported only if ProjectSettings.rendering/gl_compatibility/driver is set to "opengl3_angle".


String application/icon

Application icon file. If left empty, it will fallback to ProjectSettings.application/config/macos_native_icon, and then to ProjectSettings.application/config/icon.


int application/icon_interpolation

Interpolation method used to resize application icon.


String application/min_macos_version

Minimum version of macOS required for this application to run in the major.minor.patch or major.minor format, can only contain numeric characters (0-9) and periods (.).


String application/short_version

Application version visible to the user, can only contain numeric characters (0-9) and periods (.). Falls back to ProjectSettings.application/config/version if left empty.


String application/signature

A four-character creator code that is specific to the bundle. Optional.


String application/version

Machine-readable application version, in the major.minor.patch format, can only contain numeric characters (0-9) and periods (.). This must be incremented on every new release pushed to the App Store.


String binary_format/architecture

Application executable architecture.

Supported architectures: x86_64, arm64, and universal (x86_64 + arm64).

Official export templates include universal binaries only.


String codesign/apple_team_id

Apple Team ID, unique 10-character string. To locate your Team ID check "Membership details" section in your Apple developer account dashboard, or "Organizational Unit" of your code signing certificate. See Locate your Team ID.


String codesign/certificate_file

PKCS #12 certificate file used to sign .app bundle.

Can be overridden with the environment variable GODOT_MACOS_CODESIGN_CERTIFICATE_FILE.


String codesign/certificate_password

Password for the certificate file used to sign .app bundle.

Can be overridden with the environment variable GODOT_MACOS_CODESIGN_CERTIFICATE_PASSWORD.


int codesign/codesign

Tool to use for code signing.


PackedStringArray codesign/custom_options

Array of the additional command line arguments passed to the code signing tool.


bool codesign/entitlements/address_book

Enable to allow access to contacts in the user's address book, if it's enabled you should also provide usage message in the privacy/address_book_usage_description option. See com.apple.security.personal-information.addressbook.


bool codesign/entitlements/allow_dyld_environment_variables

Allows app to use dynamic linker environment variables to inject code. If you are using add-ons with dynamic or self-modifying native code, enable them according to the add-on documentation. See com.apple.security.cs.allow-dyld-environment-variables.


bool codesign/entitlements/allow_jit_code_execution

Allows creating writable and executable memory for JIT code. If you are using add-ons with dynamic or self-modifying native code, enable them according to the add-on documentation. See com.apple.security.cs.allow-jit.


bool codesign/entitlements/allow_unsigned_executable_memory

Allows creating writable and executable memory without JIT restrictions. If you are using add-ons with dynamic or self-modifying native code, enable them according to the add-on documentation. See com.apple.security.cs.allow-unsigned-executable-memory.


bool codesign/entitlements/app_sandbox/device_bluetooth

Enable to allow app to interact with Bluetooth devices. This entitlement is required to use wireless controllers. See com.apple.security.device.bluetooth.


bool codesign/entitlements/app_sandbox/device_usb

Enable to allow app to interact with USB devices. This entitlement is required to use wired controllers. See com.apple.security.device.usb.


bool codesign/entitlements/app_sandbox/enabled

Enables App Sandbox. The App Sandbox restricts access to user data, networking, and devices. Sandboxed apps can't access most of the file system, can't use custom file dialogs and execute binaries outside the .app bundle. See App Sandbox.

Note: To distribute an app through the App Store, you must enable the App Sandbox.


int codesign/entitlements/app_sandbox/files_downloads

Allows read or write access to the user's "Downloads" folder. See com.apple.security.files.downloads.read-write.


int codesign/entitlements/app_sandbox/files_movies

Allows read or write access to the user's "Movies" folder. See com.apple.security.files.movies.read-write.


int codesign/entitlements/app_sandbox/files_music

Allows read or write access to the user's "Music" folder. See com.apple.security.files.music.read-write.


int codesign/entitlements/app_sandbox/files_pictures

Allows read or write access to the user's "Pictures" folder. See com.apple.security.files.pictures.read-write.


int codesign/entitlements/app_sandbox/files_user_selected

Allows read or write access to the locations the user has selected using a native file dialog. See com.apple.security.files.user-selected.read-write.


Array codesign/entitlements/app_sandbox/helper_executables

List of helper executables to embedded to the app bundle. Sandboxed app are limited to execute only these executable. See Embedding a command-line tool in a sandboxed app.


bool codesign/entitlements/app_sandbox/network_client

Enable to allow app to establish outgoing network connections. See com.apple.security.network.client.


bool codesign/entitlements/app_sandbox/network_server

Enable to allow app to listen for incoming network connections. See com.apple.security.network.server.


bool codesign/entitlements/apple_events

Enable to allow app to send Apple events to other apps. See com.apple.security.automation.apple-events.


bool codesign/entitlements/audio_input

Enable if you need to use the microphone or other audio input sources, if it's enabled you should also provide usage message in the privacy/microphone_usage_description option. See com.apple.security.device.audio-input.


bool codesign/entitlements/calendars

Enable to allow access to the user's calendar, if it's enabled you should also provide usage message in the privacy/calendar_usage_description option. See com.apple.security.personal-information.calendars.


bool codesign/entitlements/camera

Enable if you need to use the camera, if it's enabled you should also provide usage message in the privacy/camera_usage_description option. See com.apple.security.device.camera.


String codesign/entitlements/custom_file

Custom entitlements .plist file, if specified the rest of entitlements in the export config are ignored.


bool codesign/entitlements/debugging

You can temporarily enable this entitlement to use native debugger (GDB, LLDB) with the exported app. This entitlement should be disabled for production export. See Embedding a command-line tool in a sandboxed app.


bool codesign/entitlements/disable_library_validation

Allows app to load arbitrary libraries and frameworks (not signed with the same Team ID as the main executable or by Apple). Enable it if you are using GDExtension add-ons or ad-hoc signing, or want to support user-provided external add-ons. See com.apple.security.cs.disable-library-validation.


bool codesign/entitlements/location

Enable if you need to use location information from Location Services, if it's enabled you should also provide usage message in the privacy/location_usage_description option. See com.apple.security.personal-information.location.


bool codesign/entitlements/photos_library

Enable to allow access to the user's Photos library, if it's enabled you should also provide usage message in the privacy/photos_library_usage_description option. See com.apple.security.personal-information.photos-library.


String codesign/identity

The "Full Name", "Common Name" or SHA-1 hash of the signing identity used to sign .app bundle.


String codesign/installer_identity

The "Full Name", "Common Name" or SHA-1 hash of the signing identity used to sign .pkg installer package for App Store distribution, use 3rd Party Mac Developer Installer: Name. identity.


String codesign/provisioning_profile

Provisioning profile file downloaded from Apple developer account dashboard. See Edit, download, or delete provisioning profiles.

Can be overridden with the environment variable GODOT_MACOS_CODESIGN_PROVISIONING_PROFILE.


String custom_template/debug

Path to the custom export template. If left empty, default template is used.


String custom_template/release

Path to the custom export template. If left empty, default template is used.


int debug/export_console_wrapper

If enabled, a wrapper that can be used to run the application with console output is created alongside the exported application.


bool display/high_res

If true, the application is rendered at native display resolution, otherwise it is always rendered at loDPI resolution and upscaled by OS when required.


int export/distribution_type

Application distribution target.


String notarization/api_key

Apple App Store Connect API issuer key file.

Can be overridden with the environment variable GODOT_MACOS_NOTARIZATION_API_KEY.


String notarization/api_key_id

Apple App Store Connect API issuer key ID.

Can be overridden with the environment variable GODOT_MACOS_NOTARIZATION_API_KEY_ID.


String notarization/api_uuid

Apple App Store Connect API issuer UUID.

Can be overridden with the environment variable GODOT_MACOS_NOTARIZATION_API_UUID.


String notarization/apple_id_name

Apple ID account name (email address).

Can be overridden with the environment variable GODOT_MACOS_NOTARIZATION_APPLE_ID_NAME.


String notarization/apple_id_password

Apple ID app-specific password.

Can be overridden with the environment variable GODOT_MACOS_NOTARIZATION_APPLE_ID_PASSWORD.


int notarization/notarization

Tool to use for notarization.


String privacy/address_book_usage_description

A message displayed when requesting access to the user's contacts (in English).


Dictionary privacy/address_book_usage_description_localized

A message displayed when requesting access to the user's contacts (localized).


String privacy/calendar_usage_description

A message displayed when requesting access to the user's calendar data (in English).


Dictionary privacy/calendar_usage_description_localized

A message displayed when requesting access to the user's calendar data (localized).


String privacy/camera_usage_description

A message displayed when requesting access to the device's camera (in English).


Dictionary privacy/camera_usage_description_localized

A message displayed when requesting access to the device's camera (localized).


String privacy/desktop_folder_usage_description

A message displayed when requesting access to the user's "Desktop" folder (in English).


Dictionary privacy/desktop_folder_usage_description_localized

A message displayed when requesting access to the user's "Desktop" folder (localized).


String privacy/documents_folder_usage_description

A message displayed when requesting access to the user's "Documents" folder (in English).


Dictionary privacy/documents_folder_usage_description_localized

A message displayed when requesting access to the user's "Documents" folder (localized).


String privacy/downloads_folder_usage_description

A message displayed when requesting access to the user's "Downloads" folder (in English).


Dictionary privacy/downloads_folder_usage_description_localized

A message displayed when requesting access to the user's "Downloads" folder (localized).


String privacy/location_usage_description

A message displayed when requesting access to the user's location information (in English).


Dictionary privacy/location_usage_description_localized

A message displayed when requesting access to the user's location information (localized).


String privacy/microphone_usage_description

A message displayed when requesting access to the device's microphone (in English).


Dictionary privacy/microphone_usage_description_localized

A message displayed when requesting access to the device's microphone (localized).


String privacy/network_volumes_usage_description

A message displayed when requesting access to the user's network drives (in English).


Dictionary privacy/network_volumes_usage_description_localized

A message displayed when requesting access to the user's network drives (localized).


String privacy/photos_library_usage_description

A message displayed when requesting access to the user's photo library (in English).


Dictionary privacy/photos_library_usage_description_localized

A message displayed when requesting access to the user's photo library (localized).


String privacy/removable_volumes_usage_description

A message displayed when requesting access to the user's removable drives (in English).


Dictionary privacy/removable_volumes_usage_description_localized

A message displayed when requesting access to the user's removable drives (localized).


String ssh_remote_deploy/cleanup_script

Script code to execute on the remote host when app is finished.

The following variables can be used in the script:

  • {temp_dir} - Path of temporary folder on the remote, used to upload app and scripts to.

  • {archive_name} - Name of the ZIP containing uploaded application.

  • {exe_name} - Name of application executable.

  • {cmd_args} - Array of the command line argument for the application.


bool ssh_remote_deploy/enabled

Enables remote deploy using SSH/SCP.


String ssh_remote_deploy/extra_args_scp

Array of the additional command line arguments passed to the SCP.


String ssh_remote_deploy/extra_args_ssh

Array of the additional command line arguments passed to the SSH.


String ssh_remote_deploy/host

Remote host SSH user name and address, in user@address format.


String ssh_remote_deploy/port

Remote host SSH port number.


String ssh_remote_deploy/run_script

Script code to execute on the remote host when running the app.

The following variables can be used in the script:

  • {temp_dir} - Path of temporary folder on the remote, used to upload app and scripts to.

  • {archive_name} - Name of the ZIP containing uploaded application.

  • {exe_name} - Name of application executable.

  • {cmd_args} - Array of the command line argument for the application.


String xcode/platform_build

macOS build number used to build application executable.


String xcode/sdk_build

macOS SDK build number used to build application executable.


String xcode/sdk_name

macOS SDK name used to build application executable.


String xcode/sdk_version

macOS SDK version used to build application executable in the major.minor format.


String xcode/xcode_build

Xcode build number used to build application executable.


String xcode/xcode_version

Xcode version used to build application executable.