We stand with Ukraine to help keep people safe. Join us
GameMaker Studio 2
GameMaker Studio 2
HomeDeveloper ToolsGameMaker Studio 2
GameMaker Studio 2 free download for Mac

GameMaker Studio 2


Develop games using drag-and-drop.

One-Time Purchase
Buy Now

GameMaker Studio 2 overview

Using a single development workflow GameMaker Studio 2 allows you export your game directly to Windows desktop, Mac OS X, Ubuntu, Android, iOS, tvOS, fireTV, Android TV, Microsoft UWP, HTML5, PlayStation 4, and Xbox One.

Backwards Compatible

Import your GameMaker: Studio projects directly into Studio 2 and have them ready to run in a matter of minutes.

YoYo Account

GameMaker Studio 2 uses your YoYo Account to provide a single login for all your game making needs.


With our integrated tutorials you can have your learning materials docked directly in your workspace.

Laptop Mode

For all of our users who develop on laptop pcs we have developed an efficient workflow that does not get in the way of development.


Customise your development environment by choosing from our predefined skins or creating your own.


Organise your workspace by docking your tool windows where you want them.

Object Editor

With our unique stucture and workflow it has never been easier to manage the objects within your game.

Script Editor

With tabs and the ability to split the editor you can work with multiple files without having a window for each.

Superior Workflow

Drag and Drop like never before, create the game you want without ever writing any code.


Choose what you need from our extensive library of events and actions to sculpt the game you desire.

Code Preview

Learn how to program by viewing the code behind our DnD™ actions and take your games to the next level.

GameMaker Language

Based on C programming language, GML gives you all the power of other programming languages while being easy to learn.

What’s new in version

Updated on Apr 13 2021

Nine Slice Support
  • Nine Slices allow you to scale your sprites to stretch in a more controllable and smarter way, by keeping your corners at a fixed scale and stretching the bits in-between
  • The Sprite Editor has a new Nine Slice panel where you can now enable this, and of course this new capability carries through into your game, where you can later manipulate the sprite at runtime should you wish
  • Introduces the new functions sprite_nineslice_create(), sprite_set_nineslice() and sprite_get_nineslice(), as well as a number of in-built variables
  • Note this feature requires a 2.3.2+ runtime also when building your project
AnimCurve Library
  • We have added a new library of preset curve types you can apply to your Bezier curves to automatically add points or change ease in/out values and easily add effects like "bounce" or "elastic"
  • Presets can be applied to a whole curve or between selected points only
  • Also added a ? button for opening the relevant manual page onto each of the AnimCurve Editor, the AnimCurve Library window, and the Sequence Editor
New IDE and Manual localisations
  • We have now added Brazilian-Portuguese, Chinese, and Russian translations into the IDE, the installer, and also the online/downloadable versions of our manual
  • As a reminder, you can change your IDE language in Preferences > General Settings and your Help language in Preferences > General Settings > Help
  • Our www.yoyogames.com site also supports these languages and includes links to the translated manuals
Use Your Default Browser For Our New Tutorials
  • Continuing our drive to use external browsers for all website functionality and thereby improve usability, as well as reduce the GMS2 install size, the Start's Page's Tutorials will now open our website in your default browser outside GMS2
  • https://www.yoyogames.com/en/tutorials is our newly-updated and expanded website dedicated to tutorials and other learning resources, which allows filtering by proficiency level and also by the topics you're interested in
  • Please note that we do not recommend continuing to use our old Start Page/Marketplace tutorials in 2.3.2+ IDEs, as these will have formatting issues and some problems with links to videos - these old assets will be removed from the Marketplace in future
Mac DMG Export Package
  • If you are not building for the App Store, then when you click the Create Exe button now you will be given the choice of wrapping your new app in a .zip (as always) or a .dmg installer
  • A new Game Option has been added to control the dmg installer's background image, and it will reuse the same icon as the game app uses
  • Note this feature requires a 2.3.2+ runtime also when building your project
