ImGM
Dear ImGui wrapper for GameMaker
Install / Use
/learn @knno/ImGMREADME
ImGM — ImGui for GameMaker
Background
This repository is heavily inspired and based on Nommiin's ImGui_GM
It was an inspiration for this to be extensible with ImGui extensions. So it needed refactoring.
It is basically a GitHub fork of ImGui_GM with alot of changes and updates. While mostly keeping the same concept ideas, workflows, and alot of the source code including wrappers (with a little changes).
Credits go to Nommiin also for helping me out
So what is this?
ImGM is a wrapper extension that brings the power of Dear ImGui to modern GameMaker projects. It enables immediate-mode GUI rendering with DLL integration, modular extension support, and rapid prototyping workflows.
🚀 Built for developers who want expressive UI, debug tools, and editor-like interfaces inside GameMaker.
✨ Features
- ✅ Latest ImGui version (auto-synced via submodule)
- 🧩 Modular extension system — easily wrap new ImGui features
- 🛠️ DLL-backed performance — native calls with minimal overhead
- 📦 Auto-generated wrappers — build-time report generation
- 🧪 Example project included — test and iterate quickly
📦 Installation
For Usage
1. Download the Package
Download the GameMaker package file(s) from the latest stable release.
2. Import the Package to your GameMaker project
Click import local package in GameMaker IDE when your project is opened. Select the downloaded .yymps file.
When the package is imported, you will have the extension added to your GameMaker project.
3. Add the ImGM persistent controller object to the first room
Just add the persistent object obj_ImGM to a room, preferrably the first room.
This will enable you to call any extension function afterwards. As the object will manage the life-cycle automatically.
Now you can call ImGui functions in your own code!
For Development
See BUILD.md
🧪 Example Usage
ImGui.Begin("Hello");
ImGui.Text("Welcome to ImGM!");
ImGui.End();
📚 Documentation
See the Docs for:
- Full documentation of the project
- Full guides
- Build instructions
- Extension writing guide
- Explanation of tools
- How to debug
- Known issues ...
🛠️ Contributing
Pull requests welcome! Check out the CONTRIBUTING.md and Issues for ideas.
📜 License
This project is licensed under MIT — free to use, modify, and distribute.
💬 Credits
Created by Kenan Masri
Based on Nommiin's ImGui_GM
Using Omar's Dear ImGui library
Using various ImGui extensions by their authors
Powered by Dear ImGui and the GameMaker community.
Please see the Credits section in ImGui_GM
