Windows Native Toolkit

File Picker Library

Native Windows picker nodes for files, folders, and save-file selection.

Use this library when you need a native Windows picker instead of a custom Unreal file browser.

Open Path Picker

Opens one shared native picker for files or folders and always returns an array of selected paths. Returned paths automatically use Unreal's standard forward slashes (/).

PinDirectionPurpose
DialogTitleInputWindow title shown by the picker.
DefaultPathInputInitial folder shown by the picker.
FileTypesInputWindows filter string. Used only when PickerType is File.
bAllowMultipleInputAllows selecting multiple files or folders.
PickerTypeInputChoose File or Folder.
Return ValueOutputTrue when the user confirmed a selection.
OutPathsOutputSelected file or folder paths.
C++ Example
  #include "FilePickerLibrary.h"

  void AMyFileManager::PickFiles()
{
    TArray<FString> PickedPaths;
    const bool bPicked = UFilePickerLibrary::OpenPathPicker(
        TEXT("Select Files"),
        TEXT("C:/"),
        TEXT("Images|*.png;*.jpg"),
        true,
        EFilePickerType::File,
        PickedPaths
    );
    if (bPicked)
    {
        UE_LOG(LogTemp, Log, TEXT("Picked %d files"), PickedPaths.Num());
    }
}

Make File Filter

Builds a Windows file-dialog filter string from FFileDialogFilter entries.

Each FFileDialogFilter contains:

PinDirectionPurpose
FiltersInputArray of filter definitions.
Return ValueOutputWindows filter string suitable for Open Path Picker or Open Save File Picker.
C++ Example
  #include "FilePickerLibrary.h"

  FString AMyFileManager::CreateImageFilter()
{
    TArray<FFileDialogFilter> Filters;
    FFileDialogFilter Images;
    Images.Name = TEXT("Images");
    Images.Pattern = TEXT("*.png;*.jpg");
    Filters.Add(Images);

    return UFilePickerLibrary::MakeFileFilter(Filters);
}

Open Save File Picker

Opens the native Windows save dialog and returns the chosen output path. Returned paths automatically use Unreal's standard forward slashes (/).

PinDirectionPurpose
DialogTitleInputWindow title shown by the save dialog.
DefaultPathInputInitial folder shown by the dialog.
DefaultFileNameInputInitial file name shown in the dialog.
FileTypesInputWindows filter string.
Return ValueOutputTrue when the user confirmed a path.
OutFilenameOutputFull output file path selected by the user.
C++ Example
  #include "FilePickerLibrary.h"

  void AMyFileManager::SaveReportFile()
{
    FString SavedPath;
    const bool bSaved = UFilePickerLibrary::ShowSaveFilePicker(
        TEXT("Save Report"),
        TEXT("C:/Temp"),
        TEXT("Report.txt"),
        TEXT("Text Files|*.txt"),
        SavedPath
    );
    if (bSaved)
    {
        UE_LOG(LogTemp, Log, TEXT("Saving to %s"), *SavedPath);
    }
}

Last updated on

On this page