/Godot 3.2


Inherits: ConfirmationDialog < AcceptDialog < WindowDialog < Popup < Control < CanvasItem < Node < Object

Dialog for selecting files or directories in the filesystem.


FileDialog is a preset dialog used to choose files and directories in the filesystem. It supports filter masks. The FileDialog automatically sets its window title according to the mode. If you want to use a custom title, disable this by setting mode_overrides_title to false.


Access access 0
String current_dir "res://"
String current_file ""
String current_path "res://"
bool dialog_hide_on_ok false (parent override)
PoolStringArray filters PoolStringArray(  )
Mode mode 4
bool mode_overrides_title true
bool show_hidden_files false
String window_title "Save a File" (parent override)


void add_filter ( String filter )
void clear_filters ( )
void deselect_items ( )
LineEdit get_line_edit ( )
VBoxContainer get_vbox ( )
void invalidate ( )

Theme Properties

Texture file
Color file_icon_modulate Color( 1, 1, 1, 1 )
Color files_disabled Color( 0, 0, 0, 0.7 )
Texture folder
Color folder_icon_modulate Color( 1, 1, 1, 1 )
Texture parent_folder
Texture reload
Texture toggle_hidden


dir_selected ( String dir )

Emitted when the user selects a directory.

file_selected ( String path )

Emitted when the user selects a file by double-clicking it or pressing the OK button.

files_selected ( PoolStringArray paths )

Emitted when the user selects multiple files.


enum Mode:

  • MODE_OPEN_FILE = 0 --- The dialog allows selecting one, and only one file.
  • MODE_OPEN_FILES = 1 --- The dialog allows selecting multiple files.
  • MODE_OPEN_DIR = 2 --- The dialog only allows selecting a directory, disallowing the selection of any file.
  • MODE_OPEN_ANY = 3 --- The dialog allows selecting one file or directory.
  • MODE_SAVE_FILE = 4 --- The dialog will warn when a file exists.

enum Access:

  • ACCESS_RESOURCES = 0 --- The dialog only allows accessing files under the Resource path (res://).
  • ACCESS_USERDATA = 1 --- The dialog only allows accessing files under user data path (user://).
  • ACCESS_FILESYSTEM = 2 --- The dialog allows accessing files on the whole file system.

Property Descriptions

Access access

Default 0
Setter set_access(value)
Getter get_access()

The file system access scope. See enum Access constants.

Warning: Currently, in sandboxed environments such as HTML5 builds or sandboxed macOS apps, FileDialog cannot access the host file system. See godot-proposals#1123.

String current_dir

Default "res://"
Setter set_current_dir(value)
Getter get_current_dir()

The current working directory of the file dialog.

String current_file

Default ""
Setter set_current_file(value)
Getter get_current_file()

The currently selected file of the file dialog.

String current_path

Default "res://"
Setter set_current_path(value)
Getter get_current_path()

The currently selected file path of the file dialog.

PoolStringArray filters

Default PoolStringArray(  )
Setter set_filters(value)
Getter get_filters()

The available file type filters. For example, this shows only .png and .gd files: set_filters(PoolStringArray(["*.png ; PNG Images","*.gd ; GDScript Files"])).

Mode mode

Default 4
Setter set_mode(value)
Getter get_mode()

The dialog's open or save mode, which affects the selection behavior. See enum Mode constants.

bool mode_overrides_title

Default true
Setter set_mode_overrides_title(value)
Getter is_mode_overriding_title()

If true, changing the Mode property will set the window title accordingly (e.g. setting mode to MODE_OPEN_FILE will change the window title to "Open a File").

bool show_hidden_files

Default false
Setter set_show_hidden_files(value)
Getter is_showing_hidden_files()

If true, the dialog will show hidden files.

Method Descriptions

void add_filter ( String filter )

Adds filter as a custom filter; filter should be of the form "filename.extension ; Description". For example, "*.png ; PNG Images".

void clear_filters ( )

Clear all the added filters in the dialog.

void deselect_items ( )

Clear currently selected items in the dialog.

LineEdit get_line_edit ( )

Returns the LineEdit for the selected file.

VBoxContainer get_vbox ( )

Returns the vertical box container of the dialog, custom controls can be added to it.

void invalidate ( )

Invalidate and update the current dialog content list.

© 2014–2020 Juan Linietsky, Ariel Manzur, Godot Engine contributors
Licensed under the MIT License.