Live Updating of the Colour Picker values
  • Now, when spawning a colour picker in any applicable editor, you will be able to tweak your colours and see these apply in the main editor straight away - no more having to apply the colour change to see the update and then re-open the picker to make tweaks
New Sequence Playback DND Nodes
  • Along with a small stack of fixes for other DND issues in this release, we have added some new nodes for controlling playback of your sequences:
  • "Sequence Get Length", "Sequence Get Head Position", and "Sequence Set Head Position"
  • Note this feature requires a 2.3.2+ runtime also when building your project
Misc Important Changes To Be Aware Of
  • AnimCurve Editor: Added clearer UI messages to show when a curve is in an error state or invalid/not suitable for the operation you are trying to perform, which should allow you to quickly fix or pick a suitable replacement curve
  • DnD Editor: Changed "Start Following Path" node's Relative->Absolute checkbox label, so now it matches how GML handles this functionality and also how recent GMS2 versions have actually handled the value in-game
  • Local Packages: Fixed that collision events with assets not actually in the package were not imported because there was no matching second object to tie the event to and so the event information was lost from the object which was imported, so GMS2 will now create a new empty object of the required name in order to preserve the collision event information
  • Project Load: Changed "IdReferences which are not found" compiler log warnings to be actual errors for you to resolve, rather than allowing the projects to keep building with broken in-game information. However, the error message now outputs what the exact issue is and where to fix it, so it's much easier to resolve your errors than in previous releases
