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 

The macOS dylib file is not code signed; please code sign it before testing and distributing for macOS.

[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 Zenity and KDialog installed.

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 7 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