Skip to content

Windows GMS2

Daniel Cleaton edited this page Jan 21, 2026 · 14 revisions

GameMaker supports Windows (which includes several Windows versions, plus releasing your game via Windows Store, 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.



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.

Visual Studio:

Visual Studio 2022 is intended, but the free 2026 Community Edition is also fine. (If required, you can use the Visual Studio downloads archive to get 2022 and older versions.)

Visual Studio 2026 Users Click Here

Other than values shown in the image below, the install instructions for 2026 are the same as said on the rest of this page, so we only refer to the newer versions elsewhere in this guide.

VS2026Setup
Visual Studio 2019 Users Click Here

Note that this version of GameMaker does still support VS 2019 also, so if you have 2019 already you can continue using it; however, you will not be able to build ARM64 native packages using YYC, as only VS2022+ support ARM64.

Other than values shown in the image below, the install instructions for 2019 are the same as said on the rest of this page, so we only refer to the newer versions elsewhere in this guide.

VS2019Setup

Also, be aware we never saw any such issue ourselves, but a user reported that the Just-In-Time Debugger and the C++ Profiling Tools that VS will suggest by default caused VS2019 builds to fail for them in old versions of GameMaker. If you see build errors when using VS2019 and a reboot does not fix, then please uninstall those optional components and try again.


Inside Visual Studio:

Your install choices need to include everything shown in the image below (which is all that GameMaker requires you to install). These differ from the defaults Visual Studio will suggest, so ensure you follow the image carefully.

You must pick/keep the v142 (VS 2019) build tools, as shown below, regardless of whether you're using 2019/2022/2026.

ARM users: Be aware the image shows the required options for x86 architecture machines. On ARM architecture machines Visual Studio will automatically include two extra packages (ARM versions of the top two in the screenshot) - keep them ticked, as you will need them!

Win 10 users: As shown in the image, Visual Studio always picks a Win 11 SDK version - keep this ticked, do not deselect it and choose an old Win 10 SDK!

VS2022Setup

Installing Visual Studio

When you run the installer for Visual Studio you will be presented with a welcome screen where the workloads available for installation are listed. Here, click Desktop development with C++ and then ensure the components shown in the image a little way up this page are all selected. Once you're all set, click Install - this will take a little while to complete.

If you are asked to reboot your PC at any point during the installation process, please do so and then launch Visual Studio again yourself when your PC has restarted.

Once the installation is complete, Visual Studio should launch automatically. You do not need to create an account in Visual Studio if you're only ever going to use it with GameMaker, so you can skip that. Pick a theme and allow Visual Studio to reach the New Project screen, then you can simply close Visual Studio, as GameMaker does not require to actually use Visual Studio thereafter.



Set Up GameMaker's Preferences

When you now return to GameMaker, you need to set your values in File > Preferences > Platform Settings > Windows.

Preference What You Set It To
Visual Studio Location C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat

* VS 2026 users, you need to change that "2022" to be "18"
* VS 2019 users, you need to change "2022" to be "2019"

Note that in the table above, we assumed you have installed Visual Studio Community to its default location - if you chose a custom path, or if you're using Professional rather than Community, then you will of course need to ensure you modify this path point to your install correctly.

Tip

If GameMaker says your Visual Studio installation folder cannot be found, but you're sure the path is correct, ensure that you have installed all of the correct VS components we showed in the Required Tools Version section above

You can also choose which type of package to compile the final executable to by default here. "Show dialog" means it will always ask you, or you can set it to always create an NSIS Installer or always create a Zip.



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 computer!

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!


ARM64 Packages Do Not Run On x64

Be aware that whilst an ARM64 device will run an x64 package using emulation, Windows will not run ARM64 programs on x64 devices, and if you attempt to run these you will get the following error dialog:

ARMPackagesError

You will need to build for x64 in order to run on x64 devices.


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 runs 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. However, for Windows YYC builds you can connect to the game executable at any time and use Visual Studio's debugger by following this guide.

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

For info on how to debug YYC builds using Visual Studio rather than GameMaker's own debugger see this guide.



Creating Your Store Packages

Once you have everything setup, have finished your game and have thoroughly tested it to make sure that everything works, you'll presumably want to distribute it as an executable package to pass (or sell) to others. For Windows, this is very easy to do and simply involves you hitting the Create Executable button at the top of the IDE:

image

You will then be prompted to select from one of two options presented (this choice may not be shown if you have changed the default value in the Preferences, or have previously selected "Remember Packaging Option?"):

image

We recommend that you use the "Package as Installer" option for general distribution. This ensures that all the files that your project requires are installed along with the project and that Windows treats the game as a proper installed application - so your player will get shortcuts and the game will appear in the control panel to uninstall later, etc...

The other option, "Package as Zip" will create a compressed ZIP file which the user then has to extract on their computer to run. It will be a standalone executable and no shortcuts are made.

Once you have selected the package type, you will need to select a save location on your computer and your project will then be built and packaged ready to distribute. When the compilation has finished, GameMaker will open the file explorer at the created installer/zip file's location.


Steam Distribution Notes

If you want to publish games on Steam then you must make a zip package. Depending on how you have configured your application depot settings on Steamworks, you then either upload the zip file or (more typically for older/existing apps) you extract the zip temporarily and then upload the loose files and folders to maintain the file structure. For more information on Steam, please see Setting Up Steamworks on our Helpodesk.

Clone this wiki locally