Other Bugs Fixed
  • AnimCurve Editor: Fixed that drag-select of curve points on the dopesheet would not highlight that section of curve also, instead only highlighted the individual points
  • AnimCurve Editor: Changed the "Curve Type" button tooltip to match the new window title "Animation Curve Library"
  • Asset Browser: Fixed a typo in the Filters panel which used "Folders First" rather than the proper "Groups First"
  • Asset Browser: Fixed renaming Notes again to no longer require the stricter naming rules other in-game assets require
  • Asset Browser: [Mac IDE] Fixed that Cmd+D stopped working as an additional hotkey for duplicating assets
  • Asset Browser: Fixed that renaming a group required a further mouse click to reset focus before you could create new assets inside that group
  • Asset Browser: Fixed that shift-select operations did not work correctly if Ctrl was accidentally pressed also at any point during the operation
  • Bookmarks: Fixed a crash when changing multiple bookmark locations whilst the Debugger was open
  • Building Projects: Fixed that on some platforms the Create Executable actions were unresponsive and gave no error message if a project was already running
  • Building Projects: Fixed that when GMS2 spawned any new Chromium browser instance (so, Chrome/Opera/Opera GX/Vivaldi, etc.) to do a HTML5 run, any further builds or clicking the stop button inside GMS2 would always kill that browser process even if you had opened other browser tabs in the meantime
  • Building Projects: [HTML5] Fixed that debug runs did not apply any "Prepend JS" Game Options value in recent releases
  • Building Projects: [HTML5] Fixed an issue where calling code such as "static a=[]" produced broken JS (a scope-less `gmla;` statement could be seen in the browser console)
  • Building Projects: [Xbox One] Fixed that the Asset Compiler did not process Stats 2013 manifest files when creating packages in recent versions
  • Building Projects: [Android YYC] Fixed that some larger projects could fail to build if they contain the throw() function
  • Building Projects: [YYC] Fixed that functions could in some cases be compiled twice, leading to "redefinition of 'gml_Script__..." errors
  • Building Projects: Fixed that the IDE got stuck when trying to compile an empty sound asset in recent versions and didn't alert you that the sound does not exist
  • Building Projects: [macOS] Fixed that games failed to launch if built using Windows IDE and the project name contains "(1)"
  • Building Projects: Fixed that sending a VM build build using GMS2 2.3.1 to Apple gives ERROR ITMS-90301: "This bundle is invalid. Apple is not currently accepting applications built with this version of Xcode."
  • Building Projects: [Android] Added "On New Intent" support (for extensions which require this)
  • Building Projects: [Windows YYC] Added a helpful error message when builds fail because your VS batch file Preference value is incorrect
  • Building Projects: Fixed initialising the Steam .dll in 64bit Windows builds (fixed the filename being wrong in the created package)
  • Building Projects: Fixed an issue where timestamps on audio/texture cache files was not correct, so later builds might not overwrite these files properly
  • Building Projects: Fixed that using the $ accessor directly with "self" returned an error when compiling projects
  • Building Projects: [iOS] Fixed the Mac IDE being unable to build iOS projects using CocoaPods ("Pod install result: /bin/bash: pod: command not found")
  • Building Projects: [iOS YYC] Fixed that the "Building" progress bar does not disappear when the build is actually finished
  • Building Projects: Added more helpful error messages when builds due to Visual Studio batch file paths being incorrectly set in your Preferences
  • Code Editor: Fixed that folding on an "if" could hide its "else" also if the else is on the same line as the if's closing brace
  • Code Editor: Fixed that code folding did not treat multiple "else if" blocks independently
  • Code Editor: Fixed an issue where having a function inside a macro breaks the surrounding code-folding after a couple of toggling folded/expanded
  • Code Editor: Fixed that middle-clicking on a function defined in another object opens that Object Editor only, it didn't also open the relevant code file
  • Code Editor: Removed the obsolete built-in variable "room_name" to stop any confusion, as room_get_name() is the correct usage anyway
  • Config Editor: Fixed that creating a new config expanded all collapsed drop-downs above it
  • Debugger: [macOS] Fixed failures to connect on startup when nested functions are present in that project
  • Debugger: Fixed that it did not show correct names for constructor parameters in structs
  • Debugger: Fixed a GMS2 hang and RAM leak when hovering over specific functions/variables and getting their tooltip
  • Debugger: Fixed that the tooltip from mousing over a variable was not always being shown
  • Debugger: Fixed that the tooltip shown on built-in variables would in some cases show values from "other" instance
  • Debugger: Fixed that clicking the "Keep Trying" button didn't reset the timeout and accordingly show the prompt again if still required
  • Debbuger: Fixed the value of Self shown from a constructor is not correct inside the Locals list
  • Debugger: Fixed that a sequence's struct values were not correctly reported and were not able to be expanded to view the contents, etc.
  • Debugger: Fixed that the debugger UI behaves inconsistently on runs after the first one when the game is set to start on full screen
  • Debugger: Fixed that GMS2 went unstable when debugging Soduku project on Android and clicking "Play" button
  • Device Manager: Fixed/changed tvOS devices not appearing after clicking Detect Devices within Device Manager when using recent Xcode 11 versions on your Mac
  • Device Manager: Added support for finding several more popular browsers when clicking the Detect Browsers button
  • DND Editor: Fixed that in recent releases Room Creation Code was always GML (could not even convert to DND later)
  • DND Editor: Added a new behaviour when inheriting a parent's event to now automatically add a Call Parent Event node (just the same as GML events add a event_inherited() call)
  • DND Editor: Added nodes for "Sequence Get Length", "Sequence Get Head Position", and "Sequence Set Head Position"
  • DnD Editor: Fixed that renaming a script file could erase the contents of the script if the Declare node's name still matched the original script name
  • File Watcher: Fixed that the IDE reloads everything to do with an asset when you modify the source files externally, which causeed issues with external text editor support since 2.3.0
  • File Watcher: Fixed that importing any single asset could cause the FW to get stuck processing the file and therefore GMS to hang or crash [Fixes crashes reported when importing Spine and .png sprites, plus sounds also]
  • File Watcher: Fixed that recent releases ignored the "Automatically Reload Changes" Preference when specifically the project .yyp was modified externally, and instead always showed the "Reload changes?" dialog
  • Font Editor: [Mac IDE] Fixed that installing a new system font while GMS2 is running did not show the "Refresh Fonts?" dialog that the Windows IDE would show
  • Game Options: Fixed that changing active Configuration did not refresh any open Game Options windows to show the new values
  • Game Options: Fixed that the iOS icon picker checks did not prevent adding an icon containing alpha, but then Xcode would complain about this
  • General: Fixed several way of getting a GMS2 crash when attempting to write to the ui.log after idling for a while
  • Image Editor: Fixed an issue where content on any layers which were inside groups was deleted on reopening the project
  • Image Editor: Fixed that Merge All Layers resulted in "Core Resources : Debug Info - Subresource not found" warnings in your compiler log thereafter
  • Image Editor: Disabled the "Edit layer properties" context command when clicking on a layer group
  • Included Files: Fixed that selected/deselected platform export information can be lost when a file is later renamed externally if it was originally added to the project automatically by the file watcher
  • Install: [Windows IDE] Fixed that the first paragraph on the last page was always English, regardless of the installer language
  • Install: [Mac IDE] Installer copyright date has been updated to say 2021
  • Local Packages: Fixed that Sprites/Tilesets/Fonts/Sounds assigned to a custom group were not re-assigned to the Default group if no group with the same custom name already exists in the destination project
  • Marketplace: Changed the contrast values for light skin text in the Update Existing Package dialog, following reports that it can be difficult to read
  • Marketplace: Fixed/added the IDE-side part of the website fix for Update Existing Package sometimes giving an error "unable to refresh access token" when recently trying to upload your package
  • Object Editor: Fixed that the name of the colliding object was not immediately displayed in the Events tab when cutting and pasting a Collision Event from one object to another
  • Object Editor: Fixed that the name of any parent object does not immediately update in all child object's Object Editors when renaming the parent if the child Object Editor had its inheritance window open
  • Object Editor: Fixed that adding/removing a parent object's Events does not update any already-open child object's Events list
  • Object Editor: Changed the "Asset" variables filter setting to now say the proper "Resource Filter"
  • Object Editor: Changed the "Asset" variables filter settings to default to all on, not all off
  • Object Editor: Fixed/stopped a redundant "Delete Event?" confirm dialog appearing when pressing the Delete key without any event actually having been selected first
  • Object Editor: Fixed that physics fixtures on objects were never initialised in-game unless the Collision Shape editor was opened at least once (in the lifetime of that project) prior to building the project
  • Path Editor: Fixed that typed-in changes to coordinates in the left-hand panel were not being saved if focus was lost before you pressesd Enter
  • Preferences: Fixed that the Script Editor's boilerplate textbox was needlessly small compared to the space available on the dialog
  • Preferences: Fixed our Android NDK check, now that v22 has removed the "platforms" subfolder and moved tools locations around
  • Preferences: Fixed that clicking the "Use Online Manual" button in the popup did not immediately set the matching checkbox to the correct value
  • Project Import: Fixed that cancelling any 2.2.5 project conversion process could leave GMS2 in an empty project layout
  • Project Import: Changed project conversion "Save As" values to be as per regular imports, so it suggests a new project name matching the .yyz filename, etc.
  • Project Load: Fixed that deleting Included Files externally while GMS2 was closed never scanned for these changes and so did not clean the .yyp of the redundant information
  • Project Load: Fixed a GMS2 unstable when importing a Marketplace "demo" category project that is still in 1.x format
  • Project Load: Projects with Switch .nmeta path values accidentally set to an absolute path by 2.3.0 are now reverted to the default relative one, which fixes an error when trying to run games
  • Project Load: Removed a redundant warning about missing root view in the output window when loading every project (this warning has been harmless since 2.3.0)
  • Project Save: Fixed that information about deleted Included Files remained in part of the project .yyp and therefore phantom files would still show in Create ... Package windows
  • Project Save: Fixed that cancelling creating a new project with an unsaved project open would leave an empty directory in the new project's name on disk
  • Project Save: Fixed that Object Property Variables have redundant extra spaces in .yy file entries for allowed Asset Picker types values
  • Project Save: Fixed that renaming an object used in collision event, but only changing the case (e.g., changing "ObjectB" to "objectB"), still deleted that collision event's contents
  • Room Editor: Fixed that rotating an asset could cause an unrelated asset to also move 1 pixel
  • Room Editor: Fixed that moving rotated objects outside of the room's boundaries could make other objects in the room move also
  • Room Editor: Fixed that folder open/closed status was not saved when moving to other workspace and editor tabs
  • Room Editor: Fixed an issue where it could stop showing any tiles and would silently send many errors to the UI.log instead
  • Room Editor: Fixed an issue when duplicating any tile layer and then later changing its tileset to one which has different-sized tiles did not resize that layer's tilemap size values accordingly, meaning you could not place tiles in some locations (most commonly-reported as "not being able to place tiles outside view boxes")
  • Room Manager: Fixed that folders should have always been coloured white to match the intended design
  • Search and Replace: Several fixes for commented-out lines were not actually ignored when "Ignore Comments" is enabled
  • Search And Replace: Fixed that doing a Replace and then double-clicking one of the changed results would not take you to that line of code
  • Search And Replace: Fixed that doing a Replace All which includes results in Scripts that were not open at that time would show a redundant File Watcher dialog
  • Sequence Editor: Fixed that adding/Selecting a parameter track did not automatically show its transform gizmo on the canvas
  • Sequence Editor: Fixed the wording on a validation error when creating a second curve for a position track in the Sequence Editor to be more accurate
  • Sequence Editor: Fixed that assets were added to the root level instead of in the selected group when using the + button
  • Sequence Editor: Fixed that assets were still positioned at 0,0 when added to a group whose position and origin are not 0,0
  • Sequence Editor: Fixed a GMS2 crash when removing the script for a sequence's events if some of the functions were already removed from that script in the Code Editor
  • Sequence Editor: Fixed a GMS2 unstable when adding a Colour Multiply track to a sprite
  • Sequence Editor: Fixed that renaming a track could never be undone using Ctrl+Z, etc.
  • Sequence Editor: Fixed that moving assets using the arrow keys also selected different assets in the track panel
  • Sequence Editor: Fixed a GMS2 unstable when editing a curve after undoing the deletion of a position track with an embedded Anim Curve
  • Sequence Editor: Fixed that the IDE spams the ui.log for every movement of an instance on the canvas
  • Sequence Editor: Toggling curve mode on a parameter track will no longer open a duplicate Curve Editor in your workspace each time, instead just reuses the one existing window
  • Sound Editor and Sequence Editor: Fixed a GMS2 unstable when trying to preview more-than-2-channel sounds if the output device GMS2 is set to use does not support more than 2.0 channels
  • Source Control: Fixed that following any conflict, further source control interactions return exceptions until that conflict was resolved outside GMS2
  • Source Control: Removed hardcoded references to "master" branch and insteadh use Git's Repositiory.Head value instead
  • Sprite Editor: Fixed that the frame preview did not update when a sprite's speed is set to 0 FPS
  • Sprite Editor: Fixed being unable to move between frames using the arrow keys
  • Sprite Editor: Fixed that the "Premultiply Alpha" setting did not function
  • Sprite Editor: Fixed that the Automatic Collision mask value is not always set correctly when importing/converting projects
  • Sprite Editor: Fixed a GMS2 unstable after editing FPS value for a multi-frame sprite
  • Sprite Editor: Fixed a GMS2 unstable when adding/removing frames from "Precise Per Frame" sprites if the sprite's Collision Mask section was collapsed at the time
  • Start Page: Fixed that on the Demo tab creating a new project from a 2.3.0+ format asset gave an import error
  • Start Page: Fixed a GMS2 unstable when dragging a .yymps file onto the Start Page and choosing to add as an Included File when no project opened
  • Startup: Fixed that the ui.log says every startup that ParticleEditor.dll is not signed
  • Startup: Fixed that the ui.log says every startup that redundant old demos and tutorials manifest files cannot be found
  • Startup: Fixed that the ui.log says a reundant error every startup if users have not set their manual Preference yet
  • Timeline Editor: Fixed a GMS2 unstable when Duplicate/Cut/Copy/Merge any moment
  • Tile Set Editor: Fixed that no user-created brushes were retained after regular saves of the project, must use Save As instead
  • UI/UX: [Mac IDE] Removed a tooltip for the Show Password field on the login screen
  • UI/UX: Fixed that when using Laptop Mode, Control+Mouse move no longer triggers zoom
  • UI/UX: Fixed that various editor child windows still said "Select Resource" instead of "Select Object"/"Select Sprite"/etc.
  • UI/UX: Fixed that the Dark skin has redundant duplicate values which caused multiple redundant "Failed to load layout 'RoomEditor_..." errors in ui.log every startup
  • UI/UX: Fixed that Ctrl+Shift+I would always open the Inspector, even when no project loaded
  • UI/UX: Removed the old Welcome Page from the Help menu
  • UI/UX: Fixed the pop-up to download the manual or not so it is now localised, rather than always English regardless of IDE language
  • UX/UI: Added an information dialog when importing a project and picking an existing project folder to clarify that this won't merge the two projects
  • UI/UX: Fixed that new platforms in later IDE versions were not automatically enabled when opening projects containing texture/audio groups already set to "all platforms"
  • UI/UX: Added live-updating of Colour Picker values for all relevant editors
  • UI/UX: Added a new check for if a the Preference for the code editor background colour has been customised from the default dark/light skin values to ensure we always draw cursors with a contrasting colour
  • Ticket: Fixed that the DND Editor's "Font Set" node always reset itself to coolvetica in one object in a sample project
  • Ticket: [YYC] Fixed that Fields ... failed to build with warnings and errors in log, but no "compiler errors"
  • Ticket: [macOS YYC] Fixed that WordWi... took far longer to compile a very large script compared to Windows builds
  • Ticket: Fixed that GMLLex... runs out of stack space parsing very large commented-out sections in scripts
  • Ticket: Fixed a GMS2 unstable when converting HH T... project
  • Ticket: Fixed a GMS2 unstable converting attached StarG...





