Skip to main content

EFMZip

ZIP compression and decompression functions.

Functions

CompressFiles

Callable Compresses multiple files into a ZIP archive.

C++

bool CompressFiles(const FString& ZipFilePath, const TArray<FString>& FilesToCompress, bool bAbsolutePath = false)
ParameterTypeDefaultDescription
ZipFilePathFString-Full path for the output ZIP file
FilesToCompressTArray<FString>-Array of file paths to compress
bAbsolutePathboolfalseIf true, stores absolute paths in the ZIP

Returns: true if compression succeeded

Category: EFM|ZIP

Blueprint Node

ƒCompress Files
Zip File Path
Files To Compress
B Absolute Path
Return Value

CompressDirectory

Callable Compresses an entire directory into a ZIP archive.

C++

bool CompressDirectory(const FString& ZipFilePath, const FString& DirectoryToCompress, bool bRecursive = true)
ParameterTypeDefaultDescription
ZipFilePathFString-Full path for the output ZIP file
DirectoryToCompressFString-Directory to compress
bRecursivebooltrueIf true, includes subdirectories

Returns: true if compression succeeded

Category: EFM|ZIP

Blueprint Node

ƒCompress Directory
Zip File Path
Directory To Compress
B Recursive
Return Value

DecompressZip

Callable Extracts a ZIP archive to a directory.

C++

bool DecompressZip(const FString& ZipFilePath, const FString& DestinationDirectory)
ParameterTypeDescription
ZipFilePathFStringFull path to the ZIP file
DestinationDirectoryFStringDirectory to extract files to

Returns: true if decompression succeeded

Category: EFM|ZIP

Blueprint Node

ƒDecompress Zip
Zip File Path
Destination Directory
Return Value

ListZipContents

Pure Lists all entries in a ZIP archive.

C++

TArray<FString> ListZipContents(const FString& ZipFilePath)

Returns: Array of file/folder names inside the ZIP

Category: EFM|ZIP

Blueprint Node

ƒList Zip Contents
Zip File Path
Return Value

Example

// Compress specific files
Files = [
GetGameSavedDirectory() + "save1.dat",
GetGameSavedDirectory() + "save2.dat",
GetGameSavedDirectory() + "config.json"
]
CompressFiles(GetGameSavedDirectory() + "backup.zip", Files, false)

// Compress entire directory
CompressDirectory(
GetGameSavedDirectory() + "full-backup.zip",
GetGameSavedDirectory() + "Saves/",
true // recursive
)

// List ZIP contents
Entries = ListZipContents(GetGameSavedDirectory() + "backup.zip")
for Entry in Entries:
Log(Entry)

// Extract
DecompressZip(
GetGameSavedDirectory() + "backup.zip",
GetGameSavedDirectory() + "Restored/"
)