Server Transfer Library
HTTP, HTTPS, FTP upload/download, progress, result, and cancellation nodes.
Use this library for downloads, patchers, launchers, internal tools, and simple FTP-based content pipelines.
Transfer Model
These nodes remain delegate-based instead of latent. Each transfer returns an FNetworkTransferHandle that you can keep and pass into Cancel Network Transfer.
Download File (HTTP/HTTPS)
Downloads a file from an HTTP or HTTPS URL into a local folder. The node resolves the output file name from the URL and writes the file when the request completes successfully.
| Pin | Direction | Purpose |
|---|---|---|
URL | Input | Full file URL such as https://site.com/files/archive.zip. |
SaveDirectory | Input | Existing or creatable destination folder. |
OnProgress | Input | Delegate that receives progress from 0.0 to 1.0 when the server reports content length. |
OnComplete | Input | Delegate that receives true when the file was downloaded and written successfully. |
Return Value | Output | FNetworkTransferHandle used for cancellation. |
#include "ServerHelper.h"
void AMyActor::ExampleUsage()
{
FOnTransferProgress ProgressDelegate;
FOnTransferComplete CompleteDelegate;
const FNetworkTransferHandle Handle =
UServerHelper::DownloadFileHTTP(URL, SaveDirectory, ProgressDelegate, CompleteDelegate);
}Download Advanced
Downloads an HTTP or HTTPS file with overwrite control, byte-level progress, result details, and optional partial-file cleanup.
| Pin | Direction | Purpose |
|---|---|---|
URL | Input | Full HTTP or HTTPS file URL. |
SaveDirectory | Input | Existing or creatable destination folder. |
FileNameOverride | Input | Optional output file name. Leave empty to resolve the name from the URL. |
bOverwrite | Input | Allows replacing an existing destination file. |
bDeletePartialOnFail | Input | Deletes the target file when the request fails after a file was created. |
OnProgress | Input | Delegate that receives transferred bytes and total bytes when known. |
OnComplete | Input | Delegate that receives FNetworkTransferResult. |
Return Value | Output | FNetworkTransferHandle used for cancellation. |
#include "ServerHelper.h"
void AMyActor::ExampleUsage()
{
FOnTransferBytes ProgressDelegate;
FOnTransferResult CompleteDelegate;
const FNetworkTransferHandle Handle = UServerHelper::DownloadAdvanced(
URL,
SaveDirectory,
TEXT("Patch.zip"),
true,
true,
ProgressDelegate,
CompleteDelegate);
}FNetworkTransferResult Fields
| Field | Description |
|---|---|
bSuccess | True if the HTTP/FTP transfer completed without errors. |
StatusCode | The HTTP response code returned by the server (e.g., 200, 404). |
SavedFilePath | The absolute path where the downloaded payload was saved on disk. |
BytesTransferred | The actual number of bytes transmitted during the operation. |
TotalBytes | The expected total size of the file in bytes (if known). |
SHA1 | The SHA-1 hash string of the downloaded file for verification. |
Upload File Using FTP
Uploads one local file to an FTP directory. The node URL-encodes the file name before appending it to the target FTP folder URL.
FTP Features
Supports Anonymous FTP (leave User empty), embedded credentials in URLs (ftp://user:pass@host/), and native FTPS via Windows Certificate Store SSL validation.
FTP Features
Supports Anonymous FTP (leave User empty), embedded credentials in URLs (ftp://user:pass@host/), and native FTPS via Windows Certificate Store SSL validation.
| Pin | Direction | Purpose |
|---|---|---|
URL | Input | FTP folder URL such as ftp://example.com/uploads/. |
User | Input | FTP user name. |
Password | Input | FTP password. |
LocalFilePath | Input | Full local path to the file that should be uploaded. |
OnProgress | Input | Delegate that receives progress from 0.0 to 1.0. |
OnComplete | Input | Delegate that receives true when the upload completed successfully. |
Return Value | Output | FNetworkTransferHandle used for cancellation. |
#include "ServerHelper.h"
void AMyActor::ExampleUsage()
{
FOnTransferProgress ProgressDelegate;
FOnTransferComplete CompleteDelegate;
const FNetworkTransferHandle Handle =
UServerHelper::UploadFileFTP(URL, User, Password, LocalFilePath, ProgressDelegate, CompleteDelegate);
}Download File Using FTP
Downloads one file from an FTP URL into a local folder. The node resolves the local file name from the FTP URL and removes partially written files when the transfer fails or is canceled.
FTP Features
Supports Anonymous FTP (leave User empty), embedded credentials in URLs (ftp://user:pass@host/), automatic URL space sanitization (%20), and native FTPS via Windows Certificate Store SSL validation.
FTP Features
Supports Anonymous FTP (leave User empty), embedded credentials in URLs (ftp://user:pass@host/), automatic URL space sanitization (%20), and native FTPS via Windows Certificate Store SSL validation.
| Pin | Direction | Purpose |
|---|---|---|
URL | Input | Full FTP file URL such as ftp://example.com/packages/build.zip. |
User | Input | FTP user name. |
Password | Input | FTP password. |
SaveDirectory | Input | Existing or creatable destination folder. |
OnProgress | Input | Delegate that receives progress from 0.0 to 1.0. |
OnComplete | Input | Delegate that receives true when the download completed successfully. |
Return Value | Output | FNetworkTransferHandle used for cancellation. |
#include "ServerHelper.h"
void AMyActor::ExampleUsage()
{
FOnTransferProgress ProgressDelegate;
FOnTransferComplete CompleteDelegate;
const FNetworkTransferHandle Handle =
UServerHelper::DownloadFileFTP(URL, User, Password, SaveDirectory, ProgressDelegate, CompleteDelegate);
}Cancel Network Transfer
Requests cancellation for an active transfer handle.
Cancellation stops the request when the backend honors the cancel flag. It does not delete already uploaded remote data, and it does not remove successful downloads.
| Pin | Direction | Purpose |
|---|---|---|
Handle | Input | Transfer handle returned by one of the server-transfer nodes. |
#include "ServerHelper.h"
void AMyActor::ExampleUsage()
{
UServerHelper::CancelTransfer(Handle);
}Last updated on