55.5 MB

Developer’s website




App requirements

  • Intel 64
  • OS X 10.10 or later
Try our new feature and write a detailed review about GameMaker Studio 2. All reviews will be posted soon.

Write your thoughts in our old-fashioned comment

MacUpdate Comment Policy. We strongly recommend leaving comments, however comments with abusive words, bullying, personal attacks of any type will be moderated.

(0 Reviews of )

There are no reviews yet
  • Comments

  • User Ratings

Help the community
There are no reviews yet, be the first to leave one
Help the community
There are no ratings yet, be the first to leave one
How would you rate GameMaker Studio 2?
One-Time Purchase
Buy Now
How would you rate GameMaker Studio 2?
Similar apps
Freeway Pro
Drag-and-drop Web design solution.
Is this app is similar to Freeway Pro? Vote to improve the quality of this list.
Vote results
Total score
LiveCode Community Edition
Cross-platform, open-source development environment (was Revolution Media).
Is this app is similar to LiveCode Community Edition? Vote to improve the quality of this list.
Vote results
Total score
Develop iOS games without programming experience.
Is this app is similar to GameSalad? Vote to improve the quality of this list.
Vote results
Total score
Drag-and-drop website builder.
Is this app is similar to EverWeb? Vote to improve the quality of this list.
Vote results
Total score
HTML Egg Pro
Drag-and-drop website designer.
Is this app is similar to HTML Egg Pro? Vote to improve the quality of this list.
Vote results
Total score