This section of the manual is a reference guide for the GameMaker Studio 2 Language (GML). You can find all the available functions documented here along with the required arguments and examples of code to show how they can be used. For information on how to use GML please see the GML Overview section of the manual.
Purchasing And Using GameMaker Studio 2 IDE Via Steam. GameMaker Studio 2 Free Licences. Purchasing Options for Console Licences. See all 22 articles. GameMaker Studio 2 Community Tech Support. Get help from the community on technical issues in GameMaker Studio 2. Please read the forum guidelines before posting, and if you have any programming questions, then they should be posted in the Programming Forum using the 'GMS2' prefix. Buy GameMaker Studio 2 Web. GameMaker Studio 2 is the latest and greatest incarnation of GameMaker! It has everything you need to take your idea from concept to finished game. With no barriers to entry and powerful functionality, GameMaker Studio 2 is the ultimate 2D development environment! Using Normal Maps to Light Your 2D Game. Easy Tweening with Animation Curve Library GameMaker Studio 2.3.2. YoYo Games Round Up - Q&A and More. Make Your Own Arcade Classic. Developers Looking Past Lockdown. YoYo Games is now part of Opera. Using GameMaker in Game Jams. GameMaker Studio 2 is the latest and greatest incarnation of GameMaker! It has everything you need to take your idea from concept to finished game. With no barriers to entry and powerful functionality, GameMaker Studio 2 is the ultimate 2D development environment! GameMaker Studio 2 Desktop Steam charts, data, update history.
The following sections explain the functions that you have available to you for manipulating the different resources in your project, including creating new dynamic resources or editing and changing those that are added into your game through the resource tree.
Sprites
Audio
- Audio Emitters
- Audio Listeners
- Audio Groups
- Audio Buffers
- Audio Synchronisation
Paths
Scripts
Shaders
Fonts
Timelines
Objects
Instances
Rooms
There are two extra functions related to the handling of game resources. These functions can be used to find the unique index value for any given resource and the type of resource that it is, which opens the door to dynamically creating game resources from strings (for example):
This section contains the functions and variables that are all related to game specific functionality, like loading/saving or restarting etc...
GameMaker Studio 2 has a great number of ways in which you can move instances around within your game room, ranging from setting speed and direction vectors to simply 'placing' an instance at a specific position, as well as using more sophisticated methods like path-finding. There are also a good number of different methods for detecting collisions between two instances, and which you choose will depend largely on the type of game you are making and the exact situation that you need to use the collision functions in. The following sections cover all of this and list all the functions related to movement, path-finding and collisions:
Movement
Motion Planning
Collisions
The following sections are all related to graphics operations in one way or another, whether it is drawing something to the screen, manipulating surfaces, or creating your own cameras or vertex formats:
Colour
GPU Control
Drawing Basic Forms
Drawing Sprites And Tiles
Drawing Text
Drawing And Creating Primitives
Surfaces
Particles
Textures
Shaders
The following sections contain all the functions and built in variables that are used for setting up view cameras, view ports and the game window, as well as setting the GUI display for your game projects.
Cameras
The Screen Display
There are a number of different ways that you can let players control things ion your game, from using the keyboard and mouse to creating virtual keys or using the gamepad, and they are all listed in the following sections:
Keyboard Input
Mouse Input
Device Input
Gesture Input
Gamepad Input
Virtual Keys And Virtual Keyboards
Data structures are basically different ways that you can store large amounts of data. Which one you use will depend entirely upon the needs of the situation and you should read the introduction page of each section to get a better idea of how they work and when they can be used:
Data Structures
DS Stacks
DS Queues
DS Lists
DS Maps
DS Priority Queues
DS Grids
The following sections list the functions for working with instance and global variables as well as for working with arrays (note that the variable functions are designed to be used when converting DnD™ code to GML code or for use in compatibility scripts more than for general use in new projects):
Variable Functions
Array Functions
The following sections contain all the functions and built in variables that are used for working with strings:
Strings
The following sections contain all the functions and built in variables that are used for working with different number values:
Date And Time
Number Functions
Vectors
Matrix Functions
The following sections all deal with different aspects of the GameMaker Studio 2 Box 2D physics implementation:
Physics Overview
The Physics World
Fixtures
Joints
Forces
Soft Body Particles
Physics Variables
The following section has all the functions related to the In App Purchase system (note that these functions work in conjunction with the IAP Asynchronous Event):
In App Purchases
The following sections have a collection of functions that all work with, or trigger, the Asynchronous Events, including the HTTP functions, Cloud functions and a few others:
Asynchronous Functions
Gamemaker Studio 2 Manual
Achievements and Leaderboards
This section has all the functions related to creating networked games (ie: games that communicate with each other over the internet):
Networking
This section has functions specific to creating HTML5 web applications as well as a few more general web functions for opening URLs etc...
Web
GameMaker Studio 2 is fully integrated with the Steamworks API so that you can create your games with that platform in in mind, and integrate the different services that it offers from day one of development. See the sections below for more information:
The Steam API
Steam User Generated Content
While making a game you will, at some point, need to store information about the game state to a file. To that end, GameMaker Studio 2 has a number of different functions for this, enabling you to read and write data to various different file types:
File System Overview
Gamemaker Studio 2 C#
File Handling
File System Functions
INI Files
Text Files
Binary Files
Gamemaker Studio 2 Free
Buffers enable you to directly access areas of memory, adding, removing and saving information as raw data. Below you can find a detailed explanation of what buffers are and how to use them as well as all the functions related to them:
Using Buffers
Buffers
The functions in this section are specifically for use with the UWP target, and then only when using UWP to target the Xbox One. The functions give you basic access to XBox Live features:
UWP and Xbox Live
Gamemaker Studio 2 Platformer
This section contains a number of functions that are for doing very specific things when creating your game and that don't fit exactly into any of the other function groups on this page:
Miscellaneous
Debugging your code is an essential part of making games and apart from the tools provide by GameMaker Studio 2 (like the Debug Module), there are also a few extra functions to help you:
Debugging
Please note that there are certain functions that have been added to the IDE which will show up only in the compatibility scripts when you import a game made with a previous version of GameMaker Studio. These functions should not be used and are only designed for compatibility. The following section of the manual lists these functions so that if you see them you know what they are, but please avoid using them in your projects: