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.


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


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

Theme Properties

Color files_disabled Color( 0, 0, 0, 0.7 )
Texture2D folder  
Color folder_icon_modulate Color( 1, 1, 1, 1 )
Texture2D parent_folder  
Texture2D reload  
Texture2D toggle_hidden  


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.

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

Default 0
Setter set_access(value)
Getter get_access()

The file system access scope. See enum Access constants.

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

The current working directory of the file dialog.

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

The currently selected file of the file dialog.

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

The currently selected file path of the file dialog.

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

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

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.

Returns the LineEdit for the selected file.

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.