awesome-gamemaker
by bytecauldron
A curated list of awesome libraries, snippets, guides, and projects for GameMaker.
AI summary
Game development library
A curated collection of libraries, snippets, guides, and projects for creating 2D/3D games using the GameMaker engine
- stars
- 294
- forks
- 17
- watching
- 20
- awesome list
- 1
- entries
- 290
What's in the list
290 links in 28 sections, with live GitHub stats.activeno commit in 2y
Getting Started
- Beginner GameMaker Tutorials
Tutorials from Shaun Spalding. A comprehensive introduction to basic features of the IDE. Highly recommended to check out the full playlist if you're a complete beginner
- Advanced GameMaker Tutorials
Tutorials from DragoniteSpam that dive into more advanced topics related to the GML language. They also have comprehensive 3D and shader introduction videos
Getting Started / Recommendations
- Aseprite
For pixel art, is a popular alternative to the native sprite editor. 💸
Getting Started / Recommendations / Aseprite
Aseprite's source code
can be compiled for free
Getting Started / Recommendations
- Git LFS
Schedule routine backups for projects. If you are dealing with larger media files in your repo, try
Utilities
- gm-core
Foundational utility suite and a great starting point for new GameMaker projects. Comes with quality of life methods, networking tools, testing framework, delta timing, and more
FAST
Flexible Assistant Toolkit. Similar to gm-core but comes with input and resolution handling
- Stitch
Pipeline Development Kit. Includes cross-project imports, batch-creating/updating sprites and sounds, texture page management, and more. Tested on Windows only
DDDEditor
General purpose game editor
handytools
A collection of Juju's libraries in one convenient project
GameMaker Scaffolding
Another cool all-encompassing template with a focus on building low-res, tile-based games
Iota
Lightweight timestep library
Stopwatch
GameMaker alarm replacement
- wTimer
Robust alternative for alarms
FrogAlarm
Another easy alternative to GameMaker alarms
fuwafuwa
Easy-to-use timer system
Timer
Timer methods based on setTimeout and setInterval from JS
Broadcast
Event handling library
Polarca
Interpolation functions
- Twerp
Easing function similar to lerp()
Coroutines
Asynchronous functions for GameMaker
GML-OOP
A constructor library for operating the primary functionalities of GameMaker
GML-Classes
Another project that adds OOP functionality to GameMaker
Map
Hash table implementations
Matrices
A collection of matrix handling scripts
gm-stream
Data structure manipulation
Promises
An adaptation of JavaScript Promises
Destructors
Allows you to use ds_* types such as lists and maps inside of structs
SNAP
Easy data format saving and loading. Please note that newer versions of GameMaker contain and . However, if you are converting csv, ini, xml, etc, you may find this very useful
Dynamo
Dynamic data loader
LWO
Lightweight objects using structs
Gumshoe
Simple deep file search function
Lock And Key
String and file encryption
Mathematical Scripts
A collection of math scripts
Seedpod
A collection of scripts to improve the GML programming experience
- Trixscript
Juices up your game with useful functions
CoreExtension
A collection of CC0 programming libraries. (archived)
Voxeledphoton's FreeGMScripts
Additional GML helper functions. Some may be out of date with 2.3+ syntax
ForEach
Adds a foreach implementation for arrays, ds_lists, ds_maps, ds_stacks, ds_queues, ds_priorities and structs
DeepCopy
Deep clone class instances / constructed structs, anonymous structs and arrays nested in any order!
- Motion Scripts
Provides replacement methods for built-in motion variables
Cottonwool
Safe surfaces without memory leaks
Canvas
Another great solution for surface management
- zlib functions
Simple compression/decompression functions
- Window Taskbar
Windows only. Flash the game window border and/or its taskbar button
GMSDLL
A template project for building DLLs for GameMaker
- Extension Collection
A suite of various extensions
GMLodash
Functional programming in GML
Autoframer
Automatically handles resizing the game view across different display and window sizes
gameframe
Custom window caption and border for Windows
- GML+
A script collection with a goal to "fill the gaps" in GML. 💸
- GMLive
Livecoding / interactive programming. 💸
GMEdit
Code editor to use in conjunction with GameMaker
- YYP Maker
Makes files for you
Rubber
Compile GameMaker projects via the command line. Here's a on how to use it
gml-highscorer
Highscore and trophy system
SSave
Simple file saving system
GMD3D11
A DLL for interfacing with Windows Direct3D
GMTimeLine
A pure code alternative to GameMaker timelines
Catspeak
Cross-platform programming language for modding support
GMBenchmark
A tool to benchmark GML code
Agenda
Schedule and delay the execution of callbacks
- GMSnip
Experimental tool to define unlimited code snippets in the IDE
Airkiver
Game file archive tool
OKColor
An okay color manager for implementing OKLab/OKLCH colors
Exception
A base class for custom exceptions
ArrayList
The most complete list class. Garbage collected, fast sort function, [] accessor and referencing as an array
GM Sysinfo
Cross-platform extension for getting system information and resource usage
Debugging
rt-shell
Easy to use in-game shell. Create your own commands, command meta data, command suggestions, history, etc
Olympus
Testing Framework
Crispy
Unit testing in GameMaker
Snitch
Crash and logging system
- DeerLog
Small log writer
gms2-test
Unit testing framework
Meta
Runtime asset inspector
- FPS Speedometer
Pretty framerate display
Duck
A fast GML analyzer to enforce code styling and detect errors
Gobo
An opinionated code formatter for GML
Inspectron
A fluent API for easily creating GameMaker debug views
Input Handling
Input
No nonsense gamepad/keyboard library
- XeroInput
Another library to handle multiple inputs for a single action
InputCandy
Similar to Input as it acts as a wrapper for SDL, but also provides testing, on-screen diagnostics, and some other UI components related to peripherals
Good Vibes
Device vibration
Mouse Queue
Tracks the Windows mouse pointer with high precision
- Native Cursors
System-level custom cursors. 💸
User Interface
Scribble
Efficient multi-effects text renderer
- Scripture
Another easy to use, highly compatible text renderer
Chatterbox
Narrative scripting tool
Textboxy
Simple textboxes
Crochet
An interactive dialogue editor for writers and programmers
NotificationSystem
Notifications in GameMaker
YUI
A UI system with live reloading, template system, data binding, and a drag and drop feature
Guido
Simple immediate mode GUI framework
GMUI-Framework
A pure GML solution to structure and control your menus, drawing parallels to .NET UI
GMS2-UI-Library
A Library Full of useful scripts for implementing your UI designs in GameMaker
Emu UI
Common UI elements (text input, checkboxes, radio buttons, dialog boxes, etc)
- Easy And Fast Menu
Simple implementation to have a menu up and running in seconds. Seems like a great fit if you're not looking for a bigger solution like GMUI
- Pause Menu
Another smaller implementation but has a cool animation between menu options
- Magpie
Generic Inventory System
- ImGuiGML
DLL/GML wrapper of Dear ImGui
- GUI Framework
GUI implementation from Niris Games
- Menu Tutorial
FriendlyCosmonaut
- Smart Clickable GUI
Pixelated Pope
zitk
Another interesting, Dear ImGui-inspired GUI toolkit. In development, but worth keeping an eye on
- gooey
Sprite-based UI Library for GameMaker LTS
SimpleUI
Minimalistic UI framework
Localization
polyglot
Localization library
gm-i18n
Internationalization of texts simply and quickly, using JSON files
lexicon
Another localization solution focused on simplifying implementation
GMLocalize
Not a full localization solution. Extracts text strings for localization from a GameMaker Studio 2 project and saves it to a JSON file
Small Pentapop Localization Tool
Similar export tool to GMLocalize but exports to a csv
gms2-mofile
Mofile reader used for localization
Physics
Loj Hadron Collider
A robust, pixel-perfect collision engine
- On Slopes and Grids
A tutorial to implement 45° slopes
- GMS2 Platforming System
GameMaker implementation by Ben Allen and an expansion on Shaun Spalding's original 1.4 platformer tutorial
Inverse Kinematics Extension
A library for working with inverse kinematics
- Verlet Integration Library
Verlet integration by Sarek Lambert
GMVerlet-Integration
Verlet integration example used for visuals
- Top-Down Movement & Collision
Robust object-based collision system from Pixelated Pope
Sprites
AESnips
A sprite playback system
phgen
Placeholder asset generation
Disarm
A spriter skeletal animation at runtime
Spritely
Image correction and cleanup for 2D video game sprites
PixelUpscaler
Pixel art upscaling shader for awkward resolutions for GameMaker
- ASESync
Automatically syncs aesprite files in GameMaker
conveyorbelt
Similar to ASESync. Export Aesprite files to GameMaker sprites
Collage
Texture page builder and image manager. Mimics GameMaker's texture page packing while offering higher flexibility
Audio
FML
GameMaker bindings for the FMOD Studio API
FMODGMS
This doesn't support everything FMOD has to offer and the project itself has been put on-hold
- Echo/Delay Effect
Optimized delay effect. 💸
wavload
Demonstrates how to externally load .wav files
audioExt
Sound External Loader/Unloader Manager
ExternalAudio
Load external .wav files at runtime
Phonix
Compact audio system. Great for dynamic music!
Vinyl
Live updating audio system
LineAudio
Audio helper functions
Bard
An engine for desiging and implementing good audio in GameMaker. Updated to make use of the more recent GameMaker audio effects
Levels
- LDtk to GMS
LDtk Importer
LDtkParser
Advanced LDtk Importer
Room Data Inspector
Collects room data and stores it into a JSON for later use
Random Dungeon Generator
Combines user-defined chambers to create a dungeon
Random Level Generator
A random level generation example (similar to Nuclear Throne) using GameMaker
- Wave Function Collapse
Generates a random tile map but not production ready in its current state
Destructible Terrain
An example of collidable, destructible terrain in GameMaker Studio using surfaces and grids
- Cellular Automata Caves
Generates huge caves in a few hundred milliseconds
Particles
- Particle Editor
Create particles with an easy UI and export into GML code
Particles Wrapper
A simplistic particle system wrapper that is designed to make creating particles fun and easy
- Advanced Particles
A particle implementation that comes with it's own delta timing methods
Pulse
A library to create more complex particle emitters, systems and particles
Burrn
Built-in particle system that uses the particle asset built into the IDE
Lighting
Bulb
2D lighting and shadows
Lighting System 2D
Requires GameMaker 2.2+ according to the repo
GameMaker Lighting Engine
Tile-based Lighting Engine that projects shadows
- Lighting Systems
Very fast dynamic 2D lighting implementation from GrizzliusMaximus using shadow casting
Shaders
- TransFX
Transition Library
- Post-Processing FX
50+ high-quality, customizable effects. 💸
- BJRTFX
Zik's CRT Utility Shader
- bktGlitch
Glitch shader
- H O R R I - F I
VHS Shader
- Depth Sorted Sillouettes
Example project to demonstrate shader-based depth sorting sillouettes. Tested on PC, Mac, HTML5, and Android
- GMShaders.com
Shader tutorials from Xor. Originally hosted at "xorshaders.com"
1PassBlur
Blur Shader with adjustable radius
Bokeh Blur
Extension of the 1PassBlur which provides a different look. Similar to a real lens blur. Although it's much slower than 1Pass or Dual-Kawase
Dual-Kawase
Blur Shader that limits radius but is very efficient
- Xor's Halftone
A wonderful, versitile halftone shader. Lots of tweakable settings
Voronoi
Sampled pixels on a Voronoi diagram
Fire-Fun
Some fun magic fireballs
- Jump Flooding
Jump Flooding Algorithm for GameMaker made with shaders
Outline Shader
Outline shader
Chameleon
Palette Swapper
Xpanda
Include code from external files in your shaders
- Shadertoy to GameMaker
Convert shadertoy.com GLSL shaders to run in GameMaker
- Shader Tutorials
Gaming Reverends
- Shader Tutorials
DragoniteSpam
3D
3D-2D
Official tool to turn 3D models into 2D sprites
BBMOD
3D Rendering Solution. Comes with several modules to import obj, 3D camera setup, integration with ColMesh, and more
- ColMesh
3D Collision Library from TheSnidr
- BSP 4 GMS
Import BSP files into GameMaker. Currently just a demo but worth keeping an eye on
dotobj
Lightweight .obj/.mtl 3D model loader written in native GML
Bronze Box
Example of how to build 3D world models from a 2D grid
- Camera3D
Simple 3D camera setup
- Blender to GameMaker
A collection of scripts to export and import Blender models to and from GameMaker
DmrVBM
Import/Export tools to load vertex buffer data out of Blender and into GMS
- Penguin
3D model conversion tool
Three Mice In a Trench Coat
Source for a GameMaker 3D game
- sPart
3D Particle System from TheSnidr
- Terrain Editor
Terrain editor. Exports to gm models, obj, or vertex buffers
Cardboard
Isometric 3D Renderer
- Snowy Snow
3D Snow Shader
- 3D Fragment Point Lights
3D point lights using shaders. 💸
- 3D GameMaker Playlist
DragoniteSpam
- 3D Collisions Playlist
DragoniteSpam
- 3D Optimization Playlist
DragoniteSpam
Sprite Stacking
- Beginners Guide to Sprite Stacking
A primer on sprite stacking from Avis. Check out part 2 from dev_dwarf as well
- Fauxton3D
Sprite stacking engine
- Sprite Stacking Tutorials
Gizmo199
Networking
Warp
A feature-rich framework for multiplayer games, written in GameMaker and Node.js
- EZ Networking
Host/client implementation with a chat feature
Patchwire-GM
The network library from gm-core if you want to use this implementation without the entire gm-core suite
- GMHandshake
A Gist demonstrating a network handshake
HTTP GML
Recieve GET requests and upload files in GML
GMNest
Socket.IO extension for HTML5 games
MultiClient
Non-dll, multiple client launcher for network development
- Good GameMaker Rollback
Rollback netcode library
GM Networking
Very simple network code demonstration
Boomers Networking
Network library which mimics pre-GM:Studio favorite networking extension 39dll using GM native functions
Integrations
DHook
Discord integration
GMS2_RPC
Another Discord integration
- NekoPresence
Oops, all Discord integration
Steamworks.gml
Various expansions to Steamworks SDK support in GameMaker: Studio
Parworks
Additional functionality for the YYG Steamworks extension
GOG.gml
A native extension for GOG.com SDK support
GMTwitch
Twitch integration
Camera
- GameMaker Cameras: As Simple as Possible
Pixelated Pope's guide on GameMaker's camera system
- Camera System Guide
Getting started with cameras in GameMaker
Pixel Perfect Smooth Camera
An example of pixel-perfect yet smooth camera
- Dynamic Splitscreen
Local multiplayer split screen implementation that merges the camera when players are close
STANNcam
Camera and resolution manager
- Camera All-In-One
Editor, screenshake, view-resizing, follow modes, screen effects, etc. 💸
Sequences
- Sequences Tutorial
Shaun Spalding
- Making Splash Screen Sequences
Mash Arcade
DuplicateSequence
Make a deep copy of sequence assets/structs for editing at runtime
State Machines
SnowState
Robust finite state machine
FastSM
Lightweight alternative to SnowState
- wFSM
Another Easy-to-use Finite State Machine library
- True State
Feature-rich finite state machine to handle complex objects
Pinocchio
State-based animation system
BehaviorTree
A simple behavior tree system
FSM AI
Finite state machine for NPC AI
Pathing
- Aquila
A* Pathfinding implementation
A-Star-Pathing
Another A* pathfinding implementation
- Grid-based Pathfinding Scripts
Flexible pathfinding system with 3 different algorithms
Pathfinding in graph
Shortest pathfinding system in (weighted) graph, using Dijkstra algorithm
Useful Extras
Animated Flag
Vertex-animated flag
- Video Player Extension
Play videos. However, the latest version of GMS has video support
- GMESCAPI
Webcam capture
Danmaku Project
Bullet hell engine
OrbinautFramework
Accurate framework to make classic Sonic games
- Mouse Trail Effect
Shows how to trace a line with primitives to create a colorful trail
Starfield Generator
A script to generate starfields in GameMaker's GML language
CleanShapes
Antialiased primitives library for GameMaker
- GMLScripts.com
Dozens of helper scripts, organized similarly to the official documentation
- GM48 Resources
Free resources from the community to become better at GameMaker Studio, game development and game jams
- GameMaker Kitchen
Another great resource for open source libraries, assets, and snippets
- obj_podcast
Gamedev-centered podcast featuring members of the GameMaker community
Dracula Theme
A dark theme for the IDE
Gruvbox Theme
A retro groove theme for the IDE
- 2.3 Syntax in Detail
A full guide of the syntax features/changes in GML from Yal
- GameMaker Garbage Collection
How garbage collection works in GML
- GitHub Yacc to GML Fix
Tell GitHub your repo is all GML, not Yacc
GameMaker Repo Badges
Fancy badges to add to your README files
- GameMaker Discord Community GitHub
Have you made a gamemaker tool you want to share? Consider submitting it to the official Discord's GitHub
- Source Control with Git & GameMaker
FriendlyCosmonaut
- Game Resolution & Aspect Ratio Management
Pixelated Pope
- Setting up a Virtual Machine for GameMaker
MicahTheManiac
- Making Attacks Feel Good
Blobfish
vim-GML
High quality Vim syntax highlighting for GameMaker
- Rousr Release
Unmaintained projects from the Rousr team (in case anyone asks where OutsideTheBox/Dissonance went)
Tome
Automatically generate documentation sites from GameMaker projects
Piano example
Example of playing intrument notes by changing pitch, using only one audio file
Compatibility scripts
Scripts that are used by GM when importing GM:S 1.4 projects, taken directly from runtime files
Pause example
Simple example of a pause screen without using surfaces
- Build Automation, CI/CD
Tutorial on using GitHub Actions as a CI/CD pipeline to automate building games
Blogs
- RefresherTowel
Contains several posts on level generation
- Tony Str
Some great articles on working with JSON, regular expressions , and drawing circles in GML
- Katsaii
Some articles on more advanced GML topics
- Meseta on Game Dev
Seasoned GameMaker dev's thoughts on GameMaker concepts and libraries
Thoughts On GameMaker
Not a traditional blog but has great info on different GML techniques
YouTube
- Jordan Guillou
Hobbyist indie dev with a few GameMaker-related tutorials
- DragoniteSpam
Covers highly technical elements of GameMaker with a focus on 3D
- Shaun Spalding
Previous community manager at YoYo Games. Has a wide variety of beginner-friendly GameMaker tutorials and helpful updates on new GameMaker features
- FriendlyCosmonaut
Great playlist on building a farming RPG in GameMaker with several other tutorials
- Pixelated Pope
Guides on GameMaker resolution management, cameras, GUI, and more
- Xor
Tons of shader demonstrations with a focus on 3D
- GamingEngineer
A GameMaker developer that has been in the community for many years. They have a wide variety videos showcasing what GameMaker is capable of, with a focus on 3D
- TheSnidr
A lot of awesome 3D showcases and tutorials for GameMaker
- Peyton Burnham
GameMaker tutorials for top-down shooters and RPGs
- Gaming Reverends
If you want to learn foundational material regarding GameMaker shaders, the "Shaders for Hobby-Programmers" playlist is definitely worth checking out
- Let's Learn This Together
Small indie dev company with a focus on providing GameMaker guides
- Matharoo
Tons of free GameMaker tutorials and news about GameMaker
- GravityShift Games
A couple of genre-specific GameMaker tutorials, integrating databases into GameMaker, and more
- Slyddar
A channel dedicated to both DnD and GML tutorials
- SamSpadeGameDev
In-depth coding tutorials for the hobbyist game maker
- gentoo's iceberg Playlist
Series based on iceberg to display advanced programming ideas in GameMaker
Footnotes
GameMaker Libraries
This is based on a list from and from Gleb Tsereteli with additional links/details
Awesome Gamedev
If you need more general game development resources, check out or
Nothing in this list matches your filter.
Featured in 1 awesome list
Each link jumps to the spot where the list mentions awesome-gamemaker.