Windows Native Toolkit

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.

PinDirectionPurpose
URLInputFull file URL such as https://site.com/files/archive.zip.
SaveDirectoryInputExisting or creatable destination folder.
OnProgressInputDelegate that receives progress from 0.0 to 1.0 when the server reports content length.
OnCompleteInputDelegate that receives true when the file was downloaded and written successfully.
Return ValueOutputFNetworkTransferHandle used for cancellation.
C++ Example
#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.

PinDirectionPurpose
URLInputFull HTTP or HTTPS file URL.
SaveDirectoryInputExisting or creatable destination folder.
FileNameOverrideInputOptional output file name. Leave empty to resolve the name from the URL.
bOverwriteInputAllows replacing an existing destination file.
bDeletePartialOnFailInputDeletes the target file when the request fails after a file was created.
OnProgressInputDelegate that receives transferred bytes and total bytes when known.
OnCompleteInputDelegate that receives FNetworkTransferResult.
Return ValueOutputFNetworkTransferHandle used for cancellation.
C++ Example
#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

FieldDescription
bSuccessTrue if the HTTP/FTP transfer completed without errors.
StatusCodeThe HTTP response code returned by the server (e.g., 200, 404).
SavedFilePathThe absolute path where the downloaded payload was saved on disk.
BytesTransferredThe actual number of bytes transmitted during the operation.
TotalBytesThe expected total size of the file in bytes (if known).
SHA1The 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.

PinDirectionPurpose
URLInputFTP folder URL such as ftp://example.com/uploads/.
UserInputFTP user name.
PasswordInputFTP password.
LocalFilePathInputFull local path to the file that should be uploaded.
OnProgressInputDelegate that receives progress from 0.0 to 1.0.
OnCompleteInputDelegate that receives true when the upload completed successfully.
Return ValueOutputFNetworkTransferHandle used for cancellation.
C++ Example
#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.

PinDirectionPurpose
URLInputFull FTP file URL such as ftp://example.com/packages/build.zip.
UserInputFTP user name.
PasswordInputFTP password.
SaveDirectoryInputExisting or creatable destination folder.
OnProgressInputDelegate that receives progress from 0.0 to 1.0.
OnCompleteInputDelegate that receives true when the download completed successfully.
Return ValueOutputFNetworkTransferHandle used for cancellation.
C++ Example
#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.

PinDirectionPurpose
HandleInputTransfer handle returned by one of the server-transfer nodes.
C++ Example
#include "ServerHelper.h"

void AMyActor::ExampleUsage()
{
    
      UServerHelper::CancelTransfer(Handle);
}

Last updated on

On this page