A downloadable extension for Windows and Linux

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 and GameMaker Studio 1.4]

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

Downloadable PDF (Offline Documentation): https://drive.google.com/file/d/18xXZZlvazihPC62imZO4CkZYH2dfxYwz/

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

Download for GameMaker Studio 1.4/GameMaker Studio 2 (Google Drive)

This extension is for Windows, macOS, and Ubuntu.



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)
  • string widget_get_button_name(real type)
  • real widget_set_button_name(real type, string name)
  • *_async() variants of every dialog function

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 11 minutes ago
PlatformsWindows, Linux
AuthorSamuel Venable


DialogModule.gmx.zip 8 MB
DialogModule.yyp.zip 6 MB
FileDropper.gmx.zip 2 MB
FileDropper.yyp.zip 402 kB
FileManager.gmx.zip 7 MB
FileManager.yyp.zip 5 MB
ProcInfo.gmx.zip 15 MB
ProcInfo.yyp.zip 13 MB
VideoPlayer.gm81.zip 190 MB
VideoPlayer.gmx.zip 121 MB
VideoPlayer.yyp.zip 119 MB
VideoPlayer (Win32 Demo).zip 42 MB
VideoPlayer (Linux Demo).zip 14 MB