Runtime room loading for GameMaker 2024.13+
GMRoomLoader is a pure GML Free and Open Source GameMaker library made for creating room prefabs and loading room contents at runtime, AKA "loading other rooms into the current room".
It provides tools to process the data returned by room_get_info(), use that data to load room contents efficiently during gameplay, and clean up created elements when needed.
- ℹ️ Download the
.yympslocal package from the Releases page. - ℹ️ Refer to the Documentation for installation instructions, usage examples and full API reference.
- Procedural Generation. Create custom level templates and place them procedurally throughout your levels (e.g. dungeon rooms, chunks, NPCs or randomized props).
- Chunking. Divide large rooms into smaller sections, loading or unloading them dynamically as the player moves closer or farther away.
- Room Thumbnails. Take screenshots of your rooms and use them in level selection menus, seamless room transitions or loading previews.
- UI. Design your interfaces directly in the Room Editor and load them on the fly in-game (as of 2024.13, this is mostly superseded by GameMaker's UI Layers).
- Pure GML Implementation. No extensions or external tools required.
- Easy Data Handling. Initialize and remove data in multiple ways: Single/Multiple, Array, Prefix, Tag, or All. Retrieve core room info with Getters.
- Flexible Loading. Load Full Rooms, Instances or Tilemaps at any position in the current room - all with optional origin, scaling, mirroring, flipping and rotation.
- Filtering Options. Filter elements by Asset Type and/or layers by Layer Name.
- Full Lifecycle Control. Manage loaded contents with Payload tracking - Fetch IDs and Destroy loaded elements.
- Screenshotting. Capture room Screenshots from anywhere, without ever visiting target rooms - with optional part definition, scaling and filtering.
- Fluent State Builder. Configure optional arguments before loading or screenshotting in a simple, English-like flow.
- 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!
- Created and maintained by Gleb Tsereteli.
- Logos and demo rooms designed by Gleb's wifey - Kate ❣️
- Originally motivated by and made for TabularElf's Cookbook Jam #1.
- Thank you to YellowAfterlife for inspiring this library with his OG GMRoomPack, various help and ideas.
- Thank you to Topher Anselmo for inspiration and help with the new VitePress-based documentation.
- Demo art by Kenney the ✨Asset Jesus✨.
GMRoomLoader was nominated for Best Tool in the 2024 GameMaker Awards!

- Juju Adams' undisclosed commercial games.
- IndieGameClinic's DirtWorld.
- GrogDev's and PixelatedPope's Desukupet.
- BrewerTheGreater's Project Reality: Shattered.
- Geoff Moore's Goober Launch.
- And more to come :)
- GMRoomLoader: Simultaneous Room Loading in GameMaker by DragoniteSpam. Michael introduces GMRoomLoader basics and goes over a few interesting edge cases.
- More coming soon!
