A downloadable extension for Windows, macOS, and Linux

Buy Now$11.99 USD or more

Contact Publisher | Support

Also available for download on the GameMaker Maketplace

[Made for GameMaker Studio 2]

Online Documentation: http://dialogmodule.weebly.com/

GitHub: https://github.com/time-killer-games/DialogModule/

This extension is for Windows, macOS, and Ubuntu.


Platform: Windows
API: Win32 (VC++)

Platform: macOS
API: Cocoa (Obj-C)

Platform: Ubuntu
API: Zenity (GTK)

Platform: KDE neon
API: KDialog (KDE)


Override GameMaker Studio 2's default Desktop dialog functions with improved implementations over the original ones, while bringing back obsolete functions from pre-Studio branded versions of GameMaker, and of course introducing some new functions.

File Manager is included as you will need to copy or move files and/or directories in and out of your sandbox directory, (i.e. using the built-in constant "game_save_id", which returns your game's sandbox directory), for them to be accessible to this extension's dialogs.

After showing a dialog you must clear the keyboard and mouse state since GameMaker Studio 2 doesn't do that on its own:



Functions included:

  • real show_message(string str)
  • real show_message_cancelable(string str)
  • real show_question(string str)
  • real show_question_cancelable(string str)
  • real show_attempt(string str)
  • real show_error(string str, real abort)
  • string get_string(string str, string def)
  • string get_password(string str, string def)
  • real get_integer(string str, real def)
  • real get_passcode(string str, real def)
  • string get_open_filename(string filter, string fname)
  • string get_open_filename_ext(string filter, string fname, string dir, string title)
  • string get_open_filenames(string filter, string fname)
  • string get_open_filenames_ext(string filter, string fname, string dir, string title)
  • string get_save_filename(string filter, string fname)
  • string get_save_filename_ext(string filter, string fname, string dir, string title)
  • string get_directory(string dname)
  • string get_directory_alt(string capt, string root)
  • real get_color(real defcol)
  • real get_color_ext(real defcol, string title)
  • string widget_get_caption()
  • real widget_set_caption(string str)
  • string widget_get_icon()
  • real widget_set_icon(string icon)
  • string widget_get_system() // Returns current widget system
  • real widget_set_system(string sys) // "Zenity" or "KDialog"
  • string widget_get_owner()
  • real widget_set_owner(string hwnd)

The DLL's full source code included.

The Linux apps that use this extension need either Zenity or KDialog installed, (Zenity is needed by default).

To install Zenity on Debian-based Linux distributions, enter this command into the terminal:

sudo apt-get install zenity

To install KDialog on Debian-based Linux distributions, enter this command into the terminal:

sudo apt-get install kdialog

Very big thanks to Josh Ventura, for writing the widen() and shorten() scripts, enabling UTF-8 support on Windows.

Updated 2 days ago
PlatformsWindows, macOS, Linux
AuthorSamuel Venable


Buy Now$11.99 USD or more

In order to download this extension you must purchase it at or above the minimum price of $11.99 USD. You will get access to the following files:

DialogModule.yyp.zip 1 MB

Download demo

DialogModule.exe.zip 2 MB
DialogModule.app.zip 4 MB
DialogModule.elf.zip 2 MB