Skip to main content

EFMFileDialog

Native platform file dialogs for opening and saving files.

Functions

OpenFileDialog

Callable Opens a native file selection dialog.

C++

bool OpenFileDialog(const FString& Title, const FString& DefaultPath, const FString& DefaultFile,
const FString& FileTypes, TArray<FString>& OutFiles)
ParameterTypeDescription
TitleFStringDialog window title
DefaultPathFStringInitial directory
DefaultFileFStringDefault file name
FileTypesFStringPipe-separated file type filters (e.g., `"All Files
OutFilesTArray<FString>Selected file paths

Returns: true if the user selected files and confirmed

Category: EFM|File Dialog

Blueprint Node

ƒOpen File Dialog
Title
Default Path
Default File
File Types
Out Files
Return Value

SaveFileDialog

Callable Opens a native file save dialog.

C++

bool SaveFileDialog(const FString& Title, const FString& DefaultPath, const FString& DefaultFile,
const FString& FileTypes, FString& OutFile)
ParameterTypeDescription
TitleFStringDialog window title
DefaultPathFStringInitial directory
DefaultFileFStringDefault file name
FileTypesFStringPipe-separated file type filters
OutFileFStringSelected file path

Returns: true if the user confirmed

Category: EFM|File Dialog

Blueprint Node

ƒSave File Dialog
Title
Default Path
Default File
File Types
Out File
Return Value

OpenDirectoryDialog

Callable Opens a native directory selection dialog.

C++

bool OpenDirectoryDialog(const FString& Title, const FString& DefaultPath, FString& OutFolder)
ParameterTypeDescription
TitleFStringDialog window title
DefaultPathFStringInitial directory
OutFolderFStringSelected folder path

Returns: true if the user selected a folder and confirmed

Category: EFM|File Dialog

Blueprint Node

ƒOpen Directory Dialog
Title
Default Path
Out Folder
Return Value

File Types Format

File types use a pipe-separated format: "Display Name|*.extension|Display Name|*.extension"

Examples:

  • "All Files|*.*"
  • "Images|*.png;*.jpg;*.bmp|All Files|*.*"
  • "Text Files|*.txt|JSON Files|*.json|All Files|*.*"

Example

// Open file dialog
FileTypes = "JSON Files|*.json|Text Files|*.txt|All Files|*.*"
OutFiles = []
if OpenFileDialog("Select Config File", GetGameSavedDirectory(), "", FileTypes, OutFiles):
for FilePath in OutFiles:
LoadConfig(FilePath)

// Save file dialog
OutFile = ""
if SaveFileDialog("Save As", GetGameSavedDirectory(), "save.json", "JSON Files|*.json", OutFile):
SaveGameData(OutFile)

// Open directory dialog
OutFolder = ""
if OpenDirectoryDialog("Select Folder", GetGameSavedDirectory(), OutFolder):
Log("Selected: " + OutFolder)