In this article we give the required steps to get the macOS platform up and running, such that you can target Apple's AppStore (and other platforms, such as Steam or Itch, if you want).
Ensure Your Mac Is Supported By Apple And By GameMaker
Ensure that your Mac meets GM's system requirements before continuing with this guide, as if your macOS version is too old to install a required version of Xcode and/or submit to the App Store, then there is very little support we can offer and you will always be limited to testing your games on your own local Mac and any iOS/tvOS devices you own.
Note that whilst we don't offer any support for your Mac, if you are on an old version of macOS you will find you can run old versions of GameMaker just fine - you just won't be able to send your games to anyone else:
- Catalina and Mojave support ended with 2023.4; therefore, 2023.6 onwards will error on start
- High Sierra support ended with 2023.1.1; therefore, 2023.2.0 onwards will error on start
Whenever possible, we would recommend you leave case-sensitivity off when setting up your macOS machine. GameMaker itself is fine with this setting being on, but we cannot guarantee what external tools/extensions, etc., will require, so it's safest to stay with it off.
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 iOS 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.
You should own a Mac computer and a paid Apple Developer account before beginning any development for macOS/iOS/iPadOS/tvOS.
Ensure You Have An Apple Developer Account
Note that this FAQ 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.)
If you are new to Apple platform development and/or do not have a developer account with Apple, then please see their website and ensure you create an account before proceeding any further with this guide:
https://developer.apple.com/discover/
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 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.
Note that we offer no 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).
Finding Your Apple "Team ID"
You can find your Team ID from the "Membership details" section of your Apple Developers' "Account " 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.
Install A Suitable Version Of Xcode
If you haven't already, you will first need to download and install Xcode onto your Mac, which is what GameMaker will use to build your projects.
Please see our GameMaker Required SDKs FAQ for the current supported versions of Apple's software and what you actually need to install for your chosen version of GameMaker.
You can get the required version of Xcode from the macOS App Store or direct from the developer site here: https://developer.apple.com/xcode/
Be aware that due to the nature of Apple's toolchain and AppStore requirements, the version of Xcode required to be able to submit to the AppStore is periodically raised, and typically new major versions of Xcode support only the most recent 2 or 3 versions of macOS at most. Accordingly, GM's required version of macOS and Xcode has to match this in order to stay AppStore-compliant, which may mean that if you're on an older OS you will need to update or even use a different Mac.
Usually, if you're not building for the AppStore, then you can remain on older versions of Xcode and macOS for a little longer - however, be aware Apple will still impose minimum versions on this also, and there is nothing we can do about it.
Set Up 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:
- Go to Xcode > Preferences.
- At the top of the window, click the Accounts button.
- In the lower-left corner, click the Add button (+) .
- Choose Add Apple ID from the pop-up menu.
In the dialog that appears, enter your Apple Developer ID and password and then click Sign In. Your different certificates will now be retrieved. 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:
Windows/Ubuntu IDE Users: Set Up Communications Between Your Mac And Your PC
(If you are using the Mac IDE, then you can skip this section and go directly to Set Up Your macOS Preferences further down on this page.)
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:
- Select the Remote Login checkbox first then the File Sharing checkbox. In File sharing, click Options.
- Select "Share files and folders using SMB."
- Select the checkbox next to the user account that will be used to share files with Windows users, enter the password for that user, then click OK.
- Click Done.
- Open Network preferences (choose View > Network), select your active connection, then click Advanced.
- 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. (Windows computers normally use either WORKGROUP or MSHOME.)
- Click OK, then click Apply.
Note: we would highly recommend the Mac is using Ethernet to connect to the PC, rather than WiFi, as this can result in issues when building large projects for YYC.
General GameMaker Information
To target macOS from the IDE, you use Target Manager, which is located in the top-right of the main GameMaker workspace:
For the macOS target platform you can see that there are two output options:
- VM - This will build your game using interpreted code.
- YYC - This will build you game using compiled native code.
The VM option will build your game and use interpreted code within a special YoYo Runner. The performance of this target is less optimised than YYC, but it is faster to compile and offers the ability to run in debug mode (when using YYC the debugger will not start). The YYC target however, gives a much greater optimisation (and corresponding performance boost) especially with logic-heavy games, but large projects can take some time to compile.
Adding Your Mac Device(s)
(Mac IDE users: you will already have a "Default" device added automatically by GameMaker, which represents the Mac you're using to run GameMaker, so you can skip this section unless you have a second Mac you want to use to build on instead.)
Still in Target Manager, you can see that there is a section marked Devices. You will need to supply at least one Mac device, so click the small "pencil" button:
This opens the macOS section of Device Manager, where you can add one or more Macs to use as build machines. Click the Add New Device button and then fill out the details (below you can see an example of what information is expected):
The top field, Display Name is simply a name that you can give to the device so that it is easy to identify in the devices list. The Host Name is the IP address or Device Name of the Mac system on the network. The User Name and Password are for the macOS user account that will be used on that Mac. We would recommend that you leave the Install Folder value as the default whenever possible.
NOTE: The Mac's hostname must not have a space or apostrophe in it. Look out for hyphens as well, as they usually replace such bad characters in the hostname. If your hostname cannot be changed, use the IP address instead.
To get the IP address or network name of the Mac system, open the System Preferences app on the Mac and then open the Network component.
When that is setup, you can then click the Test Connection button, and if you have installed all the required packages and the Mac machine 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 Your Platform Preferences
Now that you have set up Xcode on the Mac and selected your build device inside GameMaker, you need to perform one final task before you can start to build and test projects, and that is to set up the macOS Preferences.
So, open Preferences (from the File menu on Windows and the GameMaker menu on Mac) and under Platform Settings > macOS 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 signing certificates to use:
NOTE: You can find your Team ID from the "Membership" section of your Apple Developer Account.
(If you are reading this guide because you were sent here from the iOS or tvOS guide, then as well as configuring macOS above, make sure you also configure iOS/tvOS as you require, as it's the same Team ID value you will need there also...)
You can now click the "Apply" or "OK" buttons, close the preferences and continue on to testing a project.
Testing Your Projects
You are now ready to test your project. Regardless of whether you are on a PC or a Mac, or whether you are using the VM or YYC output, you can simply click the "Play" button on the menubar and the game will quickly build. If all has gone correctly your project should now run (although, with YYC compile times may be longer than for VM).
Note that you can also test your game using the "Debug" button on the menubar. When clicked, this will always run a VM version of the game (there is no YYC debugger) and load the debugger UI inside GameMaker at the same time. The debugger then permits you to see in detail how your game is performing, as well as set breakpoints and use these to check for issues or eliminate bugs. For more information about the debugger and what you can do with it, see the manual. Be aware that running the debugger may require some extra permissions from the OS in terms of allowing firewall access, etc.
Ready To Publish?
When you are ready to publish your macOS app, you will want to compile a final executable package. This is explained in the following article: