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.
Python examples use Unreal's reflected API names through the unreal module. Functions that return handles or use delegates are shown using Unreal Python binding conventions.
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"
FOnTransferProgress ProgressDelegate;
FOnTransferComplete CompleteDelegate;
const FNetworkTransferHandle Handle =
UServerHelper::DownloadFileHTTP(URL, SaveDirectory, ProgressDelegate, CompleteDelegate);import unreal
# Note: Progress and Complete delegates are omitted for simplicity
handle = unreal.ServerHelper.download_file_http(url, save_directory, None, None)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. |
FNetworkTransferResult fields:
bSuccessStatusCodeSavedFilePathBytesTransferredTotalBytesSHA1
#include "ServerHelper.h"
FOnTransferBytes ProgressDelegate;
FOnTransferResult CompleteDelegate;
const FNetworkTransferHandle Handle = UServerHelper::DownloadAdvanced(
URL,
SaveDirectory,
TEXT("Patch.zip"),
true,
true,
ProgressDelegate,
CompleteDelegate);import unreal
handle = unreal.ServerHelper.download_advanced(
url,
save_directory,
"Patch.zip",
True,
True,
None,
None,
)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.
| 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"
FOnTransferProgress ProgressDelegate;
FOnTransferComplete CompleteDelegate;
const FNetworkTransferHandle Handle =
UServerHelper::UploadFileFTP(URL, User, Password, LocalFilePath, ProgressDelegate, CompleteDelegate);import unreal
handle = unreal.ServerHelper.upload_file_ftp(url, user, password, local_file_path, None, None)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.
| 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"
FOnTransferProgress ProgressDelegate;
FOnTransferComplete CompleteDelegate;
const FNetworkTransferHandle Handle =
UServerHelper::DownloadFileFTP(URL, User, Password, SaveDirectory, ProgressDelegate, CompleteDelegate);import unreal
handle = unreal.ServerHelper.download_file_ftp(url, user, password, save_directory, None, None)Cancel Network Transfer
Requests cancellation for an active transfer handle.
| Pin | Direction | Purpose |
|---|---|---|
Handle | Input | Transfer handle returned by one of the server-transfer nodes. |
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.
#include "ServerHelper.h"
UServerHelper::CancelTransfer(Handle);import unreal
unreal.ServerHelper.cancel_transfer(handle)Last updated on