reckfellENGINE

FileDialog

File/directory path selection dialog; the application performs loading and saving.

On this page
class FileDialogReckfellSharpInherits ConfirmationDialog

Create FileDialog as a child of your UI and set FileMode, Access, Filters and the initial path. Connect FileSelected, FilesSelected or DirSelected for your mode before opening it. Call PopupFileDialog to show it. Changing properties does not itself open the window or confirm a choice.

OpenFile selects one file, OpenFiles multiple files, and OpenDir a directory. OpenAny can emit FileSelected or DirSelected, so handle both. SaveFile chooses a destination and also reports FileSelected; it does not create or write the file. The application opens FileAccess/ResourceLoader, checks the result and displays errors.

Access.Resources confines navigation to asset://, Userdata to user://, and Filesystem uses the OS-accessible filesystem. This does not grant permissions. User saves normally belong in user://; asset:// can be unwritable in an exported application. Set the initial directory again after changing Access: the previous RootSubfolder restriction is reset.

CurrentDir is the directory, CurrentFile the filename text, and CurrentPath their combination. Use CurrentPath for a full path and CurrentFile for a name within the current directory. CurrentPath without a separator changes only the name; an empty string resets nothing. These properties create neither directories nor files, and setters return no Error: read back the actual path and check I/O separately.

Filters is a mask list, for example .png,.jpg ; Images. Use *.png for an extension; .png alone is not an extension mask. Exact filenames are also valid. AddFilter takes a mask, label and optional MIME; MIME is the third semicolon-separated field in a string list. Arrays are copied: editing a returned Filters array does not change the dialog. A filter aids navigation/extension selection rather than proving file-content format.

UseNativeDialog requests an OS dialog when platform support is available. Filter and extra-option capabilities depend on the backend; OS sandboxing can require the native path independently of this flag. GetVBox/GetLineEdit concern the built-in UI rather than OS window controls. Configure presentation before opening.

GetLineEdit returns the dialog-owned filename field rather than a search field. GetVBox returns its internal container. Configure them without separately freeing or reparenting them. Cancellation is not a successful selection; absence of FileSelected does not replace handling inherited Canceled yourself.

Invalidate schedules an update for a visible built-in list. It does not immediately scan the directory for a hidden dialog. Do not use it instead of checking file existence before I/O. An overwrite warning likewise does not replace checking the save result.

Declarations checked against C# SDK 1.0.0. Expand a name to see declarations and documentation.

Constructors1

FileDialogConstructor
# FileDialog
C#
public FileDialog();

Creates a hidden SaveFile dialog with Resources access. Initial configuration neither creates a file nor opens an OS window.

Properties25

AccessProperty
# Access
C#
public FileDialog.AccessEnum Access { get; set; }

Navigation scope: Resources (asset://), Userdata (user://) or Filesystem. Default Resources. Does not grant OS permissions; changing it resets RootSubfolder, so configure directory state again.

CurrentDirProperty
# CurrentDir
C#
public string CurrentDir { get; set; }

Current directory rather than selected file. Prefer an explicit asset://, user:// or absolute path appropriate to Access. Setter neither creates a directory nor confirms a selection.

CurrentFileProperty
# CurrentFile
C#
public string CurrentFile { get; set; }

Filename-field text, normally without a directory. Does not load/create a file or emit FileSelected. Use CurrentPath for a full path.

CurrentPathProperty
# CurrentPath
C#
public string CurrentPath { get; set; }

Combination of CurrentDir and CurrentFile. A full-path setter sets directory/name; a separator-free path changes only the name, while empty input is a no-op. Does not prove the file exists.

DeletingEnabledProperty
# DeletingEnabled
C#
public bool DeletingEnabled { get; set; }

Allows the built-in list’s delete action, which moves a selected item to trash when executed. The flag itself deletes nothing; false does not prohibit application FileAccess/DirAccess.

DisplayModeProperty
# DisplayMode
C#
public FileDialog.DisplayModeEnum DisplayMode { get; set; }

Built-in list presentation: Thumbnails or List. Does not change FileMode, Access or file-read results. Thumbnail quality depends on the configured thumbnail provider.

DriveSelectorEnabledProperty
# DriveSelectorEnabled
C#
public bool DriveSelectorEnabled { get; set; }

Show the drive selector where applicable to Access/platform. Does not grant access to every OS drive.

FavoritesEnabledProperty
# FavoritesEnabled
C#
public bool FavoritesEnabled { get; set; }

Show favorites in built-in UI. Does not clear the shared SetFavoriteList list.

FileFilterToggleEnabledProperty
# FileFilterToggleEnabled
C#
public bool FileFilterToggleEnabled { get; set; }

Show the filename-search-row toggle. true shows the button rather than enabling the search itself; separate from extension masks in Filters.

FileModeProperty
# FileMode
C#
public FileDialog.FileModeEnum FileMode { get; set; }

Selection mode: OpenFile, OpenFiles, OpenDir, OpenAny or SaveFile. Default SaveFile. Changes standard labels/selection behavior rather than performing I/O; a custom Title is retained.

FileNameFilterProperty
# FileNameFilter
C#
public string FileNameFilter { get; set; }

Built-in filename search text, separate from extension masks in Filters. Setter clears the query while the search row is disabled. Use Filters for persistent extension filtering. Do not trust the FileNameFilterChanged argument: installed Runtime has a type mismatch.

FileSortOptionsEnabledProperty
# FileSortOptionsEnabled
C#
public bool FileSortOptionsEnabled { get; set; }

Show file-sort UI. Does not change filenames/file contents or Filters array order.

FiltersProperty
# Filters
C#
public string[] Filters { get; set; }

String array of mask ; label ; MIME, with trailing fields optional. Commas separate masks within a group. Getter returns a copy; setter replaces the list rather than validating file contents.

FiltersEnabledProperty
# FiltersEnabled
C#
public bool FiltersEnabled { get; set; }

Show the extension-filter dropdown. Does not clear Filters and is not the filename-search toggle.

FolderCreationEnabledProperty
# FolderCreationEnabled
C#
public bool FolderCreationEnabled { get; set; }

Allows directory-creation UI in applicable FileMode values. Assignment does not create a directory or prohibit your own DirAccess calls.

HiddenFilesToggleEnabledProperty
# HiddenFilesToggleEnabled
C#
public bool HiddenFilesToggleEnabled { get; set; }

Show the hidden-file toggle. Separate from ShowHiddenFiles: hiding the button does not change the current hidden-file setting.

LayoutToggleEnabledProperty
# LayoutToggleEnabled
C#
public bool LayoutToggleEnabled { get; set; }

Show the Thumbnails/List toggle. Does not reset current DisplayMode.

ModeOverridesTitleProperty · Deprecated
# ModeOverridesTitle
C#
public bool ModeOverridesTitle { get; set; }

Legacy flag: setter does nothing and getter returns true. Set Title for your caption; installed SDK retains a custom Title when FileMode changes.

NavigationButtonsEnabledProperty
# NavigationButtonsEnabled
C#
public bool NavigationButtonsEnabled { get; set; }

Show back/forward buttons. Does not block programmatic CurrentDir/CurrentPath.

OptionCountProperty
# OptionCount
C#
public int OptionCount { get; set; }

Extra-setting count. Shrinking retains the list prefix; growing creates empty records needing unique names, values and defaults. Changes can rebuild the UI and reset current answers to defaults.

OverwriteWarningEnabledProperty
# OverwriteWarningEnabled
C#
public bool OverwriteWarningEnabled { get; set; }

Request confirmation for an existing SaveFile destination. FileDialog does not write it; check your own save result even after confirmation.

RecentListEnabledProperty
# RecentListEnabled
C#
public bool RecentListEnabled { get; set; }

Show recent directories in built-in UI. Does not clear the shared SetRecentList list.

RootSubfolderProperty
# RootSubfolder
C#
public string RootSubfolder { get; set; }

Existing directory restricting built-in UI navigation within Access. Empty input clears the setting; changing Access resets it. Does not create the directory or provide a security boundary for your own FileAccess: validate the final path separately.

ShowHiddenFilesProperty
# ShowHiddenFiles
C#
public bool ShowHiddenFiles { get; set; }

Show hidden items in the built-in list, default false. Does not switch FileMode or grant access to hidden/protected files.

UseNativeDialogProperty
# UseNativeDialog
C#
public bool UseNativeDialog { get; set; }

Requests an OS dialog when the platform supports the needed features. false does not guarantee built-in UI in an OS sandbox; true does not guarantee support for arbitrary added Controls. Configure before opening.

Methods56

AddFilter2 overloads
# AddFilter · 1/2
C#
public void AddFilter(string filter, string description);

Short overload adds a mask/label with empty MIME. Use the mimeType overload for MIME; filters do not validate file contents.

Parameters
NameTypeDefault
filterstring—
descriptionstring—
filter

Mask group such as .png,.jpg rather than .png without *.

description

Human-readable filter-group label.

# AddFilter · 2/2
C#
public void AddFilter(string filter, string description = "", string mimeType = "");

Adds mask group, label and optional MIME. Example mask: .png,.jpg; do not use .png without *. Does not confirm selection or prove content format.

Parameters
NameTypeDefault
filterstring—
descriptionstring""
mimeTypestring""
filter

Mask group such as .png,.jpg rather than .png without *.

description

Human-readable filter-group label.

mimeType

Optional MIME for backends supporting it.

AddOption2 overloads
# AddOption · 1/2
C#
public void AddOption(string name, ReadOnlySpan<string> values, int defaultValueIndex);

Adds an extra setting with a unique name. Empty values defines a checkbox with defaultValueIndex 0/1; nonempty values defines a choice list with index 0…Length-1. Default is clamped to that range. Built-in controls materialize when the visible dialog updates.

Parameters
NameTypeDefault
namestring—
valuesReadOnlySpan<string>—
defaultValueIndexint—
name

Unique stable extra-setting key/label.

values

Choice array; empty input defines a checkbox. Copied.

defaultValueIndex

Default: 0/1 for checkbox or choice index, clamped to the valid range.

# AddOption · 2/2
C#
public void AddOption(string name, string[] values, int defaultValueIndex);

Adds an extra setting with a unique name. Empty values defines a checkbox with defaultValueIndex 0/1; nonempty values defines a choice list with index 0…Length-1. Default is clamped to that range. Built-in controls materialize when the visible dialog updates.

Parameters
NameTypeDefault
namestring—
valuesstring[]—
defaultValueIndexint—
name

Unique stable extra-setting key/label.

values

Choice array; empty input defines a checkbox. Copied.

defaultValueIndex

Default: 0/1 for checkbox or choice index, clamped to the valid range.

ClearFileNameFiltervoid
# ClearFileNameFilter
C#
public void ClearFileNameFilter();

Clears filename search and updates built-in UI. Does not remove Filters masks, the chosen path or files. Account for the FileNameFilterChanged payload mismatch when observing notification.

ClearFiltersvoid
# ClearFilters
C#
public void ClearFilters();

Removes filter groups while retaining filename text. Does not reset the path or remove OS restrictions.

DeselectAllvoid
# DeselectAll
C#
public void DeselectAll();

Deselects list items and updates confirmation availability. Does not delete files or emit successful selection.

GetAccessFileDialog.AccessEnum
# GetAccess
C#
public FileDialog.AccessEnum GetAccess();

Navigation scope: Resources (asset://), Userdata (user://) or Filesystem. Default Resources. Does not grant OS permissions; changing it resets RootSubfolder, so configure directory state again.

Returns FileDialog.AccessEnum

Navigation scope: Resources (asset://), Userdata (user://) or Filesystem. Default Resources. Does not grant OS permissions; changing it resets RootSubfolder, so configure directory state again.

GetCurrentDirstring
# GetCurrentDir
C#
public string GetCurrentDir();

Current directory rather than selected file. Prefer an explicit asset://, user:// or absolute path appropriate to Access. Setter neither creates a directory nor confirms a selection.

Returns string

Current directory rather than selected file. Prefer an explicit asset://, user:// or absolute path appropriate to Access. Setter neither creates a directory nor confirms a selection.

GetCurrentFilestring
# GetCurrentFile
C#
public string GetCurrentFile();

Filename-field text, normally without a directory. Does not load/create a file or emit FileSelected. Use CurrentPath for a full path.

Returns string

Filename-field text, normally without a directory. Does not load/create a file or emit FileSelected. Use CurrentPath for a full path.

GetCurrentPathstring
# GetCurrentPath
C#
public string GetCurrentPath();

Combination of CurrentDir and CurrentFile. A full-path setter sets directory/name; a separator-free path changes only the name, while empty input is a no-op. Does not prove the file exists.

Returns string

Combination of CurrentDir and CurrentFile. A full-path setter sets directory/name; a separator-free path changes only the name, while empty input is a no-op. Does not prove the file exists.

GetDisplayModeFileDialog.DisplayModeEnum
# GetDisplayMode
C#
public FileDialog.DisplayModeEnum GetDisplayMode();

Built-in list presentation: Thumbnails or List. Does not change FileMode, Access or file-read results. Thumbnail quality depends on the configured thumbnail provider.

Returns FileDialog.DisplayModeEnum

Built-in list presentation: Thumbnails or List. Does not change FileMode, Access or file-read results. Thumbnail quality depends on the configured thumbnail provider.

GetFavoriteListstring[]
# GetFavoriteList
C#
public static string[] GetFavoriteList();

Main thread: returns a copy of the shared favorite-directory list. Editing the array does not change the global list; use SetFavoriteList.

Returns string[]

Main thread: returns a copy of the shared favorite-directory list. Editing the array does not change the global list; use SetFavoriteList.

GetFileModeFileDialog.FileModeEnum
# GetFileMode
C#
public FileDialog.FileModeEnum GetFileMode();

Selection mode: OpenFile, OpenFiles, OpenDir, OpenAny or SaveFile. Default SaveFile. Changes standard labels/selection behavior rather than performing I/O; a custom Title is retained.

Returns FileDialog.FileModeEnum

Selection mode: OpenFile, OpenFiles, OpenDir, OpenAny or SaveFile. Default SaveFile. Changes standard labels/selection behavior rather than performing I/O; a custom Title is retained.

GetFileNameFilterstring
# GetFileNameFilter
C#
public string GetFileNameFilter();

Built-in filename search text, separate from extension masks in Filters. Setter clears the query while the search row is disabled. Use Filters for persistent extension filtering. Do not trust the FileNameFilterChanged argument: installed Runtime has a type mismatch.

Returns string

Built-in filename search text, separate from extension masks in Filters. Setter clears the query while the search row is disabled. Use Filters for persistent extension filtering. Do not trust the FileNameFilterChanged argument: installed Runtime has a type mismatch.

GetFiltersstring[]
# GetFilters
C#
public string[] GetFilters();

String array of mask ; label ; MIME, with trailing fields optional. Commas separate masks within a group. Getter returns a copy; setter replaces the list rather than validating file contents.

Returns string[]

String array of mask ; label ; MIME, with trailing fields optional. Commas separate masks within a group. Getter returns a copy; setter replaces the list rather than validating file contents.

GetLineEditLineEdit
# GetLineEdit
C#
public LineEdit GetLineEdit();

Shared internal filename field. Its Text is reflected in CurrentFile; not the filter field. Do not free/reparent it separately; it is not an OS-native window control.

Returns LineEdit

Shared internal filename field. Its Text is reflected in CurrentFile; not the filter field. Do not free/reparent it separately; it is not an OS-native window control.

GetOptionCountint
# GetOptionCount
C#
public int GetOptionCount();

Extra-setting count. Shrinking retains the list prefix; growing creates empty records needing unique names, values and defaults. Changes can rebuild the UI and reset current answers to defaults.

Returns int

Extra-setting count. Shrinking retains the list prefix; growing creates empty records needing unique names, values and defaults. Changes can rebuild the UI and reset current answers to defaults.

GetOptionDefaultint
# GetOptionDefault
C#
public int GetOptionDefault(int option);

Returns the schema default rather than the current user answer: 0/1 for checkbox or a choice index.

Parameters
NameTypeDefault
optionint—
option

Setting index; SetOption* accepts negative indices from the end, getters require an ordinary valid index.

Returns int

Returns the schema default rather than the current user answer: 0/1 for checkbox or a choice index.

GetOptionNamestring
# GetOptionName
C#
public string GetOptionName(int option);

Setting name at an ordinary valid index. Used as a GetSelectedOptions key, so names should be unique and stable.

Parameters
NameTypeDefault
optionint—
option

Setting index; SetOption* accepts negative indices from the end, getters require an ordinary valid index.

Returns string

Setting name at an ordinary valid index. Used as a GetSelectedOptions key, so names should be unique and stable.

GetOptionValuesstring[]
# GetOptionValues
C#
public string[] GetOptionValues(int option);

Returns a copy of choice labels. An empty array means checkbox rather than no setting. Use SetOptionValues to change them.

Parameters
NameTypeDefault
optionint—
option

Setting index; SetOption* accepts negative indices from the end, getters require an ordinary valid index.

Returns string[]

Returns a copy of choice labels. An empty array means checkbox rather than no setting. Use SetOptionValues to change them.

GetRecentListstring[]
# GetRecentList
C#
public static string[] GetRecentList();

Main thread: copy of the shared recent-directory list. These are navigation directories rather than a history of every opened file.

Returns string[]

Main thread: copy of the shared recent-directory list. These are navigation directories rather than a history of every opened file.

GetRootSubfolderstring
# GetRootSubfolder
C#
public string GetRootSubfolder();

Existing directory restricting built-in UI navigation within Access. Empty input clears the setting; changing Access resets it. Does not create the directory or provide a security boundary for your own FileAccess: validate the final path separately.

Returns string

Existing directory restricting built-in UI navigation within Access. Empty input clears the setting; changing Access resets it. Does not create the directory or provide a security boundary for your own FileAccess: validate the final path separately.

GetSelectedOptionsReckfell.Collections.Dictionary
# GetSelectedOptions
C#
public Reckfell.Collections.Dictionary GetSelectedOptions();

Returns a shared Dictionary of name → bool/current choice index. Can be empty before controls materialize even when OptionCount > 0. Rebuilding options resets it to defaults. Copy accepted values into your model; do not treat dictionary mutation as an official setter.

Returns Reckfell.Collections.Dictionary

Returns a shared Dictionary of name → bool/current choice index. Can be empty before controls materialize even when OptionCount > 0. Rebuilding options resets it to defaults. Copy accepted values into your model; do not treat dictionary mutation as an official setter.

GetUseNativeDialogbool
# GetUseNativeDialog
C#
public bool GetUseNativeDialog();

Requests an OS dialog when the platform supports the needed features. false does not guarantee built-in UI in an OS sandbox; true does not guarantee support for arbitrary added Controls. Configure before opening.

Returns bool

Requests an OS dialog when the platform supports the needed features. false does not guarantee built-in UI in an OS sandbox; true does not guarantee support for arbitrary added Controls. Configure before opening.

GetVBoxVBoxContainer
# GetVBox
C#
public VBoxContainer GetVBox();

Shared internal VBoxContainer of the built-in dialog. Add UI while retaining FileDialog ownership; an OS backend need not display those Controls.

Returns VBoxContainer

Shared internal VBoxContainer of the built-in dialog. Add UI while retaining FileDialog ownership; an OS backend need not display those Controls.

Invalidatevoid
# Invalidate
C#
public void Invalidate();

Schedules an update of the visible built-in list; does not immediately scan for a hidden dialog. Neither a file-existence check nor selection confirmation.

IsCustomizationFlagEnabledbool
# IsCustomizationFlagEnabled
C#
public bool IsCustomizationFlagEnabled(FileDialog.Customization flag);

Returns this instance’s Customization setting. A UI/confirmation policy rather than OS permission for a file operation.

Parameters
NameTypeDefault
flagFileDialog.Customization—
flag

FileDialog.Customization setting for this instance.

Returns bool

Returns this instance’s Customization setting. A UI/confirmation policy rather than OS permission for a file operation.

IsModeOverridingTitlebool
# IsModeOverridingTitle
C#
public bool IsModeOverridingTitle();

Legacy flag: setter does nothing and getter returns true. Set Title for your caption; installed SDK retains a custom Title when FileMode changes.

Returns bool

Legacy flag: setter does nothing and getter returns true. Set Title for your caption; installed SDK retains a custom Title when FileMode changes.

IsShowingHiddenFilesbool
# IsShowingHiddenFiles
C#
public bool IsShowingHiddenFiles();

Show hidden items in the built-in list, default false. Does not switch FileMode or grant access to hidden/protected files.

Returns bool

Show hidden items in the built-in list, default false. Does not switch FileMode or grant access to hidden/protected files.

PopupFileDialogvoid
# PopupFileDialog
C#
public void PopupFileDialog();

Opens the dialog with standard viewport-relative sizing/constraints. Set mode, access, filters and selection handlers first. Can use an OS backend; does not itself read/write the file.

SetAccessvoid
# SetAccess
C#
public void SetAccess(FileDialog.AccessEnum access);

Navigation scope: Resources (asset://), Userdata (user://) or Filesystem. Default Resources. Does not grant OS permissions; changing it resets RootSubfolder, so configure directory state again.

Parameters
NameTypeDefault
accessFileDialog.AccessEnum—
access

Resources, Userdata or Filesystem for the intended path scope.

SetCurrentDirvoid
# SetCurrentDir
C#
public void SetCurrentDir(string dir);

Current directory rather than selected file. Prefer an explicit asset://, user:// or absolute path appropriate to Access. Setter neither creates a directory nor confirms a selection.

Parameters
NameTypeDefault
dirstring—
dir

Directory appropriate to Access; in DirSelected, the accepted directory.

SetCurrentFilevoid
# SetCurrentFile
C#
public void SetCurrentFile(string file);

Filename-field text, normally without a directory. Does not load/create a file or emit FileSelected. Use CurrentPath for a full path.

Parameters
NameTypeDefault
filestring—
file

Filename in the current directory; use CurrentPath for a full path.

SetCurrentPathvoid
# SetCurrentPath
C#
public void SetCurrentPath(string path);

Combination of CurrentDir and CurrentFile. A full-path setter sets directory/name; a separator-free path changes only the name, while empty input is a no-op. Does not prove the file exists.

Parameters
NameTypeDefault
pathstring—
path

Path within the selected Access scope; selection does not prove successful I/O.

SetCustomizationFlagEnabledvoid
# SetCustomizationFlagEnabled
C#
public void SetCustomizationFlagEnabled(FileDialog.Customization flag, bool enabled);

Changes a UI/confirmation setting. Does not perform file operations, change the application model or grant OS permissions.

Parameters
NameTypeDefault
flagFileDialog.Customization—
enabledbool—
flag

FileDialog.Customization setting for this instance.

enabled

Enable the specified UI/confirmation policy.

SetDisplayModevoid
# SetDisplayMode
C#
public void SetDisplayMode(FileDialog.DisplayModeEnum mode);

Built-in list presentation: Thumbnails or List. Does not change FileMode, Access or file-read results. Thumbnail quality depends on the configured thumbnail provider.

Parameters
NameTypeDefault
modeFileDialog.DisplayModeEnum—
mode

FileModeEnum for selection behavior or DisplayModeEnum for list presentation, according to the parameter type.

SetFavoriteList2 overloads
# SetFavoriteList · 1/2
C#
public static void SetFavoriteList(ReadOnlySpan<string> favorites);

Replaces the process-wide FileDialog favorite-directory list; call on the main thread. Appends a trailing /. Not an instance-local list or automatic disk persistence. UI list refresh is separate.

Parameters
NameTypeDefault
favoritesReadOnlySpan<string>—
favorites

Replacement shared favorite-directory list, used on the main thread.

# SetFavoriteList · 2/2
C#
public static void SetFavoriteList(string[] favorites);

Replaces the process-wide FileDialog favorite-directory list; call on the main thread. Appends a trailing /. Not an instance-local list or automatic disk persistence. UI list refresh is separate.

Parameters
NameTypeDefault
favoritesstring[]—
favorites

Replacement shared favorite-directory list, used on the main thread.

SetFileModevoid
# SetFileMode
C#
public void SetFileMode(FileDialog.FileModeEnum mode);

Selection mode: OpenFile, OpenFiles, OpenDir, OpenAny or SaveFile. Default SaveFile. Changes standard labels/selection behavior rather than performing I/O; a custom Title is retained.

Parameters
NameTypeDefault
modeFileDialog.FileModeEnum—
mode

FileModeEnum for selection behavior or DisplayModeEnum for list presentation, according to the parameter type.

SetFileNameFiltervoid
# SetFileNameFilter
C#
public void SetFileNameFilter(string filter);

Built-in filename search text, separate from extension masks in Filters. Setter clears the query while the search row is disabled. Use Filters for persistent extension filtering. Do not trust the FileNameFilterChanged argument: installed Runtime has a type mismatch.

Parameters
NameTypeDefault
filterstring—
filter

Search query; the SDK FileNameFilterChanged argument is unreliable due to a native type mismatch.

SetFilters2 overloads
# SetFilters · 1/2
C#
public void SetFilters(ReadOnlySpan<string> filters);

String array of mask ; label ; MIME, with trailing fields optional. Commas separate masks within a group. Getter returns a copy; setter replaces the list rather than validating file contents.

Parameters
NameTypeDefault
filtersReadOnlySpan<string>—
filters

Replacement array of mask ; label ; MIME groups.

# SetFilters · 2/2
C#
public void SetFilters(string[] filters);

String array of mask ; label ; MIME, with trailing fields optional. Commas separate masks within a group. Getter returns a copy; setter replaces the list rather than validating file contents.

Parameters
NameTypeDefault
filtersstring[]—
filters

Replacement array of mask ; label ; MIME groups.

SetGetIconCallbackvoid
# SetGetIconCallback
C#
public static void SetGetIconCallback(Callable callback);

Installs a shared static icon provider for built-in FileDialogs: Callable receives one path string and returns Texture2D or null for fallback. Not instance-local. Avoid capturing a short-lived dialog; manage provider lifetime at application level.

Parameters
NameTypeDefault
callbackCallable—
callback

Shared Callable: path string → Texture2D or null for fallback.

SetGetThumbnailCallbackvoid
# SetGetThumbnailCallback
C#
public static void SetGetThumbnailCallback(Callable callback);

Shared static thumbnail provider: one path string → Texture2D or null for default fallback. Used by built-in Thumbnails mode rather than guaranteeing native OS thumbnails. Cache prepared images and avoid blocking UI with expensive callback generation.

Parameters
NameTypeDefault
callbackCallable—
callback

Shared Callable: path string → Texture2D or null for fallback.

SetModeOverridesTitlevoid
# SetModeOverridesTitle
C#
public void SetModeOverridesTitle(bool @override);

Legacy flag: setter does nothing and getter returns true. Set Title for your caption; installed SDK retains a custom Title when FileMode changes.

Parameters
NameTypeDefault
overridebool—
override

Ignored; the legacy setter leaves the getter true.

SetOptionCountvoid
# SetOptionCount
C#
public void SetOptionCount(int count);

Extra-setting count. Shrinking retains the list prefix; growing creates empty records needing unique names, values and defaults. Changes can rebuild the UI and reset current answers to defaults.

Parameters
NameTypeDefault
countint—
count

Nonnegative number of extra-setting records.

SetOptionDefaultvoid
# SetOptionDefault
C#
public void SetOptionDefault(int option, int defaultValueIndex);

Sets a default clamped to 0…1 for checkbox or 0…values.Length-1 for a choice list. Accepts a negative setting index; not a silent setter for one current answer in an open dialog.

Parameters
NameTypeDefault
optionint—
defaultValueIndexint—
option

Setting index; SetOption* accepts negative indices from the end, getters require an ordinary valid index.

defaultValueIndex

Default: 0/1 for checkbox or choice index, clamped to the valid range.

SetOptionNamevoid
# SetOptionName
C#
public void SetOptionName(int option, string name);

Changes the setting key/label; accepts negative indices from the end. Rebuilding controls can reset current answers: configure the schema before opening.

Parameters
NameTypeDefault
optionint—
namestring—
option

Setting index; SetOption* accepts negative indices from the end, getters require an ordinary valid index.

name

Unique stable extra-setting key/label.

SetOptionValues2 overloads
# SetOptionValues · 1/2
C#
public void SetOptionValues(int option, ReadOnlySpan<string> values);

Replaces choices by copying the array; empty input switches the setting to a checkbox. Stored default is clamped to the new range. Accepts negative indices and can rebuild UI.

Parameters
NameTypeDefault
optionint—
valuesReadOnlySpan<string>—
option

Setting index; SetOption* accepts negative indices from the end, getters require an ordinary valid index.

values

Choice array; empty input defines a checkbox. Copied.

# SetOptionValues · 2/2
C#
public void SetOptionValues(int option, string[] values);

Replaces choices by copying the array; empty input switches the setting to a checkbox. Stored default is clamped to the new range. Accepts negative indices and can rebuild UI.

Parameters
NameTypeDefault
optionint—
valuesstring[]—
option

Setting index; SetOption* accepts negative indices from the end, getters require an ordinary valid index.

values

Choice array; empty input defines a checkbox. Copied.

SetRecentList2 overloads
# SetRecentList · 1/2
C#
public static void SetRecentList(ReadOnlySpan<string> recents);

Replaces the process-wide recent-directory list on the main thread, appending trailing /. Does not itself rewrite a user settings file.

Parameters
NameTypeDefault
recentsReadOnlySpan<string>—
recents

Replacement shared recent-directory list, used on the main thread.

# SetRecentList · 2/2
C#
public static void SetRecentList(string[] recents);

Replaces the process-wide recent-directory list on the main thread, appending trailing /. Does not itself rewrite a user settings file.

Parameters
NameTypeDefault
recentsstring[]—
recents

Replacement shared recent-directory list, used on the main thread.

SetRootSubfoldervoid
# SetRootSubfolder
C#
public void SetRootSubfolder(string dir);

Existing directory restricting built-in UI navigation within Access. Empty input clears the setting; changing Access resets it. Does not create the directory or provide a security boundary for your own FileAccess: validate the final path separately.

Parameters
NameTypeDefault
dirstring—
dir

Existing directory within Access; empty input clears the root setting.

SetShowHiddenFilesvoid
# SetShowHiddenFiles
C#
public void SetShowHiddenFiles(bool show);

Show hidden items in the built-in list, default false. Does not switch FileMode or grant access to hidden/protected files.

Parameters
NameTypeDefault
showbool—
show

Show hidden list entries.

SetUseNativeDialogvoid
# SetUseNativeDialog
C#
public void SetUseNativeDialog(bool native);

Requests an OS dialog when the platform supports the needed features. false does not guarantee built-in UI in an OS sandbox; true does not guarantee support for arbitrary added Controls. Configure before opening.

Parameters
NameTypeDefault
nativebool—
native

Request an OS-native backend; set before opening.

Signals and events4

DirSelectedEvent
# DirSelected
C#
public event FileDialog.DirSelectedEventHandler DirSelected;

Directory accepted in OpenDir or as an OpenAny directory result. A directory rather than a destination filename; the signal does not mean FileDialog created it.

Handler parameters
NameTypeDefault
dirstring—
dir

Directory appropriate to Access; in DirSelected, the accepted directory.

FileNameFilterChangedEvent
# FileNameFilterChanged
C#
public event FileDialog.FileNameFilterChangedEventHandler FileNameFilterChanged;

Runtime/SDK 1.0.0 limitation: the native signal supplies an OptionButton object while the SDK declares string. Do not use filter as text. Workaround: Connect(FileDialog.SignalName.FileNameFilterChanged, Callable.From<Variant>(handler)), with a handler that ignores payload and reads the dialog’s FileNameFilter. Retain the Callable for Disconnect.

Handler parameters
NameTypeDefault
filterstring—
filter

Search query; the SDK FileNameFilterChanged argument is unreliable due to a native type mismatch.

FileSelectedEvent
# FileSelected
C#
public event FileDialog.FileSelectedEventHandler FileSelected;

One path accepted: OpenFile, a file result of OpenAny, or SaveFile. In SaveFile it may not exist yet. The signal does not mean successful reading/writing; perform and check I/O separately.

Handler parameters
NameTypeDefault
pathstring—
path

Path within the selected Access scope; selection does not prove successful I/O.

FilesSelectedEvent
# FilesSelected
C#
public event FileDialog.FilesSelectedEventHandler FilesSelected;

Path array accepted in OpenFiles mode. Validate each path/file separately; changing settings or CurrentPath does not emit this signal.

Handler parameters
NameTypeDefault
pathsstring[]—
paths

Array of accepted OpenFiles paths.

FileDialog.AccessEnum

ValueDescription
Filesystem = 2

The dialog allows accessing files on the whole file system.

Resources = 0

The dialog only allows accessing files under the Resource path (asset://).

Userdata = 1

The dialog only allows accessing files under user data path (user://).

FileDialog.Customization

ValueDescription
CreateFolder = 1

If enabled, shows the button for creating new directories (when using FileDialog.FileModeEnum.OpenDir, FileDialog.FileModeEnum.OpenAny, or FileDialog.FileModeEnum.SaveFile). Equivalent to FileDialog.FolderCreationEnabled.

Delete = 8

If enabled, the context menu will show the "Delete" option, which allows moving files and folders to trash. Equivalent to FileDialog.DeletingEnabled.

DriveSelector = 10

If enabled, shows the drive select dropdown next to the current path. Equivalent to FileDialog.DriveSelectorEnabled.

Favorites = 4

If enabled, shows the toggle favorite button and favorite list on the left side of the dialog. Equivalent to FileDialog.FavoritesEnabled.

FileFilter = 2

If enabled, shows the toggle file filter button. Equivalent to FileDialog.FileFilterToggleEnabled.

FileSort = 3

If enabled, shows the file sorting options button. Equivalent to FileDialog.FileSortOptionsEnabled.

Filters = 11

If enabled, shows the file extension filter dropdown next to the file name. Equivalent to FileDialog.FiltersEnabled.

HiddenFiles = 0

If enabled, shows the toggle hidden files button. Equivalent to FileDialog.HiddenFilesToggleEnabled.

Layout = 6

If enabled, shows the layout switch buttons (list/thumbnails). Equivalent to FileDialog.LayoutToggleEnabled.

NavigationButtons = 9

If enabled, shows the go back/forward buttons on the toolbar. Equivalent to FileDialog.NavigationButtonsEnabled.

OverwriteWarning = 7

If enabled, the FileDialog will warn the user before overwriting files in save mode. Equivalent to FileDialog.OverwriteWarningEnabled.

Recent = 5

If enabled, shows the recent directories list on the left side of the dialog. Equivalent to FileDialog.RecentListEnabled.

FileDialog.DisplayModeEnum

ValueDescription
List = 1

The dialog displays files as a list of filenames.

Thumbnails = 0

The dialog displays files as a grid of thumbnails. Use FileDialog.thumbnail_size to adjust their size.

FileDialog.FileModeEnum

ValueDescription
OpenAny = 3

The dialog allows selecting one file or directory.

OpenDir = 2

The dialog only allows selecting a directory, disallowing the selection of any file.

OpenFile = 0

The dialog allows selecting one, and only one file.

OpenFiles = 1

The dialog allows selecting multiple files.

SaveFile = 4

The dialog will warn when a file exists.

Theme properties

These are Theme resource keys, not C# properties. Use the matching Control GetTheme…() and AddTheme…Override() methods for each value type.

Key and typeDescription
file_disabled_color
Color

The color tint for disabled files (when the FileDialog is used in open folder mode).

Default: Color(1, 1, 1, 0.25)
file_icon_color
Color

The color modulation applied to the file icon.

Default: Color(1, 1, 1, 1)
folder_icon_color
Color

The color modulation applied to the folder icon.

Default: Color(1, 1, 1, 1)
thumbnail_size
int

The size of thumbnail icons when FileDialog.DisplayModeEnum.Thumbnails is enabled.

Default: 64
back_folder
Texture2D

Custom icon for the back arrow.

create_folder
Texture2D

Custom icon for the create folder button.

favorite
Texture2D

Custom icon for favorite folder button.

favorite_down
Texture2D

Custom icon for button to move down a favorite entry.

favorite_up
Texture2D

Custom icon for button to move up a favorite entry.

file
Texture2D

Custom icon for files.

file_thumbnail
Texture2D

Icon for files when in thumbnail mode.

folder
Texture2D

Custom icon for folders.

folder_thumbnail
Texture2D

Icon for folders when in thumbnail mode.

forward_folder
Texture2D

Custom icon for the forward arrow.

list_mode
Texture2D

Icon for the button that enables list mode.

menu_copy_path
Texture2D

Icon for the "Copy Path" context menu option.

menu_delete
Texture2D

Icon for the "Delete" context menu option.

menu_new_folder
Texture2D

Icon for the "New Folder..." context menu option. Usually it should be the same as FileDialog.create_folder; leave it empty if you want the context menu to show no icons.

menu_open_bundle
Texture2D

Icon for the "Show Package Contents" context menu option. The option only appears for macOS bundles.

menu_refresh
Texture2D

Icon for the "Refresh" context menu option. Usually it should be the same as FileDialog.reload; leave it empty if you want the context menu to show no icons.

menu_show_in_file_manager
Texture2D

Icon for the "Show in File Manager" context menu option.

parent_folder
Texture2D

Custom icon for the parent folder arrow.

reload
Texture2D

Custom icon for the reload button.

sort
Texture2D

Custom icon for the sorting options menu.

thumbnail_mode
Texture2D

Icon for the button that enables thumbnail mode.

toggle_filename_filter
Texture2D

Custom icon for the toggle button for the filter for file names.

toggle_hidden
Texture2D

Custom icon for the toggle hidden button.

Reckfell Engine documentationBack to top ↑
QUICK LINKSGetting startedEntity hierarchyC# & .NET 10Scenes and prefabs
Reckfell guides and full API K
reckfellENGINE
RECKFELL ACCOUNT

Sign in

Sign in to your Reckfell account.

One account for the entire Reckfell platform.