GameMaker
is a user-friendly, cross-platform game engine by YoYo Games that allows both beginner and advanced game developers to create 2D and 3D games for desktop, HTML5, and console platforms.
A curated list of awesome libraries, snippets, guides, and projects for GameMaker.
This page lists names, links and short descriptions. The original list on GitHub is the source and belongs to its authors.
is a user-friendly, cross-platform game engine by YoYo Games that allows both beginner and advanced game developers to create 2D and 3D games for desktop, HTML5, and console platforms.
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.
Tutorials from DragoniteSpam that dive into more advanced topics related to the GML language. They also have comprehensive 3D and shader introduction videos.
Can be compiled for free.
A constructor library for operating the primary functionalities of GameMaker.
Another project that adds OOP functionality to GameMaker.
Allows you to use ds_* types such as lists and maps inside of structs.
Easy data format saving and loading. Please note that newer versions of GameMaker contain json_parse and json_stringify. However, if you are converting csv, ini, xml, etc, you may find this very useful.
Lightweight objects using structs.
String and file encryption.
Hash table implementations.
A collection of matrix handling scripts.
Data structure manipulation.
Adds a foreach implementation for arrays, ds_lists, ds_maps, ds_stacks, ds_queues, ds_priorities and structs.
Deep clone class instances / constructed structs, anonymous structs and arrays nested in any order!
Safe surfaces without memory leaks.
Save and load GML structured data in binary files, skirting memory and performance concerns associated with loading JSON as a string.
A binary search library for efficient lookups on large datasets.
Game file archive tool.
An okay color manager for implementing OKLab/OKLCH colors.
A base class for custom exceptions.
The most complete list class. Garbage collected, fast sort function, [] accessor and referencing as an array.
Read and write buffers with per-bit granularity.
Dynamically load animated GIFs as sprites.
Async memory & resources manager (texture groups, audio groups, etc). 💸
Lightweight n-gram library for fuzzy search, predictive text or token sequence modeling.
Official, schema-driven code generator for native extensions.
Simple compression/decompression functions.
Windows only. Flash the game window border and/or its taskbar button.
A template project for building DLLs for GameMaker.
A suite of various extensions.
Custom window caption and border for Windows.
A DLL for interfacing with Windows Direct3D.
Cross-platform extension for getting system information and resource usage.
Play videos. However, the latest version of GMS has video support.
Webcam capture.
Unmaintained projects from the Rousr team (in case anyone asks where OutsideTheBox/Dissonance went).
Custom-shaped windows on Windows. 💸
Multiple windows on Windows. 💸
Native menus on Windows. 💸
Change window and/or taskbar icons on Windows.
Accept drag-and-dropping files onto a game window on Windows.
Drag-and-drop files out of the game window on Windows.
Dispatch/intercept window controls like Minimize (and other window-related functions).
A way to use JS extensions in GX/WebAssembly games.
A dynamic texture page loading system for HTML5.
Windows 11 backdrop materials.
Example on how to make native DLL extensions in Rust.
Deferred code execution improving on the native call_later() function.
GameMaker alarm replacement.
Robust alternative for alarms.
Another easy alternative to GameMaker alarms.
Easy-to-use timer system.
Interval-based timing methods modeled after JS's setTimeout and setInterval.
A pure code alternative to GameMaker timelines.
Schedule and delay the execution of callbacks.
Tweening framework with 30+ easing functions, keyframes, clips, motion paths, spring physics, oscillation, perlin noise, and full playback control.
Split initialization tasks over multiple frames, including support for asynchronous tasks.
Asynchronous functions for GameMaker.
Simulated threads for GameMaker.
A proof of concept for multiprocessing in GameMaker.
An adaptation of JavaScript Promises.
Another JS-style promise library.
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.
Flexible Assistant Toolkit. Similar to gm-core but comes with input and resolution handling.
General purpose game editor.
A collection of Juju's libraries in one convenient project.
Another cool all-encompassing template with a focus on building low-res, tile-based games.
Event handling library.
Interpolation functions.
Easing function similar to lerp().
Dynamic data loader.
Simple deep file search function.
A collection of math scripts.
A collection of scripts to improve the GML programming experience.
Juices up your game with useful functions.
A collection of CC0 programming libraries. (archived)
Additional GML helper functions. Some may be out of date with 2.3+ syntax.
Provides replacement methods for built-in motion variables.
Another great solution for surface management.
Functional programming in GML.
Automatically handles resizing the game view across different display and window sizes.
A script collection with a goal to "fill the gaps" in GML. 💸
Livecoding / interactive programming. 💸
Highscore and trophy system.
Simple file saving system.
Cross-platform programming language for modding support.
Improves Catspeak performance.
A tool to benchmark GML code.
Centralized and persistent live configs for seamless game tuning and balancing.
Organize your game's rendering into a customizable order.
Fast, flexible full‑text search for GameMaker. Built for small to medium datasets (10k‑50k+ docs) with real‑time indexing, fuzzy search, n‑grams, BM25/TF‑IDF scoring, and persistence.
Lightweight timestep library.
Vector graphics framework with SVG support, TrueType font rendering, path boolean operations and fill/stroke rendering.
A runtime scripting language with a Lisp-like syntax. Facilitates modding support via included JSON files, and debugging/live coding via an in-game console.
A fire-and-forget tweening library with support for animation curves and ease functions
Edit GameMaker projects in VSCode.
Code editor to use in conjunction with GameMaker.
Makes .yyp files for you.
Compile GameMaker projects via the command line. Here's a great guide on how to use it.
Experimental tool to define unlimited code snippets in the IDE.
Generate GML code from strongly-typed Haxe.
Makes games made in new GM versions run on Windows 7.
Organizes audio files compiled games into subdirectories. 💸
Runtime compiler and interpreter to load, compile, and execute GML code at runtime.
An easy to use complete GML interpreter to execute GML at runtime.
Easy to use in-game shell. Create your own commands, command meta data, command suggestions, history, etc.
Crash and logging system.
Small log writer.
Runtime asset inspector.
Pretty framerate display.
A fast GML analyzer to enforce code styling and detect errors.
An opinionated code formatter for GML.
A bit less opinionated code formatter for GML, with more options and functionality.
A fluent API for easily creating GameMaker debug views.
A runtime inspector and control panel. 💸
Helpful debug overlay views.
Testing Framework.
Uses Olympus to perform regression tests.
The ultimate automated testing framework.
Unit testing framework.
Unit testing in GameMaker.
No nonsense gamepad/keyboard library.
Touch controls plugin for Input.
Another library to handle multiple inputs for a single action.
Similar to Input as it acts as a wrapper for SDL, with actions and signalling, but also provides testing, on-screen diagnostics, and some other UI components related to peripherals, as well as pre-built end-user configuration menus that can be easily restyled.
Device vibration.
Tracks the Windows mouse pointer with high precision.
System-level custom cursors. 💸
System-level mouse locking. 💸
Use multiple mice and keyboards. 💸
Efficient multi-effects text renderer.
Another easy to use, highly compatible text renderer.
Narrative scripting tool.
Simple textboxes.
An interactive dialogue editor for writers and programmers.
Notifications in GameMaker.
A UI system with live reloading, template system, data binding, and a drag and drop feature.
Simple immediate mode GUI framework.
A pure GML solution to structure and control your menus, drawing parallels to .NET UI.
Immediate mode GameMaker UI library, tons of UI components.
Surface-based GUI that allows 100% control over UI styling and functionality.
A Library Full of useful scripts for implementing your UI designs in GameMaker.
Common UI elements (text input, checkboxes, radio buttons, dialog boxes, etc).
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.
Another smaller implementation but has a cool animation between menu options.
Generic Inventory System.
DLL/GML wrapper of Dear ImGui.
GUI implementation from Niris Games.
FriendlyCosmonaut.
Pixelated Pope.
Another interesting, Dear ImGui-inspired GUI toolkit. In development, but worth keeping an eye on.
Sprite-based UI Library for GameMaker LTS.
Minimalistic UI framework.
Flexpanel system for modern, touch-friendly interfaces.
Cross-platform UI framework.
Highly flexible, interactable books.
Simple book rendering framework.
Localization library.
Internationalization of texts simply and quickly, using JSON files.
Another localization solution focused on simplifying implementation.
Not a full localization solution. Extracts text strings for localization from a GameMaker Studio 2 project and saves it to a JSON file.
Similar export tool to GMLocalize but exports to a csv.
Mofile reader used for localization.
Localization library with a text extractor, short syntax, and ICU/pluralization support. 💸
A localization system with a web-based strings editor.
A localization system with real-time Google Sheets API synchronization.
A robust, pixel-perfect collision engine.
A tutorial to implement 45° slopes.
GameMaker implementation by Ben Allen and an expansion on Shaun Spalding's original 1.4 platformer tutorial.
A library for working with inverse kinematics.
Verlet integration by Sarek Lambert.
Verlet integration example used for visuals.
Robust object-based collision system from Pixelated Pope.
Adds NVIDIA PhysX to GameMaker for physics-based 2D/3D games. 💸
Physics-based destruction for procedural Box2D fracture effects.
A sprite playback system.
Placeholder asset generation.
Utilities for creating art asset pipelines.
Pixel art upscaling shader for awkward resolutions for GameMaker.
Automatically syncs aseprite files in GameMaker.
Similar to ASESync. Export Aseprite files to GameMaker sprites.
Texture page builder and image manager. Mimics GameMaker's texture page packing while offering higher flexibility.
Sprite animation manager.
Official support for FMOD in GameMaker.
GameMaker bindings for the FMOD Studio API.
Optimized delay effect. 💸
Demonstrates how to externally load .wav files.
Sound External Loader/Unloader Manager.
Load external .wav files at runtime.
Compact audio system. Great for dynamic music!
Live updating audio system.
Audio helper functions.
An engine for designing and implementing good audio in GameMaker. Updated to make use of the more recent GameMaker audio effects.
A fully-featured musical synthesizer for GameMaker.
Convenient music theory utilities for GameMaker.
Render audio wave forms from audio buffers in GameMaker.
Read and write WAV files in GameMaker.
Read and write MIDI files in GameMaker.
Instant preset audio effects for GameMaker.
Perfectly sync game elements to the rhythm of your music.
Easily monitor microphone volume in real time in GameMaker. 💸
LDtk Importer.
Advanced LDtk Importer.
Collects room data and stores it into a JSON for later use.
Combines user-defined chambers to create a dungeon.
A random level generation example (similar to Nuclear Throne) using GameMaker.
Generates a random tile map but not production ready in its current state.
An example of collidable, destructible terrain in GameMaker Studio using surfaces and grids.
Generates huge caves in a few hundred milliseconds.
Streamlined room loading at runtime. Great for reusable room prefabs and procedural generation.
Create particles with an easy UI and export into GML code.
A simplistic particle system wrapper that is designed to make creating particles fun and easy.
A particle implementation that comes with its own delta timing methods.
A library to create more complex particle emitters, systems and particles.
Built-in particle system that uses the particle asset built into the IDE.
2D lighting and shadows.
Tile-based Lighting Engine that projects shadows.
Very fast dynamic 2D lighting implementation from GrizzliusMaximus using shadow casting.
Complete and efficient 2D lighting & shadows solution. 💸
Transition Library.
50+ high-quality, customizable effects. 💸
Useful FOV depth effect. 💸
Fast alpha blur shader effect in two lines of code. 💸
42 customizable transitions. 💸
Turn your game visuals into a drawing/sketch style. 💸
Customizable water object to easily display reflections. 💸
Zik's CRT Utility Shader.
Glitch shader.
VHS Shader.
Example project to demonstrate shader-based depth sorting silhouettes. Tested on PC, Mac, HTML5, and Android.
Shader tutorials from Xor. Originally hosted at "xorshaders.com".
Blur Shader with adjustable radius.
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.
Blur Shader that limits radius but is very efficient.
A wonderful, versatile halftone shader. Lots of tweakable settings.
Sampled pixels on a Voronoi diagram.
Some fun magic fireballs.
GML implementation of the jump flooding algorithm, using shaders.
Draws outlines around sprites using a shader.
Palette Swapper.
Include code from external files in your shaders.
Convert shadertoy.com shaders to run in GameMaker (GLSL ES).
Gaming Reverends.
DragoniteSpam.
Official tool to turn 3D models into 2D sprites.
3D Rendering Solution. Comes with several modules to import obj, 3D camera setup, integration with ColMesh, and more.
3D Collision Library from TheSnidr.
Import BSP files into GameMaker. Currently just a demo but worth keeping an eye on.
Lightweight .obj/.mtl 3D model loader written in native GML.
Example of how to build 3D world models from a 2D grid.
Extensive WAD manager to load DOOM maps in GameMaker.
A collection of scripts to export and import Blender models to and from GameMaker.
Import/Export tools to load vertex buffer data out of Blender and into GMS.
3D model conversion tool.
Source for a GameMaker 3D game.
3D Particle System from TheSnidr.
Exports terrain to GM models, obj, or vertex buffers.
3D Snow Shader.
3D collision system that works with native GML.
Another cool collision library handling a majority of collision shape use-cases.
3D point lights using shaders. 💸
DragoniteSpam.
DragoniteSpam.
DragoniteSpam.
A model loader with support for animations.
Heightfield fluid simulation solver.
A primer on sprite stacking from Avis. Check out part 2 from dev_dwarf as well.
Sprite stacking engine.
Gizmo199.
A feature-rich framework for multiplayer games, written in GameMaker and Node.js.
Host/client implementation with a chat feature.
The network library from gm-core if you want to use this implementation without the entire gm-core suite.
A Gist demonstrating a network handshake.
Receive GET requests and upload files in GML.
Socket.IO extension for HTML5 games.
Non-dll, multiple client launcher for network development.
Wizirdi.
Rollback netcode library.
Very simple network code demonstration.
Network library which mimics pre-GM:Studio favorite networking extension 39dll using GM native functions.
Easy low-code multiplayer engine.
Discord integration.
Another Discord integration.
Oops, all Discord integration.
We really like Discord integration.
Various expansions to Steamworks SDK support in GameMaker: Studio.
Additional functionality for the YYG Steamworks extension.
A native extension for GOG.com SDK support.
Twitch integration.
GitHub REST API.
Pixelated Pope's guide on GameMaker's camera system.
Getting started with cameras in GameMaker.
An example of pixel-perfect yet smooth camera.
Local multiplayer split screen implementation that merges the camera when players are close.
Camera and resolution manager.
Editor, screenshake, view-resizing, follow modes, screen effects, etc. 💸
Complete resolution & screen manager (with split-screen support). 💸
Shaun Spalding.
Mash Arcade.
Make a deep copy of sequence assets/structs for editing at runtime.
Robust finite state machine.
Lightweight alternative to SnowState.
Another Easy-to-use Finite State Machine library.
Feature-rich finite state machine to handle complex objects.
State-based animation system.
A simple behavior tree system.
Finite state machine for NPC AI.
A* Pathfinding implementation.
Another A* pathfinding implementation.
Flexible pathfinding system with 3 different algorithms.
Shortest pathfinding system in (weighted) graph, using Dijkstra algorithm.
Enhance GameMaker Paths with CatmullRom and Bezier Interpolations.
High-performance, resumable navigation engine for GameMaker that handles grid, isometric, hex, and platformer maps with flow fields, dynamic costs, and multi-agent pathfinding.
Vertex-animated flag.
Bullet hell engine.
Accurate framework to make classic Sonic games.
Shows how to trace a line with primitives to create a colorful trail.
A script to generate starfields in GameMaker's GML language.
Antialiased primitives library for GameMaker.
Dozens of helper scripts, organized similarly to the official documentation.
Free resources from the community to become better at GameMaker Studio, game development and game jams.
Another great resource for open source libraries, assets, and snippets.
A dark theme for the IDE.
A retro groove theme for the IDE.
A full guide of the syntax features/changes in GML from Yal.
How garbage collection works in GML.
Tell GitHub your repo is all GML, not Yacc.
Fancy badges to add to your README files.
Have you made a gamemaker tool you want to share? Consider submitting it to the official Discord's GitHub.
FriendlyCosmonaut.
Pixelated Pope.
MicahTheManiac.
Blobfish.
Automatically generate documentation sites from GameMaker projects.
Example of playing instrument notes by changing pitch, using only one audio file.
Scripts that are used by GM when importing GM:S 1.4 projects, taken directly from runtime files.
Simple example of a pause screen without using surfaces.
Tutorial on using GitHub Actions as a CI/CD pipeline to automate building games.
A visual novel engine.
Subtitle support for video playback.
Excellent forum thread on GameMaker optimization.
Contains several posts on level generation.
Some great articles on working with JSON, regular expressions (regex), and drawing circles in GML.
Seasoned GameMaker dev's thoughts on GameMaker concepts and libraries.
Not a traditional blog but has great info on different GML techniques.
Tutorials on intermediate/advanced topics.
Hobbyist indie dev with a few GameMaker-related tutorials.
Covers highly technical elements of GameMaker with a focus on 3D.
Previous community manager at YoYo Games. Has a wide variety of beginner-friendly GameMaker tutorials and helpful updates on new GameMaker features.
Great playlist on building a farming RPG in GameMaker with several other tutorials.
Guides on GameMaker resolution management, cameras, GUI, and more.
Tons of shader demonstrations with a focus on 3D.
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.
A lot of awesome 3D showcases and tutorials for GameMaker.
GameMaker tutorials for top-down shooters and RPGs.
If you want to learn foundational material regarding GameMaker shaders, the "Shaders for Hobby-Programmers" playlist is definitely worth checking out.
Small indie dev company with a focus on providing GameMaker guides.
Tons of free GameMaker tutorials and news about GameMaker.
A couple of genre-specific GameMaker tutorials, integrating databases into GameMaker, and more.
A channel dedicated to both DnD and GML tutorials.
In-depth coding tutorials for the hobbyist game maker.
Series based on iceberg to display advanced programming ideas in GameMaker.
ellisonleao/magictools
:video_game: :pencil: A list of Game Development resources to make magic happen.
Calinou/awesome-godot
A curated list of free/libre plugins, scripts and add-ons for Godot
love2d-community/awesome-love2d
A curated list of amazingly awesome LÖVE libraries, resources and shiny things.
michelpereira/awesome-open-source-games
Collection of Games that have the source code available on GitHub
gbdev/awesome-gbdev
A curated list of Game Boy development resources such as tools, docs, emulators, related projects and open-source ROMs.
michelpereira/awesome-games-of-coding
A curated list of games that can teach you how to learn a programming language.