Skip to content

macOS GMS2

Gurpreet Singh Matharoo edited this page Jan 20, 2026 · 7 revisions

GameMaker supports macOS (which includes Apple's App Store, plus releasing your game via Steam, Itch.io, and others).

Target Manager (near the top-right corner of GameMaker) contains two export options for this platform:

  • VM - slower in-game performance, but quick to build each time and supports debugger builds
  • YYC - faster in-game performance, especially with logic-heavy games, but much slower to build each time and does not allow debugger builds

The VM target doesn't require you to install anything else on your computer, but if you want to use the YYC target you will need to add some extra build tools to your development computer before you can continue. In this article we give the required steps to set everything up.


Important

Windows/Ubuntu IDE Users: As part of your developer agreement with Apple, you agreed to use a real, physical Mac to build and submit your apps. They have the right to terminate your Apple Developer account and pull any games from the store if they find you in breach. Accordingly, Helpdesk/bug support is only offered for a physical Mac and we will not offer advice to achieve running macOS in a virtual machine.

We also do not give any support/advice for any methods of avoiding the need for a paid Apple Developer account when developing for any Apple targets (even if you're only selling on Steam/Itch, etc., and not actually using the AppStore).

You should own a Mac computer and have a paid Apple Developer account before beginning any development for macOS/iOS/iPadOS/tvOS.



Required Tools Versions

Caution

You must always use the specific tools version(s) advised in this section and do not assume newer versions than we list here "will be even better", as using newer tools than GameMaker knows how to support might introduce build failures you would have easily avoided if you had followed this guide correctly.

XCode:

XCode 16 is strongly recommended, which you should get from the App Store. (If required, you can use the Apple Developer downloads archive to get this.)

Therefore, you will also need macOS Sonoma 14.5 or newer in order to install XCode 16.

If Your Mac Cannot Install XCode 16 Click Here

XCode 14.1 is currently the oldest version allowed by Apple to do any notarisation uploads, so you can go as far back as this, but realistically you likely should install and use at least XCode 16 if at all possible, as iOS and tvOS submission rules require 16.

XCode 14.1 allows as far back as macOS Ventura.

If even this above version of XCode is too new to be supported by your Mac, then old GameMaker versions (such as LTS 2022) will still work for local testing on your Mac, but Apple have stopped your machine from being able to make packages you can send to other people - and there is nothing you/we can do about that.



Ensure You Have A Suitable Apple Developer Account

Note that this guide assumes you already have a paid Apple Developer account, as you will need this if you want to be able to send your games to anyone else (this is nothing to do with GameMaker - it's a requirement of all Apple platform development).

If you are new to Apple platform development and/or do not have a developer account with Apple yet, then please see their website now and ensure you create an account before proceeding any further with this guide: https://developer.apple.com/discover/


Create Your Certificates And App Profiles

Really, you should also create any relevant app IDs/code signing certificates/device profiles that you require before proceeding also, so please see Apple's own support docs on that developer site for how to achieve this - but also be aware that XCode will automate a lot of if for you later on in this guide (if you let it), so you may not wish to do too much in advance of following the guide and trying to build a project for the first time.


Find Your Apple "Team ID"

You can find your Team ID from the "Membership details" section of your Apple Developer profile page: https://developer.apple.com/account

Sign-in if requested and then scroll down the page, past the marketing preferences, to find the section you need. Keep this ID value handy, as you will need to add it into XCode and also GameMaker later on in this guide.



Installing XCode

Once you have downloaded and installed the correct version of XCode, you need to link it with your Apple Developer account so that it can use the required certificates to build your projects. For that you need to follow these steps:

  1. Go to XCode > Preferences.
  2. At the top of the window, click the Accounts button.
  3. In the lower-left corner, click the Add button (+) .
  4. Choose Add Apple ID from the pop-up menu.
  5. In the dialog that appears, enter your Apple Developer ID and password and then click Sign In.

Your different certificates will now be retrieved. Once that finishes, select the Apple ID you just added and then on the right of the window click the Team Name and then the button Show Details. This should show all the different signing identity certificates options that you have just downloaded onto your Mac.

Note

In XCode 26 the account Settings can be now found in XCode > Settings > Apple Accounts. From there you should be able to add your Apple Developer account.



Set Up Remote Access To Your Mac

If you use the Mac IDE to do your builds, then you can skip this section.

Windows IDE (and Ubuntu IDE users) need to set up communications between your Mac and your PC if you wish to trigger your game builds on the remote Windows/Ubuntu machine.

You now need to set up your Mac to permit remote login and file-sharing to and from your PC. This is done by going to the System Preferences app and then clicking Sharing. Now follow these steps:

  1. Select the Remote Login checkbox first, then the File Sharing checkbox.
  2. In File sharing, click Options.
  3. Select "Share files and folders using SMB."
  4. Select the checkbox next to the user account that will be used to share files with remote users, enter the password for that user, then click OK.
  5. Click Done.
  6. Open Network preferences (choose View > Network), select your active connection, then click Advanced.
  7. Click the WINS tab, then enter the workgroup name used by the Windows computer. (If you don't know the workgroup name, on the Windows computer open Control Panel > System and Security > System and find it there - Windows computers normally use either "WORKGROUP" or "MSHOME".)
  8. Click OK
  9. Then click Apply.

Tip

It's recommend the Mac uses Ethernet to connect to the PC, rather than WiFi, as this can result in issues when building large projects with macOS YYC.



Adding Your Mac Device(s)

If you use the Mac IDE to do your builds you will already have a "Default" device added automatically by GameMaker, which represents the Mac you're using to run GameMaker, so unless you have a second Mac you want to build on instead you can skip this section.

Windows IDE (and Ubuntu IDE users) need to set up a Mac device to build on if you wish to trigger your game builds on the remote Windows/Ubuntu machine.

Inside Target Manager, click first on macOS in the left column. Next, there is a column marked Devices and this has a small pencil button at the top. Clicking this button opens Device Manager on its macOS page, where you can add your device(s) to deploy to when building your projects. Click the Add New Device button and then supply the requested details.

Value What You Set It To
Display Name A friendly name of your choosing so that this device is easy to identify in Target Manager
Host Name The IP address or device name of the Mac system on the network - to find these, open System Preferences on the Mac and then open its Network section

NOTE: Your Mac's hostname must not have a space or apostrophe in it, and be aware that hyphens usually signify unsafe characters in the hostname have been substituted but may still block connections. If your Mac's hostname cannot be changed, use its IP address instead.
User Name and Password The details for the macOS user account that will be used to log in to that Mac
Install Folder We would recommend that you leave the value as the default whenever possible, but if you have to pick a different destination for your games you can set this here

When that is setup, you can then click the Test Connection button, and if you have installed all the required packages and the Mac is visible over the network, then it should say all was successful. Now ensure you click the Apply or OK button in Device Manager to save this new device.



Set Up GameMaker's Preferences

You now need to set your values in Preferences > Platform Settings > macOS.

Preference What You Set It To
Default Team Identifier Here, you need to specify your Team ID (which you took a note of already higher up in this guide), as this is what XCode will use to identify you when selecting which of the signing certificates installed on your Mac are to be used
Automatic Packaging Choice Optional, but if you know you will only require a certain packaging type, then you can set this once here and not be asked to pick each build thereafter

You can now click the OK button to close Preferences and continue on to testing a project.

Tip

If you are also going to iOS or tvOS development, then as well as configuring macOS, make sure you also configure iOS/tvOS just now, as it's the same Team ID value you will need to fill in on those tabs.



Testing Your Projects

Once the above sections are completed and you have a project ready for testing, you can open Target Manager and select the Target, Output and Device options that you want to use. You can then click the Run button on the menubar to compile the project.

If all goes well, you should soon see your game project running on your Mac!

Tip

If any build ever fails, please read ALL of the Output Window log to determine why the build failed - do not only look at the two lines at the end, as you're missing the important information which will help you fix the issue right away!


Using The Debugger

When testing VM builds, you can also launch your game in the debugger by using the Debug button on GameMaker's menubar. The debugger allows you to see in detail how your game is performing, as well as set breakpoints and watch variables which will allow you to check for bugs in your code. For more information on how to use the debugger, see the manual by pressing F1 inside GameMaker or opening the Help menu.

Note that YYC builds do not support GameMaker's debugger - if you try to debug when YYC is selected in Target Manager then this will instead show a dialog saying GameMaker will do a VM build this time.

Be aware that running the debugger may require some extra permissions from the OS in terms of allowing firewall access, etc.



Creating Your Store Packages

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.

Steam

For Steam support, see the Steamworks extension and its set-up guide.

Once the .zip has been created, it will need to be “notarized” via Apple’s servers before you will be able to test this application or send it off to Steam. For more information on this process see: macOS : Notarising Your Apps

Once it has been notarized, you can then upload it to Steam in the usual way. For more information see: Uploading to Steam

Mac App Store Testing and 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:

image

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 only use the gamepad API if the connected controller is an official Apple "Steel" series controller, so make sure your projects for the App Store can work with keyboard/mouse only as well as controller.

Now you need to build the archive file by clicking the Create Executable button in the IDE. You can choose to build your file as a .dmg installer or just as the game application wrapped up inside a .zip. You will then be prompted to choose a save location on your PC or Mac for the created files and then the build will commence. When finished, 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 using Apple’s Upload tools 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: Add An App To Your Account Once you have this set up and awaiting submission then you can continue with the build process.

VM Builds

Once you've created your executable, you can upload your build to the App Store using one of Apple’s Upload tools.

You can find more information about uploading builds to the App Store from the following Apple Developers Page: Uploading builds overview.

YYC Builds

When you build using YYC, Xcode will automatically codesign your app and assign it an Xcode managed provisioning profile:

image

NOTE: You are still able to manage certificates on your Apple Dev panel (which may be preferable if you're part of a team and don't want to keep revoking each other's certs), but for most things it's safe to just let Xcode manage signing.

You now need to build it and archive it in Xcode. This is done by going to the Xcode menu and selecting Product > Archive.

When the archive has been built, 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 the Distribute App option, at which point you will be prompted to choose a Distribution Method:

image
  • For apps you want to distribute through the App Store, select the Mac App Store option.
  • For apps that you want to distribute outside of the App Store, you need to select the option Developer ID (see here for more information).
  • For apps that you want to test on registered devices, you need to select the option Development (see here for more information).

After selecting one of the above you will be presented with the option to either Upload or Export. What you choose will depend on what you want to do - upload to the store or export for manual distribution. After selecting one of these options you will have to choose the developer ID to sign the app with (we recommend that you use the Automatic option).

Finally, you will be shown a window with a summary of the package being created:

image

You can now click on Upload / Export option to create the final executable package for your project. When finished your project is ready to submit for publishing.

Clone this wiki locally