Probably the most commonly-reported issues we see tickets for are incorrect antivirus settings blocking files from being written/read at various stages of using GameMaker. 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.
Therefore, before installing GameMaker initially and after installing each new update, it is vital that you confirm your OS folder permissions and also your antivirus clients, firewalls, proxy servers, etc., are all correctly set up.
This guide will give you the details of folders and web URLs GameMaker will need access to on your systems in order to function properly.
All of this guide can be followed by any user, as there is no separate "Educational" version and all versions of GameMaker behave in the same way.
You can also follow this guide with a free licence and confirm your intended setup before you make any purchase.
Before beginning this guide, we would also advise that you quickly confirm your system clock is actually correct, as all file saving/loading relies on accurate timestamps, so your OS clock being wrong can mean that GameMaker will incorrectly think files are/are not modified.
Please be aware that as we do not have access to your personal setup, our Helpdesk team are usually unable to determine issues such as why one machine or student in a classroom doesn't work when the others do, and we will not be able to offer any guidance on anything to do with your operating system user permissions, proxy server settings or VPNs, firewalls, or anti-virus. For all of these issues, please ask the person who usually configures the machine(s) to investigate your setup.
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 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)
- 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
- 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
- Network Ports Required By The Old Remote Worker (In Old GameMaker Versions)
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
You may find that installation is required by your system to be performed by an administrator account, as:
- On Windows, the installer will detect if additional .NET and Visual C++ Runtime packages are required to be performed in order to have a working GameMaker install.
- On macOS, the installer will run a post-install script to ensure the folders and tools GameMaker just installed are able to be used
- OLD "2.3.x" versions of GameMaker on Macs will also detect if an additional Mono Framework installation is required to be performed in order to have a working GameMaker install - if for any reason this fails to be installed automatically, you can download the installer from the Mac IDE section of our Required SDKs FAQ
You can choose the installation location during the installer, however be aware GameMaker does not support remote or portable drive installations or any form of thin-client systems.
There is currently no distributed/automated installation facility. 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.
Please note whilst your system may require an admin to install GameMaker and this might require temporarily elevating permissions during the install, GameMaker itself does not inherently need to be elevated and so we would not recommend that you run GameMaker in admin mode thereafter, as this can cause permission problems during routine use.
Folder Access
There are two "system" folders GameMaker uses, the location you intend to install it to, plus a number of customisable temporary project build folders you can later customise in GameMaker's Preferences dialog after the initial installation is complete.
Students 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 Linux distros, /var/opt/GameMakerStudio2
This is also where GameMaker's log file lives ("ui.log"), so if you're having issues and need to contact us, please see this log file first, as it may help you determine the issue straight away. We will also very likely ask you to send us this file, so please attach it to your opening request.
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 macOS, ~/.config/GameMakerStudio2/ (Note that .config is hidden by default. You need to open Finder and then press Shift + Cmd + . to toggle showing hidden files and folders.)
- On Linux distros, /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.)
Each seat/license which uses the machine will create a separate user settings folder within the location above.
Build Folder Preferences
Your output folder can be configured by you after GameMaker has been installed and ran 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 Linux distros, 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]\Documents\GameMakerStudio2 (AKA My Documents > GameMakerStudio2)
- On macOS, /Users/[OS username]/GameMakerStudio2
- On Linux distros, /home/[OS username]/Documents/GameMakerStudio2
As well as allowing read/write access to the above locations, we would recommend adding these to your antivirus client's exclusions list, as the files will be changed frequently and both applications modifying and locking the files will often increase build times and even occasionally cause build failures.
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
After taking into account all of the above points in this Folder Access section, your antivirus client may look a lot like the following examples (at least, this is where to set your exceptions).
Again, always try to make the exceptions as high-level as you can and for a whole folder whenever possible, save yourself having to micro-manage individual files.
(Here, we show two popular Windows antivirus products, but if you are using MacOS or Ubuntu then use the paths we gave above instead in your own setups)
The Runtime Tools
GameMaker relies on three essential executables in your runtimes installation folder in order to compile your projects and then deploy/run the game on your testing device.
Although we have already mentioned higher up in this guide about ensuring access to the two folders we now repeat below, you may find that you need to configure your antivirus/firewall for these applications specifically (as well as the main GameMaker application) before projects will build correctly.
These are GMAssetCompiler.exe and Igor.exe and they live in:
- (Windows) C:\ProgramData\GameMakerStudio2\Cache\runtimes\[your runtime version number]\bin\
- (macOS) /Users/Shared/GameMakerStudio2/Cache/runtimes/[your runtime version number]/bin/
- (Ubuntu) /var/opt/GameMakerStudio2/Cache/runtimes/[your runtime version number]/bin/
And there is also the Runner executable itself (used during VM builds). If your user is not allowed to execute this file, then you may see a permissions error midway through your log (especially on macOS), but then the compile might still say it was a success, as GameMaker can't know that you were not allowed to actually launch the file after the build has finished.
These live inside the runtimes path we just mentioned in the second bullet point a few lines up.
- (Windows) [your runtime version number]\windows\Runner.exe
- (macOS) [your runtime version number]/mac/Mac-YoYoRunner-Release.dmg
- (Ubuntu) [your runtime version number]\linux\runner.zip
Note that if you are already having issues where your project compiles stop early in the build process, then ensure your antivirus client has not already quarantined any of these 3 files - if it has, you will need to release them from the quarantine and mark them as safe/trusted.
The word "quarantine" above is a generic/traditional name, but your AV client might use its own branding here - Avast, for example, calls it the "Virus Chest", as you can see below.
Changing Your Project Save Locations
We would recommend that if you wish to change the default save location, then you stick to a folder on the main OS drive (the same disk GameMaker is installed on), but you are free to customise this. You should, however, bear in mind that your choice of save location can impact on build times and can in some cases cause saving issues.
-
Using Network Drives
Projects and build files can be stored on network drives, but be aware 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.
-
Using USB drives
For all of the same reasons given above for network drives, we do not recommend using detachable USB drives for build folders, even if they are high-speed devices.
You can modify the file watcher settings and make this work, but we would always suggest team members instead work on copies of the project locally, then Export and share only the .yyz archive via USB drives.
-
Using "live folders" (OneDrive/Dropbox/Google Drive/iCloud, et al.)
We strongly advise against using live folders to host your project source, as these external applications will periodically lock your files in order to do their own job and sync your files with the cloud.
This can often cause issues when building projects which will make your builds fail or have stale content, can occasionally result in newly-created assets "disappearing" after you close GameMaker, and in extreme circumstances can result in entire project corruption errors.
You can also get situations where someone else has modified a file on their computer and so your machine pulls the change whilst you're working - which sounds handy, but could very easily cause your client to change other files to be what your team member has (and they don't have your change yet), so your changes are suddenly lost.
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.
If you do not wish to use a full online source control service (like Github/Gitlab/etc.), then we would always suggest team members instead work on copies of the project locally in some other location on their disk, then Export and share only the .yyz archive via these "live folders" - this would give you a better backups solution anyway, as you could revert unwanted changes much more safely and easily.
The File Watcher
GameMaker's file watcher monitors your project's save area on disk for changes made outside of GameMaker itself (such as you editing one of 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 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, depending on where you save your files and whether you have protection software which is set to scan your project's save folder, you may be seeing 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.
Please note that for this same inaccurate timestamps reason, when installed on Windows, GameMaker requires NTFS-formatted drives for all save/load locations. GameMaker may not save projects reliably if your save folders are on FAT-formatted hard drives.
If you are receiving these file watcher dialogs and you know you are not actually editing your files outside GameMaker, first of all quickly confirm that your OS clock is correct. If it is not, you should fix this before trying anything else - as already mentioned multiple times in this guide, GameMaker relies on the timestamps for files being correct, so you will likely find fixing your clock fixes immediately the issue.
Next, if you are using one of the "live folders" we mentioned in the section above, please move the project somewhere else and see if this stops the problem.
If you do still have the issue, we would recommend you follow the entirety of this guide first (so any AV client is configured properly) and if that still fails to fix, initially 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 box 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.
If this is the case for you, we would of course suggest you pause these jobs before you start to work in GameMaker or reschedule them to start another time.
As a minimum, be aware that these processes will slow system performance when using the IDE and will likely greatly increase your compile times also.
There is unfortunately nothing we can do about any of the above.
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 *.yoyogames.com
If you have to specify all addresses individually you will need to allow access to:
- https://accounts.yoyogames.com
- https://accounts.yoyogames.com/api/health-check
- https://marketplace.yoyogames.com if you want to download the demos and tutorials offered within GameMaker (or actually allow students to use the Marketplace)
- https://marketplace.yoyogames.com/api/health-check
- https://www.yoyogames.com
- 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 (Windows and macOS IDE build tools)
- https://gms.yoyogames.com/ReleaseNotes.html
- https://gms.yoyogames.com/release-notes-runtime.html
- oauth2.opera-api.com/*
Please note that if you're also using the Beta install, then you will also need to allow these:
- https://gms.yoyogames.com/update-win-NuBeta.rss
- https://gms.yoyogames.com/update-mac-NuBeta.rss
- 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-en.yoyogames.com/#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).
If you use a proxy server, then please see our FAQ for this, as this may need to be configured before you will be able to authenticate successfully.
Ports 80 and 443 are required to run GameMaker, so you should also ensure that these are open in any firewall.
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
Also note that if you're still using Windows 7, then 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 - please allow this, otherwise your system will block the web server from working.
Similarly, you may see a warning on starting GameMaker that the webserver port you have set in Preferences is currently blocked. You should add a firewall rule to allow GameMaker to access the ports required as it 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 (used to connect your mobile devices for use with the GX.games target)
You should also be aware of the device server which GameMaker will run in the background so you can deploy your games automatically on mobile devices you have connected to GameMaker, as 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.
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:
- starting with v2.3.1 (therefore including all current year.month style releases), the manual does not ship as part of the GameMaker installer. GameMaker will ask you the first time you try to open the manual whether you are happy continuing with using the online manual website or if you want to download a copy of the whole manual to your computer and use that instead
- v2.3.0 and older, the manual always came as as file which is part of your local GameMaker installation and you do not require any internet access for the manual
The online manual will always reflect the current stable or beta release (depending on which URL you visited), which may not be the same as the version you are using. The online manual (especially the English one) will receive typo fixes and smaller changes usually pretty frequently and quickly after a bug is found, so if you do not need a downloaded copy we would recommend this route.
As mentioned in the URLs section higher up this page, we offer multiple language translations of the manual, so ensure you have always allowed internet access to the correct URL for the manual you wish to use.
However, if you are using a downloaded copy this will always be the accompanying manual for the specific IDE version you're using.
It is a .zip file of web pages saved on your machine which is loaded into your default web browser via the micro web server. The default port used for serving the local manual is 51290, but this can be changed in Preferences > General > Help:
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.
The Remote Worker
Please note, the Remote Worker which Mac IDE users could previously use to do their Windows builds remotely can only be found if you are using GameMaker v2.3.7 (Dec 2021) or older. The Remote Worker is no longer supported as of January 2022 and is no longer part of your install, so information about the Remote Worker should be treated as legacy.
The remote worker is a separate Windows application install, so if you use this application then it will need to be configured in any firewall separately from the main IDE. (There is a guide to enabling the remote worker here, should you need it.)
Usually, Windows will alert you to the LAN traffic when you start the remote worker for the first time and again when you do your first build. Simply accept these prompts to allow the traffic, and all should be okay.
The default port is 7653.
If you do need to control the IP addresses which can connect to the remote worker, you can do this in the remote worker's Network Settings dialog found within the Windows system tray:
Note that in order for the remote worker to operate you need to have enabled file-sharing and remote login between your Windows PC and your Mac - setting your LAN up and troubleshooting any LAN issues is beyond the scope of this FAQ and also the help we can offer on the Helpdesk, as we do not have access to your systems and network in order to investigate. You will need to speak to whomever typically administers your network.