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 Studio 2. 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 GMS2 initially and (unfortunately) after installing each new GMS2 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 GMS2 will need access to on your systems in order to function properly.
All of this guide can be followed by any GMS2 user, as there is no "Educational" version of GMS2 and all versions of GMS2 behave in the same way.
You can also follow this guide with a free trial 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. Your OS clock being wrong can mean that GMS2 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.
Installation is to be performed by an administrator account, as:
- On Windows, GMS2's installer will detect if additional .NET and Visual C++ Runtime installations are required to be performed in order to have a working GMS2 install.
- On macOS, GMS2's installer will detect if an additional Mono Framework installation is required to be performed in order to have a working GMS2 install - if for any reason this fails to be installed automatically by GMS2, 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 GMS2 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 GMS2 and this might require elevating permissions during the install, GMS2 itself does not inherently need to be elevated and so we would not recommend that you run GMS2 in admin mode thereafter, as this can cause permission problems during routine use.
There are two "system" folders GMS2 uses, the location you intend to install GMS2 to, plus a number of customisable temporary project build folders you can customise in Preferences within GMS2 after the initial installation is complete.
Students will need full read+write access to all of these locations, otherwise GMS2 may fail to start, may fail to license, or may not be able to build projects.
GMS2's own settings, the tools GMS2 uses to build your projects, and information on your devices lives in the following location:
- On Windows, C:\ProgramData\GameMakerStudio2
- On macOS, /Users/Shared/GameMakerStudio2/ (Macintosh HD > Users > Shared > GameMakerStudio2)
This is also where GMS2'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.
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.)
Each GMS2 seat/license which uses the machine will create a separate user settings folder within the location above.
Build Folder Preferences
As well as allowing read/write access to the following 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.
GMS2'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 GMS2 has been installed and get the location from there. The build cache folder is /Users/[macOS username]/.config/GameMakerStudio2/Cache
Each user's own project save locations default to:
- On Windows, C:\Users\[Windows username]\Documents\GameMakerStudio2 (AKA My Documents > GameMakerStudio2)
- On macOS, /Users/[macOS username]/GameMakerStudio2
Note that after following this guide you might need to clean your project cache via the button inside GMS2 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.
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 GMS2 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 OneDrive/Dropbox/Google Drive, et al.
We also do not recommend using "live folders" to host your project folders, as these external applications will periodically lock your files in order to do their own job. This can cause issues when building projects and in rare/extreme circumstances can result in project save errors.
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, 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
GMS2's file watcher monitors your project's save area on disk for changes made outside of GMS2 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 GMS2, then all is correct. You now have the option to Reload (pull in your external changes), or Save the version GMS2 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, GMS2 requires NTFS-formatted drives for all save/load locations. GMS2 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 of GMS2, 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 FAQ, GMS2 relies on the timestamps for files being correct, so you will likely find fixing your clock fixes immediately GMS2.
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 GMS2 anyway, then you can turn the file watcher off by simply unticking the checkbox and restarting GMS2.
Or, if for some reason you're still using 2.2.5 or older, it will look like below (and the laptop one is only relevant when you're running on battery power):
If you find that doing this still isn't resolving the issue, or you don't want the ability to edit your files outside GMS2 anyway, then you can turn the file watcher off by simply making those two values -1 and restarting GMS2.
We would strongly recommend you upgrade to 2.3.0 or newer if you're having file watcher issues.
Network / Internet Access
The installation of GMS2 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://marketplace.yoyogames.com if you want to download the demos and tutorials offered within GMS2 (or actually allow students to use the Marketplace)
- https://gm2016.yoyogames.com/update-win.rss (Windows IDE)
- https://gm2016.yoyogames.com/update-mac.rss (macOS IDE)
- https://gms.yoyogames.com/Zeus-Runtime.rss (Windows and macOS IDE build tools)
Please note that if you're also using the Beta install, then you will also need to allow these:
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.)
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 license successfully.
Ports 80 and 443 are required to run GameMaker Studio 2, so you should also ensure that these are open in any firewall.
GMS2 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 GMS2 confirm if there is internet but that our server is offline, and it will avoid unnecessary licensing 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.
Internet Requirements for Licensing
GMS2'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 license if you buy new products, download any new/updated demos or tutorials, or access our Marketplace.
Be aware GMS2 will require internet access at least once every 28 days in order to avoid your license information expiring.
The Runtime Tools
GMS2 relies on three 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 GMS2 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/
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 GMS2 can't know that you were not allowed to actually launch the file afterwards.
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/YoYo Runner.app
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.
The In-IDE Debugger
There is no separate module for the debugger - it's the GMS2 executable itself, but if you have to open specific ports for GMS2, 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
The Micro Web Server (used to show the manual and by the HTML5 target)
You may see a network access request by the GMS2 micro web server application the first time you try to open the manual or build any project for HTML5 - please allow this, otherwise your system will block the web server from working.
For HTML5, that should be all you need to do.
Regarding the manual, there is an important distinction to make here:
- starting with 2.3.1, the manual does not ship as part of the GMS2 installer, and so GMS2 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;
- 2.3.0 and older, the manual always comes as part of your GMS2 installation and you do not require internet access for the manual.
Assuming you are using a local copy of the manual, it is a .zip file of web pages saved on your PC/Mac and then loaded into your default web browser via GMS2's own micro web server. The default port used for serving the local manual is 51290, but this can be changed in your GMS2 Preferences > General > Help:
Note that the online manual will always reflect the current stable release, 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.
However, if you are using a downloaded copy this will always be the accompanying manual for the specific IDE version you're using. 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 GMS2 2.3.1 and above have the ability to notify you a new manual is available for download.
As mentioned in the URLs section higher up this page, GMS2 supports multiple language versions, so ensure you have always allowed the URL for the manual you wish to use.
The Remote Worker
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 GMS2 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.
Steam Client Online/Offline Setting
Please note that if you're using the Steam version of GMS2 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 GMS2 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, GMS2 will also be in offline mode.
Dropping Files Onto The IDE Does Not Create New Assets
This is usually because GMS2 is being launched as admin ("elevated permissions"), typically via the checkbox in the GMS2 shortcut. If you have ticked this box, then Explorer would also need to be run in admin mode in order for it to have permission to interact with GMS2 in this way.
GMS2 itself does not require to run in admin mode to do its job, so we would advise that you simply untick that box in the shortcut / do not launch it in admin mode.
macOS games do not actually appear at the end of a "successful" run
Look up through your log and see if you have any LSOpenURLsWithRole() errors. You will then need to ensure that your macOS user can execute that application and that this application is not being restricted by any Antivirus (see "The Runtime Tools" section higher up this guide).
This is most often seen on Catalina, but Big Sur may also be affected, and is a general macOS permissions issue rather than any GMS2 bug.
LSOpenURLsWithRole() failed for the application /Users/Shared/GameMakerStudio2/Cache/runtimes/runtime-184.108.40.2069/mac/YoYo Runner.app with error -10386.
You would need to ensure you are allowed to run the YoYo Runner.app application. Once your permissions are fixed, clean your project cache and then build again. All should be fixed now.
macOS IDE Requires Extra Setup If Your Proxy Server Requires Certificate Authentication And You're Not Using GMS2 2.3.1 Or newer
If you're trying to use a version of GMS2 older than 2.3.1 please be aware that the version of Mono 5 which GMS2 uses has a known issue in that it doesn't import certificate authority information correctly, so if you are using a proxy server which requires this information you currently need to use the certmgr tool which ships as part of Mono's install in order to add your CA to Mono's own store.
After this, you should find GMS2 connects fine.
We would of course recommend you instead always use the current stable version of GMS2, rather than sticking with those old releases.
macOS Keychain Certificates For Our Websites
Please note that our web servers will offer certificates for your Mac to trust our websites each time you connect. If you do not have a certificate already and simply visiting the site in Safari does not give you one, but our websites load fine, then this is actually correct, as the certificate should not be saved permanently on your machine - your Mac will read it, accept it's okay, and allow you to talk to our server, then get rid of the certificate when you disconnect from our server.
However, if these certificates are saved to your machine because of some trust/security policy and then later expire, they will need to be renewed or you can have issues connecting to our servers.
One example of this is if you see issues with "Unable to login - Cannot reach https://accounts.yoyogames.com" dialogs during GMS2 startup and you notice TLS trust errors in your ui.log file. If you know your certificate policy is to use a customised setup, then we would recommend checking Keychain Access for all certificates from *.yoyogames.com and make sure that their trust setting is always "Default" and not "Always Trust" or "Do Not Trust".
This affects the following addresses:
If the certificates for any of these are set to "Always Trust", then your Mac will ignore when our server offers an updated certificate, and you can end up sticking with a stale certificate and causing this inability to talk to our servers. Note that for all of them there is a site certificate and a root certificate.
You can also use Safari in place of Keychain Access for the paragraphs above: For each of the sites listed above, click the little padlock in the address bar and you can get to the trust values for the site certificate and the root certificate via this method.
If issues persist, you can always delete any *.yoyogames.com certificates again and visit the relevant website in Safari in order to re-download the current certificate, which should also fix your issue.
However, if you still can't view the website in Safari at all, it's worth confirming that your Mac is not set to block our servers. You will need to resolve/remove this block in your external protection software/policy and then use Safari to confirm you can reach our servers, then check if GMS2 now works also.