Use Cases
May 28, 2026 · View on GitHub
GMRoomLoader v3.1.1
Runtime room loading for GameMaker LTS 2026
GMRoomLoader is an award-winning Free and Open Source GameMaker library that turns rooms into reusable building blocks by loading their contents into the current room at runtime.
Design levels across multiple rooms and combine them seamlessly during gameplay. Build procedural dungeons, chunked open worlds, endless runners, and more.
- ℹ️ Download the
.yympslocal package from the latest release page. - ℹ️ Refer to the Documentation for installation instructions, usage examples, and full API reference.
- ℹ️ See the Getting Started page to load your first room.
Use Cases
- Procedural Generation. Design hand-crafted room templates and assemble them at runtime to create unique levels on every run. Build modular worlds, dungeons, endless runners, or anything else that needs multiple rooms loaded into one.
- Chunking. Split your world into chunks and load or unload them dynamically as the player moves. Everything happens inside a single room, with no room transitions or loading screens.
- Stamp Pools. Design multiple layouts for enemy encounters, NPC placements, or collectible layouts. Load from the pool at random to keep repetitive areas feeling varied.
- Screenshotting. Capture screenshots of any room without ever visiting it, and use them for level select menus, building previews, or transition effects between rooms.
Features
- Flexible Loading. Load Full Rooms, Instances or Tilemaps at any position in the current room - all with optional origin, scaling, mirroring, flipping and rotation.
- Screenshotting. Capture room Screenshots from anywhere, without ever visiting target rooms - with optional part definition, scaling and filtering.
- Full Lifecycle Control. Manage loaded contents with Payload tracking - Fetch IDs and Destroy loaded elements.
- Filtering Options. Filter elements by Asset Type and/or layers by Layer Name.
- Fluent State Builder. Configure optional arguments before loading or screenshotting in a simple, English-like flow.
- Easy Data Handling. Initialize and remove data in multiple ways: Single or Multiple, Array, Prefix, Tag, or All. Retrieve core room info with Getters.
- Quick Debug Loading. Load any room in the project at the mouse position with fully configurable parameters via the Debug View interface. Perfect for quick testing - no code required!
GameMaker Awards!
GMRoomLoader won in the Best Tool category at the GameMaker Awards after being nominated two years in a row in both 2024 and 2025!
Credits
- Created and maintained by Gleb Tsereteli.
- Graphics and demo rooms designed by my wifey Kate ❣️
- Wonderful logo by the very talented neerikiffu.
- Originally motivated by and made for TabularElf's Cookbook Jam #1.
- Thank you to Vadym/YellowAfterlife for inspiring this library with his OG GMRoomPack, various help and ideas.
- Thank you to Topher Anselmo for inspiration and help with the VitePress-based documentation.
- Demo art by Kenney the ✨Asset Jesus✨.
Games Using GMRoomLoader
- Juju Adams' undisclosed commercial games.
- DirtWorld by Joe Baxter-Webb (AKA Indie Game Clinic and KRANKENHAUS).
- Horizonite by Phablix.
- Flashes of Chaos by Brainburn Studio.
- Desukupet by GrogDev and PixelatedPope.
- Canon by sonyPlaytation.
- Goober Launch by Geoff Moore.
- BloodVeil by Christian de Mander.
- Project Reality: Shattered by BrewerTheGreater.
- And more to come! Feel free to share your project with me if you'd like it listed here, I'd love to see what you've built! 🙂
Tutorials
- GMRoomLoader: Simultaneous Room Loading in GameMaker by DragoniteSpam. Michael introduces GMRoomLoader basics and goes over a few interesting edge cases.
- More coming soon!