Your protection settings blocking files from being written/read at various stages of using GameMaker. is an extremely common source of "bug" reports. This can range from not being able to log in to the IDE, through not being able to download your runtimes, to not being able to save projects, and all the way to things you may not initially think were your OS permissions - such as sounds/sprites not appearing in-game when you build your projects.
When installing GameMaker for the first time and after each update, it is vital that you confirm your OS folder permissions and also your antivirus clients, firewalls, proxy servers, etc., are all still correctly set up for your GameMaker install.
All of this guide can be followed by any user, regardless of GM version.
As we do not have access to your machine, our support teams are unable to determine issues with protection software beyond what is written in this guide. We will not offer any additional guidance on operating system user permissions, proxy server settings or VPNs, firewalls, or anti-virus. For Educational users, this includes situations such as "why one machine or student in a classroom doesn't work when the others do", or "why a teacher can do something and a student cannot" - for these, please ask the person who usually configures the machine instead.
Before You Begin...
Confirm your system clock, date and timezone are actually correct, as all file saving/loading relies on accurate timestamps. Your OS clock being wrong can mean that GameMaker will incorrectly think files are/are not modified.
For this same timestamps reason, when installed on Windows, GameMaker requires NTFS-formatted drives for all save/load locations.
Table Of Contents
This is a long article, but one we recommend new users follow from top-to-bottom and ensure they're definitely all good to go before they start using GameMaker, as the information in this guide is so often overlooked and then a support ticket or bug report is created when your answer was here all along; however, if you want to jump to a specific section then you can do so by clicking the links below.
- Performing Your Installation
- GameMaker's Default Folders It Will Access
- Configuring Your Antivirus Client For These Defaults
- Installing Your Runtime Tools (And Configuring Antivirus)
- Websites And Ports Which GameMaker Needs To Be Able To Access (Including Getting Your Licence!)
- Steam Client Dictates If GameMaker Is Online Or Not
- Network Ports Required By The Debugger
- Network Ports Required By The Micro Web Server Used For The Manual, HTML5 and GX.Games
- Network Ports Required By The MQTT Server Used For Detecting Testing Devices On GX.Games
- Websites And Ports Required By The Manual
- Customising Your Project Save Locations
- Why You Should NOT Use OneDrive/Google Drive/Dropbox, et. al To Store Your Project Source Files
- Configuring GameMaker's File Watcher ("Project Has Been Modified" Popups)
- A Reminder To Not Run Disk Intensive System-Wide Tasks At The Same Time As Using GameMaker
There are also several specific "Troubleshooting" guides relating to operating system permissions which you may wish to see:
- Dropping Files Onto GameMaker From Windows Explorer Does Not Create New Assets
- macOS games do not actually appear at the end of a "successful" run
- macOS Proxy Server Certificate Authentication (GMS2 v2.3.0 and older)
- macOS Keychain Certificates For Our Websites Can Expire If Set To Be Trusted By Your Mac
- Windows 7 users may need to install an Windows Update package to fix certificate issues
Installation
Installation may be required by your system to be performed by an administrator account (in general, we don't recommend this), as:
- On Windows, the installer will detect if additional external software packages are required to be installed in Windows in order to have a working GameMaker install
- On macOS and Ubuntu, the installers will run a post-install shell script to ensure the folders and tools GameMaker just installed are able to be used
Do not run GameMaker itself in admin mode after you have successfully installed it, as this can cause permission problems during routine use.
Choose your install location during the installer, however be aware GameMaker does not support remote/portable drive installations or any form of thin-client systems.
Be aware also that this only affects the location of GameMaker itself - it does not affect the default locations of GameMaker's various tools/settings folders or your project save areas (which are all documented further down on this page).
Educational Users: There is no distributed/automated installation facility and so initial installation, licensing and runtime installation will have to be carried out at each machine. You can, however, download your runtimes once and then pass these around on your network - see this FAQ on how to download your runtimes as a .zip.
Folder Access
All users on the machine will need full read+write access to all of these locations, otherwise GameMaker may fail to authenticate or may not be able to build projects.
System Settings
GameMaker's own settings, the tools it uses to build your projects, and information on your testing devices lives in the following location:
- On Windows, C:\ProgramData\GameMakerStudio2
- On macOS, /Users/Shared/GameMakerStudio2/ (Macintosh HD > Users > Shared > GameMakerStudio2)
- On Ubuntu, /var/opt/GameMakerStudio2 OR some newer Ubuntu versions use ~/.local/share/GameMakerStudio2
User Settings
Each user's own preferences and settings, plus information on the projects they have worked on lives here:
- On Windows, %AppData%\GameMakerStudio2 (AKA C:\Users\[Windows username]\AppData\Roaming\GameMakerStudio2)
- On Mac: ~/.config/GameMakerStudio2/[your GameMaker username]/ OR some newer macOS versions use /Users/[your Mac username]/Library/Application Support/GameMakerStudio2/[your GameMaker username]/ instead. (Note that .config is hidden by default, so you need to open Finder and then press Shift + Cmd + . to toggle showing hidden files and folders.)
- On Ubuntu, /opt/GameMakerStudio2 (note that this path is very similar to GameMaker's program data path mentioned above, so be careful that you're looking at the correct one) OR some newer Ubuntu versions use /home/.config/GameMakerStudio2
Each GM account which uses the machine will create a separate user settings folder within the location above.
GameMaker Preferences for Build Folders and Save Locations
A number of locations can be configured by you after GameMaker has been installed and started once. You will find these settings in Preferences, as shown below (your values will be different!):
GameMaker's build locations default to:
- On Windows, Temp is %LocalAppData%\GameMakerStudio2 and your build cache is %AppData%\GameMakerStudio2\Cache
- On macOS, the Temp folder path is determined by the user and a randomly-generated value, so we can't document this as part of this guide. You will need to open Preferences after GameMaker has been installed and get the location from there. The build cache folder is /Users/[OS username]/.config/GameMakerStudio2/Cache
- On Ubuntu, Temp is /tmp/GameMakerStudio2 and the build cache folder is /home/[OS username]/.config/GameMakerStudio2/Cache
Each user's own project save locations default to:
- On Windows, C:\Users\[OS username]\GameMakerProjects
- On macOS, /Users/[OS username]/GameMakerStudio2
- On Ubuntu, /home/[OS username]/Documents/GameMakerStudio2
Note that after following this guide you might need to clean your project cache via the button inside GameMaker or by manually removing the cache files in the folders mentioned above before you try building it again, so you may wish to clear any stale files out just now.
Setting Your Antivirus Exceptions
If you're using an antivirus client, then likely you will need to add the folders mentioned above to your antivirus client's exclusions list also, as your protection software locking your project/build files will often increase build times and occasionally cause build failures.
Always try to make the exceptions as high-level as you can and for a whole folder whenever possible, as that saves you having to micro-manage individual files.
(Here, we show two popular Windows antivirus products and quick examples of where to configure them)
The Runtime Tools
GameMaker relies on three essential executables in your runtimes installation folder in order to compile your projects and deploy/run your game. These are GMAssetCompiler, Igor, and Runner.
Although the previous section of this guide talked about ensuring access to GameMaker's folders, if you find your projects still fail to build and run correctly you may need to configure your antivirus/firewall for these applications individually.
Windows IDE
C:\ProgramData\GameMakerStudio2\Cache\runtimes\[your runtime version number]\
- bin\assetcompiler\windows\x64\GMAssetCompiler.exe
- bin\assetcompiler\windows\x64\GMAssetCompiler.dll
- bin\igor\windows\x64\Igor.exe
- bin\igor\windows\x64\Igor.dll
- windows\x64\Runner.exe
Mac IDE
/Users/Shared/GameMakerStudio2/Cache/runtimes/[your runtime version number]/
- bin/assetcompiler/osx/arm64/GMAssetCompiler.exe (M-series Macs)
- bin/assetcompiler/osx/arm64/GMAssetCompiler.dll (M-series Macs)
- bin/igor/osx/arm64/Igor.exe (M-series Macs)
- bin/igor/osx/arm64/Igor.dll (M-series Macs)
- bin/assetcompiler/osx/x64/GMAssetCompiler.exe (Intel Macs)
- bin/assetcompiler/osx/x64/GMAssetCompiler.dll (Intel Macs)
- bin/igor/osx/x64/Igor.exe (Intel Macs)
- bin/igor/osx/x64/Igor.dll (Intel Macs)
- mac/Mac-YoYoRunner-Release.dmg
- mac/Application-Oven-1.0.dmg
Ubuntu Beta IDE
/var/opt/GameMakerStudio2/Cache/runtimes/[your runtime version number]/
- bin/assetcompiler/linux/x64/GMAssetCompiler.exe
- bin/assetcompiler/linux/x64/GMAssetCompiler.dll
- bin/igor/linux/x64/Igor.exe
- bin/igor/linux/x64/Igor.dll
- linux/runner.zip (just in case your AV provider really needs this one)
If you are already having issues where your project compiles stop early in the build process, then ensure your antivirus client has not already removed any of these tools - for more info on how to do this, please see Fixing Quarantine Issues In Antivirus Products
Network / Internet Access
Installation is not complete until you have downloaded your runtime files, and in order to do this you will also have to successfully log in to our accounts server to complete a licensing request.
if you can, we would recommend you simply allow access to *.gamemaker.io, *.yoyogames.com, *.opera-api.com, and api.mixpanel.com
Ports 80 and 443 are required to run GameMaker, so you should also ensure that these are open in any firewall.
If you have to specify all addresses individually you will always need to allow access to:
- https://accounts.yoyogames.com
- https://accounts.yoyogames.com/api/health-check
- https://marketplace.yoyogames.com/api/health-check
- oauth2.opera-api.com/*
- api.mixpanel.com/*
- https://www.yoyogames.com
- https://releases.gamemaker.io
- https://marketplace.yoyogames.com if you want to download the Templates offered on the Start Page within GameMaker (or actually use the Marketplace)
-
GameMaker does also use a small handful of third-party websites in order to confirm if the machine has internet access. We would recommend that you allow at least one of these, as it helps GameMaker confirm if there is internet access but that our server is offline, and it will avoid unnecessary authentication attempts during these situations.
- https://www.google.com Please note that Google then performs its own redirection to your "local" Google domain (e.g., here in the UK we are redirected from .com to .co.uk) and you will need to allow this also in order for Google to register as online for you.
- https://www.baidu.com
- https://www.yandex.ru
If you're using the Monthly install, then you will also need to allow these:
- https://gms.yoyogames.com/update-win.rss (Windows IDE)
- https://gms.yoyogames.com/update-mac.rss (macOS IDE)
- https://gms.yoyogames.com/Zeus-Runtime.rss
- https://gms.yoyogames.com/ReleaseNotes.html
- https://gms.yoyogames.com/release-notes-runtime.html
If you're using the LTS install, then you will also need to allow these:
- https://gms.yoyogames.com/update-win-LTS.rss (Windows IDE)
- https://gms.yoyogames.com/update-mac-LTS.rss (macOS IDE)
- https://gms.yoyogames.com/Zeus-Runtime-LTS.rss
- https://gms.yoyogames.com/ReleaseNotes-LTS.html
- https://gms.yoyogames.com/release-notes-runtime-LTS.html
If you're using the Beta install, then you will also need to allow these:
- https://gms.yoyogames.com/update-win-NuBeta.rss (Windows IDE)
- https://gms.yoyogames.com/update-mac-NuBeta.rss (macOS IDE)
- https://gms.yoyogames.com/update-linux-NuBeta.rss (Ubuntu IDE)
- https://gms.yoyogames.com/Zeus-Runtime-NuBeta.rss
- https://gms.yoyogames.com/release-notes-runtime-NuBeta.html
For the online manual, please allow the following sites. (See the Manual and Micro Web Server section further down this guide for more details about the manual.)
- The English manual can be found at https://manual.gamemaker.io/monthly/en/#t=Content.htm
- There are a number of other languages which we translate the manual into - if you want to use one of these, then of course you should add its URL to your exceptions also (you should always allow the English one shown above).
Proxy server users: please see our FAQ for this, as this may need to be configured before you will be able to authenticate successfully.
Windows 7 users: you may nowadays have issues getting our current webserver SSL certificates, as Microsoft has long ago stopped supporting Windows 7. Please see the troubleshooting section at the bottom of this page if you're always unable to reach some/any of the sites above even when opening them in your browser.
Internet Requirements for Licensing
GameMaker's stated requirements are for an always-on internet connection, however in practice you can often run offline for extensive periods of time.
Of course, without internet access you will not be able to update your subscription if you buy new products, download any new/updated demos or tutorials, or access our Marketplace.
Be aware GameMaker will require internet access at least once every 28 days in order to avoid your account information timing-out.
Steam Client Online/Offline Setting
Please note that if you're using the Steam version it will follow Steam's own settings for whether online activity is allowed or not. Whilst this is usually fine nowadays, offline mode can cause issues with licensing and with downloading files - especially if using older versions of GameMaker and/or not the current version of Steam itself.
If you have any issues please set your Steam client to be online, as in general our advice remains if Steam is set to offline mode then GameMaker will also be in offline mode.
The In-IDE Debugger
There is no separate module for the debugger - it's the GameMaker executable itself, but if you have to open specific ports for GameMaker, then be aware that for the debugger to connect to devices you will need to allow this also.
Remember that you may need to apply the same firewall rule to the game application if it is installed on this machine also, otherwise you won't have two-way traffic.
The default Preference is configured to use TCP 6509, but if you want to change this before you configure your firewall, you can. Whichever port you set here will always be the first one the IDE attempts to use, but it will try the next three sequential ports if it can't connect (e.g. 6509 - 6513):
You'll know if this is your issue, because your Output Window will have something like the following text and the debugger won't connect:
Start debug server
Creating Debugger server port:6509
Error: Can't listen to socket
cannot listen on selected port
Creating Debugger server port:6510
Error: Can't listen to socket
cannot listen on selected port
Creating Debugger server port:6511
Error: Can't listen to socket
cannot listen on selected port
Creating Debugger server port:6512
Error: Can't listen to socket
cannot listen on selected port
Creating Debugger server port:6513
Error: Can't listen to socket
cannot listen on selected port
[DbgServer]Failed
The Micro Web Server (used to show the manual and by the GX.games/HTML5 targets)
You may see a network access request by the micro web server application the first time you try to open the manual or build any project for HTML5 or GX.games - you must allow this otherwise your system will block the web server from working.
Similarly, if you are using a firewall you may see a warning on starting GameMaker that the webserver port you have set in Preferences is currently blocked - you must manually add a firewall rule to allow GameMaker to access the ports required, as GameMaker will not dynamically create these rules for you.
For HTML5 and GX.games, that should be all you need to do; however, if your network setup blocks any of this, then you can customise the settings for the webserver in your Preferences for the relevant platform. (Here, we show HTML5.)
The MQTT Server
GameMaker will also run a server in the background so you can deploy your GX.games projects automatically on any Android and iOS mobile devices you have connected to GameMaker. If the MQTT server is blocked, then you will not be able to detect Android/iOS phones to deploy GX.games builds onto at the end of your builds (which is entirely up to you).
This will likely cause a local network access firewall prompt the first time you start any version of GameMaker (starting with the 2022.11.0 release).
Firewalling this application can also cause an "Unstable" message to be shown when starting some 2022.11 -> 2023.8 versions of GameMaker.
If you have any network/firewall issues with trying to use this functionality, please see our guide about this server.
The Manual
There is an important distinction to make here before we begin:
- all current year.month style releases and all the way back to v2.3.1, the manual does not ship as part of the GameMaker installer and instead GameMaker will ask you the first time you try to open the manual whether you are happy continuing with using the online website or if you want to download a copy of the whole manual to your computer just now and then use it offline in future
- v2.3.0 and older, you can skip the rest of this section, as the manual is part of your GameMaker installation and does not require any internet access, nor do you have the ability to update your copy of the manual later on
The websites will always be the content for the current Monthly/Beta/LTS release (depending on which URL you visited), so bear this in mind if you want to use older GameMaker releases
Offline manuals will always be the latest version available at the time you last chose to download a manual, so bear this in mind if you want to use older or newer GameMaker releases
Be aware we will generally only publish an updated copy of the downloadable zips each time we do a major release, but on the odd occasion there is a major change required to the manual to correct wrong/missing information then we will of course do an interim release - at which point GameMaker will notify you a new manual is available for download.
Offline Manual Port Setting
The offline manual is a .zip file and each page you open is loaded into your default web browser via the micro web server.
The default port used for serving the offline manual is 51290, but this can be changed in Preferences > General > Help:
Changing Your Project Save Locations
If you change your default save location, we recommend using a folder on the main OS drive (the same disk GameMaker is likely installed on).
Be aware your choice of save location can impact on build times and can in some extreme cases cause saving issues, so we do NOT recommend any of the following:
-
Network Drives
The extra latency involved in this will impact build times (potentially substantially) and may also cause issues for the file watcher, as described in the next section of this FAQ.
-
USB Drives
We do not recommend using detachable USB drives for build folders at all (even if they are high-speed devices).
-
OneDrive/Dropbox/Google Drive/iCloud, et al.
We strongly advise against using these external applications to host your project source, as they will lock your files in order to do their own job of syncing your files with the cloud.
This can often cause: builds to fail or have stale content, newly-created assets "disappearing" after you close GameMaker, changes made to your project being undone/removed stuff coming back, and in extreme circumstances can result in entire project corruption errors.
These are all beyond GameMaker's ability to fix, as it's an external program correctly editing the files as you asked it to do (in some cases when GameMaker isn't even open), so it's far safer to just not use these locations.
Be aware that in Windows 11 and 10, following various Windows Updates versions, OneDrive will ask you if you want it to manage parts of your user folder and if you say yes then "My Documents" is placed inside your OneDrive. GameMaker has been changed to avoid this, but if you're already in this situation and your GM Preferences still point to My Documents, then we would recommend you move your projects to a different place and then you change GameMaker's Preferences to match wherever you chose
If you want a shared location to work as a team, we would always suggest a proper online source control service like Github (other providers are also available, but we use GitHub ourselves within GameMaker for bug-reporting).
If for some reason you cannot use these free and reliable online hosting services, team members should always instead work on copies of the project locally on their machines, then Export and share only GameMaker's .yyz archive files in these shared/networked locations.
The File Watcher
GameMaker can monitor your project's save area on disk for external changes (such as you editing your sprites or sounds in an external editor of your choice). It does this via monitoring the timestamps on when your files were last edited.
This dialog looks like this (your paths will be different, so we have just pixelated ours):
If you see this dialog and you did edit your files outside GameMaker, then all is correct. You now have the option to Reload (pull in your external changes), or Save the version GameMaker has in memory (discard the change you made externally).
However, if you have not followed the recommendations and steps higher up in this guide yet, then you may see that dialog when you're not expecting to, because the timestamps on your files may be beyond the range the file watcher is set to tolerate before it thinks the file has been edited externally.
If you have that problem, we would recommend you follow the entirety of this guide first (so any AV client is configured properly and you're saving your files in a suitable location) and if that still fails to fix it, then you should try relaxing the timings for the file watcher so it scans the folders less frequently.
Do this by typing larger values in the Preferences field shown below:
If you find that doing this still isn't resolving the issue, or you don't want the ability to edit your files outside GameMaker anyway, then you can turn the file watcher off by simply unticking the checkbox and restarting GameMaker.
2.2.5 Or Older
If for some reason you're still using 2.2.5 or older, that image above will instead look like below (and the laptop one is only relevant when you're running on battery power):
We strongly recommend you use current release and not the very old 2.2.5
Running System Scans Or Backups Whilst Working
If you perform a drive backup (such as Time Machine on a Mac), a drive encryption option, a full-system antivirus scan, or any other drive-access intensive processes which will affect the location where your files are being stored, then these may cause your builds to fail or even for the file watcher to lock GameMaker while it waits for files to become available.
We would of course suggest you pause these jobs before you start to work in GameMaker, or reschedule them to start another time, as there is no way GameMaker can run as fast as normal if your entire system is running slow at that time.