This extension is for Windows and Ubuntu.

Manage files both inside and outside the sandbox with the greatest of ease.

Functions included:

  • real file_copy_fmns(string fname,string newname)

  • real file_move_fmns(string oldname,string newname)

  • real file_rename_fmns(string oldname,string newname)

  • real file_exists_fmns(string fname)

  • real file_delete_fmns(string fname)

  • real directory_create_fmns(string dname)

  • real directory_copy_fmns(string dname,string newname)

  • real directory_move_fmns(string oldname,string newname)

  • real directory_rename_fmns(string oldname,string newname)

  • real directory_exists_fmns(string dname)

  • real directory_delete_fmns(string dname)

  • string program_directory_fmns()

The DLL's full source code included.

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 1.5.0

Added support for UTF-8 encoding.

Version 1.5.0. Published October 6, 2017

Created with GameMaker: Studio v1.4.1773

Age Rating: 4+

Average Rating

Your review

You can only review assets you've bought.


Anonymous 14 March 2018

No problems yet

Works great! Just what I needed!


Amy M 15 January 2018

Works great!

This seems to work exactly as it should, thanks! Any chance of Mac compatibility in the future?


Samuel Venable (Publisher) 16 January 2018

Hi Amy M.

I'm not 100% if it would work out-of-the-box, but you are welcome to try compiling it for Mac using the same exact source code, as either the Windows or Linux version, provided in the included files, and it should most likely work I'd imagine, because the code is portable. Extract either Code::Blocks project from the zip, load the *.CBP file into Code::Blocks for Mac, and hope for the best! I don't own a Mac, so I can't do this myself. If you need further assistance, please contact me with the "Contact Publisher" link at the top of this page.



Anonymous 02 December 2017

Writing to files?

It works great if you're just pulling in a bunch of read-only files dynamically, but I can't seem to write to the save area then copy that file elsewhere using file_copy_fmns().


Samuel Venable (Publisher) 04 December 2017


Try this, which I just tested and verified it works on my end:

f = file_text_open_write(game_save_id + "example.txt");
file_text_write_string(f, "this is an example text file");

file_copy_fmns(game_save_id + "example.txt", working_directory + "example.txt");

/* Basically, you write/edit files when they are in your sandbox folder (a.k.a. game_save_id).
Then, you can copy the files in and out of there as needed. Remember to test a compiled game.



Anonymous 20 August 2017

This guy is honestly the best :)

The rename script doesn't work for me. All it just does it delete the file when it attempts to rename it.

The code [Left Pressed]

if global.fileopen = ""
show_message("No File Selected")
} else {
newname = get_string("Enter a new name for this file",string (filename_name(global.fileopen)))
global.fileopen = a file that the user opened

(Thanks, it works now)

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


Samuel Venable (Publisher) 20 August 2017

Hi. Thanks for the review and compliment. :)

It's not working because you need to specify the path to the file for both arguments.

As an example, if you are using get_open_filename, you may use filename_path like so:

// Left Pressed
global.fileopen = get_open_filename("","")
if global.fileopen = ""
show_message("No File Selected")
} else {
newname = get_string("Enter a new name for this file",string(filename_name(global.fileopen)))

What is the issue?

Back to Top