A downloadable library for Windows

Download NowName your own price

An ImGui wrapper for modern GameMaker

Features

  • Support for the latest versions of GameMaker and ImGui
    • This includes window docking, tables, and various additions and improvements made in the docking branch of ImGui
  • Simple wrappers all contained in a single ImGui script
  • Native support for passing GameMaker sprites and surfaces to ImGui
  • Free and open source!

Usage

  1. Download the extension and import it into your GameMaker project (Tools -> Import Local Package)
    1. ⚠️ See "LTS Support" if using GameMaker LTS
  2. Create a persistent object and call the following functions in their respective events:
    1. ImGui.__Initialize() in the create event
    2. ImGui.__Update() in any updating event (suggested Begin Step)
    3. ImGui.__Render() in any rendering event (suggested: Draw GUI)
  3. Start using ImGui in the step event! See objExample's step event for some example GML.

⚠️ NOTICE

This build of ImGui_GM is Windows only!

As of 1/31/2023, ImGui_GM is usable in the v2023.1.0.58 release of GameMaker stable. You can download the latest version of GameMaker from here. See the LTS Support article on the wiki for information on using ImGui_GM with older versions of GameMaker.

FAQ

  • Q: I can't find "X" function?
  • A: Either GameMaker's autocomplete is glitched or the function hasn't been wrapped. Check the "ImGui.gml" script to see all wrapped functions 
  • Q: Function "X" wasn't in the script, what should I do?
  • A: Creating wrapper functions is a lotta work and I'm only one person! But you can submit an issue on GitHub or create a thread on community page to give me a heads up!
  • Q: How do I adjust the depth of what ImGui renders?
  • A: Calling ImGui.__Render() submits all verticies from ImGui, so depth is tied to wherever the function is called 
  • Q: Why is the game silently closing or acting strange when using ImGui_GM?
  • A: This could be anything, BUT! It could also very likely be an ImGui exception occurring. By default, the extension uses the release DLL  for performance; but you can extract "debug.zip" in "extensions/ImGui_GM/" to enable assertion popups. Just be sure to keep the release DLL and replace it back for best performance!
  • Q: Where can I download the latest version of GameMaker?
  • A: From this page here! Make sure you're using at least v2023.1.0.58 to ensure compatibility
  • Q: What's that... thing in the top left on the icon?
  • A: I have absolutely no idea how that thing got there?!

Documentation

  • JSDoc annotations can be found for each wrapper function in the "ImGui.gml" script. Overall API coverage is documented in COVERAGE.MD on the GitHub. Additionally, the ImGui_GM GitHub wiki includes documentation on any differences from native ImGui
  • In general, I've tried to wrap functions with identical arguments as their C++ counterparts, so you'll probably be okay to reference existing ImGui code. imgui_demo.cpp from the ImGui repo is super helpful!

Source Code

  • ImGui_GM's source can be found on GitHub

Special Thanks

StatusIn development
CategoryOther
PlatformsWindows
Rating
Rated 5.0 out of 5 stars
(3 total ratings)
Authornommiin
Made withGameMaker
Tagsextension, GameMaker, imgui, library
Code licenseMIT License
LinksSource code

Download

Download NowName your own price

Click download now to get access to the following files:

imgui_gm_v1_0_17.yymps 2 MB
imgui_gm_v1_0_16.yymps 2 MB
imgui_gm_v1_0_15.yymps 2 MB
imgui_gm_v1_0_14.yymps 3 MB
imgui_gm_v1_0_13.yymps 3 MB
imgui_gm_v1_0_12.yymps 2 MB
imgui_gm_v1_0_11.yymps 2 MB
imgui_gm_v1_0_10.yymps 2 MB
imgui_gm_v1_0_9.yymps 2 MB
imgui_gm_v1_0_8.yymps 2 MB
imgui_gm_v1_0_7.yymps 2 MB
imgui_gm_v1_0_6.yymps 2 MB
imgui_gm_v1_0_5.yymps 3 MB
imgui_gm_v1_0_4.yymps 2 MB
imgui_gm_v1_0_3.yymps 2 MB
imgui_gm_v1_0_2.yymps 2 MB
imgui_gm_v1_0_1.yymps 2 MB
imgui_gm_v1_0_0.yymps 2 MB

Development log

View all posts