CorePlus – File Manager
π§ Overview
The CorePlus File Manager subsystem provides a powerful set of tools for managing files both in Blueprints and C++. Below is a quick guide on how to integrate and use its functionality in your Unreal Engine project.
π Accessing the Plugin Content
Before you begin using CorePlus AR, you need to access the plugin content. There are two ways to do this:
β Method 1: Project Plugin Folder (Editable)
Copy CorePlus Plugin from:
Β[UE_Install]/Engine/Plugins/Marketplace/CorePlusPlugin
ΒTo:
Β[YourProject]/Plugins/
In Unreal Editor:
Open Content Browser
Click the βοΈSettings Option (top-right)
Enable Show Plugin Content
Youβll now see:
Plugins > CorePlusContent
Pros
β
Easy access and customization
β
Built directly into your project
β
Editable plugin files
Cons
β οΈ No auto-updates β you must update it manually
β Method 2: Engine Plugin Content (Auto-updating)
Enable CorePlus Plugin via the Plugin Manager
In Content Browser:
Open Content Browser
Click the βοΈSettings Option (top-right)
Enable Show Engine Content
Navigate to:
Engine > Plugins > CorePlusContent
Pros
β
Always up-to-date with Unreal Engine
Cons
β οΈ Plugin content is not directly editable
Tip: Choose the method that best fits your workflow β editable plugin content or automatic updates.
π§© Accessing the File Manager in Blueprints
To use the CorePlus File Manager in Blueprints:
Get the Subsystem
Use theCorePlusFileManagerSubsystem
node. You can call this from any Blueprint.Access the File Manager
From theCorePlusFileManagerSubsystem
, Get theGetFileManager
node.Call Functions
Once you have theGetFileManager
node, you can call all available File Management-related functions.
π» Accessing the File Manager in C++
Header File (.h)
#include "CorePlusFileManagerSubsystem.h"
UPROPERTY()
UCorePlusFileManagerSubsystem* CorePlusFileManagerSubsystem = nullptr;
UCorePlusFileManagerSubsystem* GetCorePlusFileManagerSubsystem();
Source File (.cpp)
UCorePlusFileManagerSubsystem* ClassName::GetCorePlusFileManagerSubsystem()
{
if (CorePlusFileManagerSubsystem)
{
return CorePlusFileManagerSubsystem;
}
if (!GetWorld())
{
return nullptr;
}
if (UGameInstance* GameInstance = GetWorld()->GetGameInstance())
{
CorePlusFileManagerSubsystem = GameInstance->GetSubsystem();
ensureAlwaysMsgf(CorePlusFileManagerSubsystem, TEXT("Invalid CorePlusFileManagerSubsystem."));
return CorePlusFileManagerSubsystem;
}
return nullptr;
}
Example Function Call:
GetCorePlusFileManagerSubsystem()->GetFileManager()->SearchFilesFromLocation(SearchPath);
π File Manager API Functions
β Check if a File Exists
/**
* Checks if a file exists at the specified file path.
*
* @param File The full file path to check for existence.
* @return True if the file exists, otherwise false.
*/
UFUNCTION(BlueprintPure, Category = "CorePlus | FileManager")
static bool CheckIfFileExist(const FString& File);
π Get All Files from a Directory
/**
* Retrieves all files from a specified directory, optionally filtering by file extensions.
*
* @param SearchLocation The directory path to search for files.
* @param ExtensionFilters An array of file extensions to filter the search by (e.g., {"txt", "jpg"}).
* If empty, all files will be returned regardless of extension.
* @param SearchLog Output log string to indicate any search-related messages.
* @return A TArray of file paths that match the specified filters.
*/
UFUNCTION(BlueprintCallable, Category = "CorePlus | FileManager")
TArray GetAllFilesFromLocation(const FString& SearchLocation, const TArray& ExtensionFilters, const FString SearchLog);
π Search Files in a Directory
/**
* Searches for files in a specified directory based on a search query and filters by file extensions.
*
* @param SearchQuery The search term or query string to match file names.
* @param Location The directory path to search in.
* @param ExtensionFilters An array of file extensions to filter by.
* @param SearchLog Output log string to capture search-related details.
* @return A TArray of file paths matching the search query and filters.
*/
UFUNCTION(BlueprintCallable, Category = "CorePlus | FileManager")
TArray SearchFilesFromLocation(const FString& SearchQuery, const FString& Location, const TArray& ExtensionFilters, FString SearchLog);
π Get File Name with Extension
/**
* Extracts the file name (including the extension) from the given file path.
*
* @param FilePath The full file path from which to extract the file name.
* @return The file name with its extension (e.g., "example.txt").
*/
UFUNCTION(BlueprintPure, Category = "CorePlus | FileManager")
static FString GetFileNameWithExtension(const FString& FilePath);
π§© Get File Extension Only
/**
* Extracts the file extension from a given file path.
*
* @param FilePath The full file path from which to extract the extension.
* @return The file extension (e.g., "txt", "png"). If no extension, returns an empty string.
*/
UFUNCTION(BlueprintPure, Category = "CorePlus | FileManager")
static FString GetFileExtension(const FString& FilePath);
π Wrapping Up
The CorePlus File Manager simplifies file operations in Unreal Engine, making it easy to access and manage files via both Blueprint and C++. Whether you’re checking file existence or building a file browser, this subsystem has you covered.
π¬ Got questions?
Leave a comment below or reach out β Iβd love to hear how youβre using CorePlus in your projects!
If you found this post helpful, feel free to share it, and stay tuned for more Unreal Engine tips and tutorials!
π Related Links
π½οΈ Video Tutorial
π Module Overview Page
Tags
CorePlus, FileManager, UnrealEngine, UnrealPlugin, FileSearch, BlueprintNodes, CPlusPlus, UE5, GameDev, Subsystem, FilePath, DirectorySearch, FileAccess, FileFunctions, AssetManagement, GameDevelopment, UnrealEngineTools, DevTools, PluginFeatures, CorePlusTools, UBlueprint, UEBlueprint, FileCheck, FileQuery, GameUtility, UFunction, FileSystem, UEFileManager, FileOperations, UnrealSubsystem, CodeSnippet, BlueprintFunction, UE5Plugin, UnrealFileAccess, UnrealUtility, DevResources, UnrealCoding, UE5Dev, GameFileTools, BlueprintAccess, GameProjectTools, UnrealCPlusPlus, UEFileTools, CppSubsystem, UE5Blueprint, FileUtility, CodeHelper, FileManagement, UnrealProjects, GameFiles, DevSnippet
One Response