Also available for download on

[Made for GameMaker Studio 2]

Online Documentation:



Here's an example game that uses this extension.

This extension is for Windows, macOS, Ubuntu, and Kubuntu.

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 message_get_caption()

  • string message_set_caption(string str)

  • string widget_get_system() // Returns current widget system

  • string widget_set_system(string sys) // "Zenity" or "KDialog"

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.

End User Licence Agreement (EULA).

Changes in 3.0.0

Please replace all Scripts and Included Files in your existing projects to apply this update!!!

  • [All Platforms] Updated included "File Manager" to version 3.0.0.

Version 3.0.0. Published February 25, 2019

Created with GameMaker: Studio v1.4.1804

Age Rating: 4+

Average Rating

Your review

You can only review assets you've bought.


Anonymous 14 July 2019


Samuel Venable (Publisher) 15 July 2019


I don't have any way to know what you are unhappy with regarding this extension if you don't give me any details other than knocking two stars off. Clearly, there is something about this extension you don't like. I am unable to know what that is and offer free support, bug fixes, or improvements to accommodate that, if you don't inform me what the issue you are having is. I am more than happy to improve and make this extension better and the best it can be for free, but reviews such as this doesn't allow me to do anything about the issues you are facing, because you haven't told me what those are. I thank you for the feedback. I hope you consider to contact me and/or update this review with the issues you need help with, which again, I am offering for free happily. :) It's important that I deliver with a product that works as advertised, in every imaginable way, without exceptions. Quality is my number one priority with my work.

I hope we'll get this sorted out asap!


Anonymous 13 June 2019


Anonymous 13 April 2019


Very useful.
... for future versions I propose that you can choose the button where a message starts (MB_DEFBUTTON2 ...).


Samuel Venable (Publisher) 13 April 2019


This is possible on all platforms except Linux, last I checked. But both Zenity and KDialog have these features planned by their dev teams if I remember correctly, so once they add support for it, I'll be more than happy to add this for you on all platforms. I need everything to be cross-platform to avoid complaints and people who won't bother to read all the details I put in the description regarding operating system dependent features, if it weren't for that concern, I'd add it right now!

Thank you for you suggestion, and I look forward to adding it.


Anonymous 05 April 2019

Incredibly helpful

Thank you Samuel, this asset saved me a lot of time and I'm already really grateful to you, but is there a way to disable or, at least, increase characters limit when using get_string?


Samuel Venable (Publisher) 12 April 2019


I tested and verified this is a bug on Windows. Thank you for your bug report. I have some freelance work to catch up on but I'll be sure to get this sorted out before you know it. :)



Brandon S 04 October 2018

This review was left for a previous version of this asset.


Paul C 01 September 2018

Excellent Asset

Works straight out of the box, very convenient and easy to use, and seamlessly functions cross-platform (I tested on Windows and Mac).

This review was left for a previous version of this asset.


Samuel Venable (Publisher) 04 September 2018

Hi Paul C.

Thanks for your kind review. If you ever decide you want to target Linux, don't forget to add zenity to the list of your game's dependecies, which can be installed via the terminal command provided in the description of this asset. :)



Matěj Š 02 May 2018

Awesome extension one of the best folks I've had an honor to meet with.

This review was left for a previous version of this asset.


Samuel Venable (Publisher) 02 May 2018

Thanks man! It's very much appreciated! :)

Package contents

Loading, please wait

What is the issue?

Back to Top