macOS: Compiling Your App

This article outlines how to create a final executable package for the macOS Desktop target. You must have set up your macOS target correctly before continuing. For more information see:

When it comes time to create your final executable package for your macOS project, you will first need to make sure that the Game Options are correct before continuing. The most important things to do are to make sure that you have an appropriate App ID in the Game Options (although all the details for the different tabs should be filled out too), and you'll then need to decide what kind of executable package you want to build:

  • For Steam
  • For the Mac App Store
  • For general distribution
  • For testing

We'll now explain the process for each of these different options.


To build a package for Steam you must first have made sure that the SteamWorks SDK is installed and visible to GameMaker Studio 2. This is done from the Preferences > Platform Settings > Steam:

Once that is done, you will need to go to the Game Options > General and add in the App ID for your game project (as listed in the SteamWorks control panel), and then go to Platform Settings > macOS > General section and tick "Enable Steam":

Finally, you must ensure that you are not building an app for the Mac App Store. This is ensured by un-checking the Build For Mac App Store checkbox in the Packaging section of the macOS Game Options:

Once that is done (and once you have filled out the rest of the Game Options details), you can then build an executable for the Steam platform. When you click the Create Executable button in the IDE, you will be prompted to give a save location for the Steamworks files. This will be where GameMaker Studio 2 creates and saves the <GameName> file. Once the ZIP has been created, it can be extracted to the Steamworks build directory, ready for uploading to the store.

Mac App Store / Testing / General Distribution

Regardless of whether you want to build a test app or a final executable, the first thing you will have to do is build your Archive file. If you want to build an archive for the Mac App Store, then you will need to check the box in the Game Options to enable this, as well as select the appropriate permissions:

If the project is for testing or for distribution outside of the Mac App Store, then you should leave this unchecked.

IMPORTANT! Projects that are built for the Mac App Store will not use the gamepad API, so make sure your projects for the App Store are keyboard/mouse only.

Now you need to build the archive file by clicking the Create Executable button in the IDE. You will be prompted to choose a save location on your PC or Mac for the created files, and then the build will commence and when finalised, one of two things will happen:

  • If you have built using the VM then you will now have your final executable for Mac, ready for distribution or uploading to the store. The VM does not open Xcode and will automatically sign your app for you, and you can then upload it to the app store from iTunes or distribute it how you choose.

  • If you are building using the YYC, then your app project will be pushed to Xcode and you should follow the next set of instructions below.

If you are building for the Mac App Store, then before you go any further you need to make sure that you have created an App Listing on the store. You can find information on how to do this from the following Apple Developer page: Creating An iTunes Connect Record For An App Once you have this set up then you can continue with the build process.

Regardless of whether you are distributing to the App store or not you now need to sign the Application from within Xcode (when using the YYC target only), so go to the General page and then select Enable Development Signing:

You will then be prompted to select a Signing Identity with which to sign the app, so select the one for the team that you wish to use to sign with and Xcode will automatically create the necessary certificates:

NOTE: Xcode 8 has automatic signing and this should always be used where possible.

Once you have signed the app, you need to build it and archive it in Xcode. This is done by going to the Xcode menu and selecting Product > Archive. When finished the Archive Organiser will open (this can also be opened by going to Windows > Organiser) and you can see your built app there:

Here you can choose to Export the app, or Upload To The App Store. If you want to test the app or distribute outside of the App Store then you should choose the Export option, at which point you will be prompted to choose an Export Method:

For apps that you want to distribute outside of the App Store, you need to select the option Export A Developer ID-signed Application (see here for more information).

For apps that you want to test on registered devices, you need to select the option Export A Development-signed Application (see here for more information).

After selecting one of the above you will have to choose the developer ID to sign the app with and then you will be shown a window with a summary of the package being created:

You can now click on Export to create the final executable package for your project. You will be prompted to supply a developer identity to sign the app with, and then a summary of the package being built will be shown (as illustrated above), only now you will have a button labelled Upload. Clicking that will then upload your package to the Mac App Store.



Have more questions? Submit a request


Article is closed for comments.