BuildGraph Script Tasks

Learn how BuildGraph can help you create custom tasks.

Typically, project-specific utility scripts are implemented as AutomationTool BuildCommand classes. There are times, however, when you need to automate custom tasks for your project. This is where BuildGraph can help, as you can extend BuildGraph with any number of automation tasks in ways that suit your specific needs. The following section goes over ways of creating custom tasks using BuildGraph, including a listing of predefined tasks that will give you a great starting point for creating custom tasks.

Custom Tasks

To create a new custom task, implement a class derived from the CustomTask class and apply the TaskElement attribute to it. The TaskElement constructor takes two arguments: the name of the XML element that it is represented by and the type of class containing its parameters (which is passed to the constructor at load time).

If you want to read parameter class fields from an XML file, attach the TaskParameter attribute to the task. Attaching the TaskParameter attribute indicates if the parameter is required or optional, including additional validation that should be applied to the argument.

Predefined Tasks

If you would like to have a starting point for creating tasks, we provide a variety of predefined tasks as templates for you to work from. If you are looking for a simple predefined task to start from, we recommend using LogTask as a good starting point. If you want to keep up with our latest improvements to BuildGraph, bookmark this page. The following list of predefined tasks will be updated periodically.

BuildCookRun is a powerful and commonly used command for packaging tasks. For more information, read the overview that covers Build Operations.

AgeStore

Task that strips symbols from a set of files. This task is named after the AGESTORE utility that comes with the Microsoft debugger tools SDK, but is actually a separate implementation. The main difference is that it uses the last modified time rather than last access time to determine which files to delete.

Attribute

Type

Required?

Description

Platform

Unreal Target Platform

Required

The target platform to age symbols for.

StoreDir

String

Required

The symbol server directory.

Days

Integer

Required

Number of days worth of symbols to keep.

BuildDir

String

Optional

The root of the build directory to check for existing buildversion named directories.

Filter

String

Optional

A substring to match in directory file names before deleting symbols. This allows the "age store" task to avoid deleting symbols from other builds in the case where multiple builds share the same symbol server. Specific use of the filter value is determined by the symbol server structure defined by the platform toolchain.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Aws

Spawns AWS CLI and waits for it to complete.

Attribute

Type

Required?

Description

Arguments

String

Optional

Arguments for the newly created process.

Environment

String

Optional

Environment variables.

EnvironmentFile

String

Optional

File to read environment from.

LogOutput

Boolean

Optional

Write output to the log.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Aws-AssumeRole

Assumes an AWS role.

Attribute

Type

Required?

Description

Arn

String

Required

Role to assume.

Session

String

Required

Name of this session.

Duration

Integer

Optional

Duration of the token in seconds.

Environment

String

Optional

Environment variables.

EnvironmentFile

String

Optional

File to read environment variables from.

OutputFile

String

Required

Output file for the new environment.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Aws-EcsDeploy

Creates a new AWS ECS task definition and updates the ECS service to use this new revision of the task definition.

Attribute

Type

Required?

Description

TaskDefinitionFile

String

Required

Task definition file to use.

DockerImage

String

Required

Docker image to set in new task definition (will replace DOCKER_PATTERN with this value).

Version

String

Optional

App version to set in new task definition (will replace VERSION with this value).

Cluster

String

Required

Cluster ARN representing AWS ECS cluster to operate on.

Service

String

Required

Service name to update and deploy to.

Environment

String

Optional

Environment variables.

EnvironmentFile

String

Optional

File to read environment from.

LogOutput

Boolean

Optional

Write output to the log.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

CallMethod

Invokes a C# method.

Attribute

Type

Required?

Description

Class

String

Required

Name of the class to run a method in.

Method

String

Required

The method name to execute.

Arg1

String

Optional

Argument value.

Arg2

String

Optional

Argument value.

Arg3

String

Optional

Argument value.

Arg4

String

Optional

Argument value.

Arg5

String

Optional

Argument value.

Arg6

String

Optional

Argument value.

Arg7

String

Optional

Argument value.

Arg8

String

Optional

Argument value.

Arg9

String

Optional

Argument value.

Tags

String

Optional

List of tags for outputs.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Command

Invokes an AutomationTool child process to run the given command.

Attribute

Type

Required?

Description

Name

String

Required

The command name to execute.

Arguments

String

Optional

Arguments to be passed to the command.

MergeTelemetryWithPrefix

String

Optional

If non-null, instructs telemetry from the command to be merged into the telemetry for this UAT instance with the given prefix. May be an empty (non-null) string.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Commandlet

Spawns the editor to run a commandlet.

Attribute

Type

Required?

Description

Name

String

Required

The commandlet name to execute.

Project

File Spec

Optional

The project to run the editor with.

Arguments

String

Optional

Arguments to be passed to the commandlet.

EditorExe

File Reference

Optional

The editor executable to use. Defaults to the development UnrealEditor executable for the current platform.

ErrorLevel

Integer

Optional

The minimum exit code, which is treated as an error.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Compile

Compiles a target with UnrealBuildTool.

Attribute

Type

Required?

Description

Target

String

Optional

The target to compile.

Configuration

Unreal Target Configuration

Required

The configuration to compile.

Platform

Unreal Target Platform

Required

The platform to compile for.

Project

File Spec

Optional

The project to compile with.

Arguments

String

Optional

Additional arguments for UnrealBuildTool.

AllowXGE

Boolean

Optional

Whether to allow using XGE for compilation.

AllowParallelExecutor

Boolean

Optional

Whether to allow using the parallel executor for this compile.

Clean

Boolean

Optional

Whether to allow cleaning this target. If unspecified, targets are cleaned if the -Clean argument is passed on the command line.

Tag

Tag List

Optional

Tag to be applied to build products of this task.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Cook

Cook a selection of maps for a certain platform.

Attribute

Type

Required?

Description

Project

String

Required

Project file to be cooked.

Platform

String

Required

The cook platform to target (for example, Windows).

Maps

String

Optional

List of maps to be cooked, separated by '+' characters.

Versioned

Boolean

Optional

Additional arguments to be passed to the cooker.

Arguments

String

Optional

Additional arguments to be passed to the cooker.

EditorExe

String

Optional

Optional path to what editor executable to run for cooking.

Tag

Tag List

Optional

Tag to be applied to build products of this task.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Copy

Copies files from one directory to another.

Attribute

Type

Required?

Description

Files

File Spec

Optional

Optional filter to be applied to the list of input files.

From

File Spec

Required

The pattern or patterns to copy from (for example, Engine/*.txt).

To

File Spec

Required

The directory to copy to.

Overwrite

Boolean

Optional

Whether or not to overwrite existing files.

Tag

Tag List

Optional

Tag to be applied to build products of this task.

ErrorIfNotFound

Boolean

Optional

Whether or not to throw an error if no files were found to copy.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

CsCompile

Compiles C# project files and their dependencies.

Attribute

Type

Required?

Description

Project

String

Required

The C# project file to compile. Using semicolons, more than one project file can be specified.

Configuration

String

Optional

The configuration to compile.

Platform

String

Optional

The platform to compile.

Target

String

Optional

The target to build.

Properties

String

Optional

Properties for the command.

Arguments

String

Optional

Additional options to pass to the compiler.

EnumerateOnly

Boolean

Optional

Only enumerate build products ─ do not actually compile the projects.

Tag

Tag List

Optional

Tag to be applied to build products of this task.

TagReferences

Tag List

Optional

Tag to be applied to any non-private references the projects have (for example, those that are external and not copied into the output directory).

UseSystemCompiler

Boolean

Optional

Whether to use the system toolchain rather than the bundled UE SDK.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Delete

Delete a set of files.

Attribute

Type

Required?

Description

Files

File Spec

Optional

List of file specifications separated by semicolons (for example, *.cpp;Engine/.../*.bat), or the name of a tag set.

Directories

String

Optional

List of directory names.

DeleteEmptyDirectories

Boolean

Optional

Whether to delete empty directories after deleting the files. Defaults to true.

Verbose

Boolean

Optional

Whether or not to use verbose logging.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Docker

Spawns Docker and waits for it to complete.

Attribute

Type

Required?

Description

Arguments

String

Required

Docker command line arguments.

Environment

String

Optional

Environment variables to set.

EnvironmentFile

String

Optional

File to read environment variables from.

WorkingDir

String

Optional

Base directory for running the command.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Docker-Build

Spawns Docker and waits for it to complete.

Attribute

Type

Required?

Description

BaseDir

String

Required

Base directory for the build.

Files

String

Required

Files to be staged before building the image.

DockerFile

String

Optional

Path to the Dockerfile. Uses the root of basedir if not specified.

DockerIgnoreFile

String

Optional

Path to a .dockerignore. Will be copied to basedir if specified.

UseBuildKit

Boolean

Optional

Use BuildKit in Docker.

ProgressOutput

String

Optional

Type of progress output (--progress).

Tag

String

Optional

Tag for the image.

Arguments

String

Optional

Optional arguments.

OverlayDirs

String

Optional

List of additional directories to overlay into the staged input files. Allows credentials to be staged and the like.

Environment

String

Optional

Environment variables to set.

EnvironmentFile

String

Optional

File to read environment variables from.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Docker-Compose-Down

Spawns Docker and waits for it to complete.

Attribute

Type

Required?

Description

File

String

Required

Path to the docker-compose file.

Arguments

String

Optional

Arguments for the command.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Docker-Compose-Up

Spawns Docker and waits for it to complete.

Attribute

Type

Required?

Description

File

String

Required

Path to the docker-compose file.

Arguments

String

Optional

Arguments for the command.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Docker-Push

Spawns Docker and waits for it to complete.

Attribute

Type

Required?

Description

Repository

String

Required

Repository.

Image

String

Required

Source image to push.

TargetImage

String

Optional

Name of the target image.

Environment

String

Optional

Additional environment variables.

EnvironmentFile

String

Optional

File to read environment from.

AwsEcr

Boolean

Optional

Whether to login to AWS ECR.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

DotNet

Spawns Docker and waits for it to complete.

Attribute

Type

Required?

Description

Arguments

String

Optional

Docker command line arguments.

BaseDir

String

Optional

Base directory for running the command.

Environment

String

Optional

Environment variables to set.

EnvironmentFile

String

Optional

File to read environment variables from.

ErrorLevel

Integer

Optional

The minimum exit code, which is treated as an error.

DotNetPath

File Reference

Optional

Override path to dotnet executable.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

FindModifiedFiles

Compiles C# project files and their dependencies.

Attribute

Type

Required?

Description

Paths

String

Required

The C# project file to compile. Using semicolons, more than one project file can be specified.

Change

Integer

Optional

The configuration to compile.

MinChange

Integer

Optional

The configuration to compile.

MaxChange

Integer

Optional

The configuration to compile.

Output

File Reference

Optional

The file to write to.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Git

Spawns Git and waits for it to complete.

Attribute

Type

Required?

Description

Arguments

String

Optional

Git command line arguments.

BaseDir

String

Optional

Base directory for running the command.

ErrorLevel

Integer

Optional

The minimum exit code, which is treated as an error.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Git-Clone

Clones a Git repository into a local path.

Attribute

Type

Required?

Description

Dir

String

Required

Directory for the repository.

Remote

String

Optional

The remote to add.

Branch

String

Required

The branch to check out on the remote.

ConfigFile

String

Optional

Configuration file for the repo. This can be used to set up a remote to be fetched or provide credentials or both.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Helm

Spawns Helm and waits for it to complete.

Attribute

Type

Required?

Description

Chart

String

Required

Helm command line arguments.

Deployment

String

Required

Name of the release.

Namespace

String

Optional

The Kubernetes namespace.

KubeContext

String

Optional

The kubectl context.

KubeConfig

String

Optional

The kubectl config file to use.

Values

String

Optional

Values to set for running the chart.

ValuesFile

String

Optional

Values to set for running the chart.

Environment

String

Optional

Environment variables to set.

EnvironmentFile

String

Optional

File to parse environment variables from.

Arguments

String

Optional

Additional arguments.

WorkingDir

String

Optional

Base directory for running the command.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Kubectl

Spawns Kubectl and waits for it to complete.

Attribute

Type

Required?

Description

Arguments

String

Required

Command line arguments.

BaseDir

String

Optional

Base directory for running the command.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Log

Print a message (and other optional diagnostic information) to the output log.

Attribute

Type

Required?

Description

Message

String

Optional

Message to print out.

Files

File Spec

Optional

If specified, causes the given list of files to be printed after the given message.

IncludeContents

Boolean

Optional

If specified, causes the contents of the given files to be printed out.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

ModifyConfig

Modifies a config file.

Attribute

Type

Required?

Description

File

File Spec

Required

Path to the config file.

Section

String

Required

The section name to modify.

Key

String

Required

The property name to set.

Value

String

Required

The property value to set.

Tag

Tag List

Optional

Tag to be applied to the extracted files.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

ModifyJsonValue

Modifies json files by setting a value specified in the key path.

Attribute

Type

Required?

Description

Files

File Spec

Required

JSON file paths which will be modified.

KeyPath

String

Required

JSON key path to find in each file.

NewValue

Integer

Required

New value to apply.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Move

Moves files from one directory to another.

Attribute

Type

Required?

Description

Files

File Spec

Optional

Optional filter to be applied to the list of input files.

From

File Spec

Required

The pattern or patterns to copy from (for example, Engine/*.txt).

To

File Spec

Required

The directory to copy to.

Overwrite

Boolean

Optional

Optionally if files should be overwritten, defaults to false.

Tag

Tag List

Optional

Tag to be applied to build products of this task.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

MsBuild

Executes MsBuild.

Attribute

Type

Required?

Description

Project

String

Required

The C# project file to compile. Using semicolons, more than one project file can be specified.

Configuration

String

Optional

The configuration to compile.

Platform

String

Optional

The platform to compile.

Arguments

String

Optional

Additional options to pass to the compiler.

Verbosity

String

Optional

The MSBuild output verbosity.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

PakFile

Creates a PAK file from a given set of files.

Attribute

Type

Required?

Description

Files

File Spec

Required

List of files, wildcards, and tag sets to add to the PAK file, separated by ';' characters.

Output

File Reference

Required

PAK file to output.

ResponseFile

File Reference

Optional

Path to a Response File that contains a list of files to add to the pak file — instead of specifying them individually.

RebaseDir

Directory List

Optional

Directories to rebase the files relative to. If specified, the shortest path under a listed directory will be used for each file.

Order

File Reference

Optional

Script that gives the order of files.

Sign

File Reference

Optional

Encryption keys for this PAK file.

Compress

Boolean

Optional

Whether to compress files.

Arguments

String

Optional

Additional arguments to pass to UnrealPak.

Tag

Tag List

Optional

Tag to be applied to build products of this task.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Rename

Renames a file or group of files.

Attribute

Type

Required?

Description

Files

File Spec

Required

The file or files to rename.

From

String

Optional

The current file name, or pattern to match (for example, *.txt). Should not include any path separators.

To

String

Required

The new name for the file or files. Should not include any path separators.

Tag

Tag List

Optional

Tag to be applied to the renamed file or files.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

SanitizeReceipt

Task that tags build products or runtime dependencies or both by reading from *.target files.

Attribute

Type

Required?

Description

Files

File Spec

Required

Set of receipt files (*.target) to read, including wildcards and tag names, separated by semicolons.

EngineDir

Directory Reference

Optional

Path to the Engine folder, used to expand $(EngineDir) properties in receipt files. Defaults to the Engine directory for the current workspace.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

SetVersion

Updates the local version files (Engine/Source/Runtime/Launch/Resources/Version.h, Engine/Build/Build.version, and Engine/Source/Programs/Shared/Metadata.cs) with the given version information.

Attribute

Type

Required?

Description

Change

Integer

Required

The changelist to set in the version files.

CompatibleChange

Integer

Optional

The engine compatible changelist to set in the version files.

Branch

String

Required

The branch string.

Build

String

Optional

The build version string.

Licensee

Boolean

Optional

Whether to set the IS_LICENSEE_VERSION flag to true.

Promoted

Boolean

Optional

Whether to set the ENGINE_IS_PROMOTED_BUILD flag to true.

SkipWrite

Boolean

Optional

If set, do not write to the files — just return the version files that would be updated. Useful for local builds.

Tag

Tag List

Optional

Tag to be applied to build products of this task.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Sign

Signs a set of executable files with an installed certificate.

Attribute

Type

Required?

Description

Files

File Spec

Required

List of file specifications separated by semicolons (for example, *.cpp;Engine/.../*.bat), or the name of a tag set.

Tag

Tag List

Optional

Tag to be applied to build products of this task.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Spawn

Spawns an external executable and waits for it to complete.

Attribute

Type

Required?

Description

Exe

String

Required

Executable to spawn.

Arguments

String

Optional

Arguments for the newly created process.

WorkingDir

String

Optional

Working directory for spawning the new task.

Environment

String

Optional

Environment variables to set.

EnvironmentFile

String

Optional

File to read environment from.

LogOutput

Boolean

Optional

Write output to the log.

ErrorLevel

Integer

Optional

The minimum exit code, which is treated as an error.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Stage

Stages files listed in a build receipt to an output directory.

Attribute

Type

Required?

Description

Project

File Reference

Optional

The project that this target belongs to.

Target

String

Required

Name of the target to stage.

Platform

Unreal Target Platform

Required

Platform to stage.

Configuration

Unreal Target Configuration

Required

Configuration to be staged.

Architecture

String

Optional

Architecture to be staged.

ToDir

Directory Reference

Required

Directory that the receipt files should be staged to.

Overwrite

Boolean

Optional

Whether to overwrite existing files.

Tag

Tag List

Optional

Tag to be applied to build products of this task.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Strip

Strips debugging information from a set of files.

Attribute

Type

Required?

Description

Platform

Unreal Target Platform

Required

The platform toolchain to strip binaries.

BaseDir

Directory Reference

Optional

The directory to find files in.

Files

File Spec

Required

List of file specifications separated by semicolons (for example, Engine/.../*.pdb), or the name of a tag set.

OutputDir

Directory Reference

Optional

Output directory for the stripped files. Defaults to the input path, overwriting the input files.

Tag

Tag List

Optional

Tag to be applied to build products of this task.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Submit

Creates a new changelist and submits a set of files to a Perforce stream.

Attribute

Type

Required?

Description

Description

String

Required

The description for the submitted changelist.

Files

File Spec

Required

The files to submit.

FileType

String

Optional

The Perforce file type for the submitted files (for example, binary+FS32).

Workspace

String

Optional

The workspace name. If specified, a new workspace will be created using the given stream and root directory to submit the files. If not, the current workspace will be used.

Stream

String

Optional

The stream for the workspace ─ defaults to the current stream. Ignored unless the Workspace attribute is also specified.

Branch

String

Optional

Branch for the workspace (legacy P4 depot path). May not be used in conjunction with Stream.

RootDir

Directory Reference

Optional

Root directory for the stream. If not specified, defaults to the current root directory.

RevertUnchanged

Boolean

Optional

Whether to revert unchanged files before attempting to submit.

Force

Boolean

Optional

Force the submit to happen ─ even if a resolve is needed (always accept current version).

P4Verbose

Boolean

Optional

Allow verbose P4 output (spew).

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

SymStore

Task that strips symbols from a set of files.

Attribute

Type

Required?

Description

Platform

Unreal Target Platform

Required

The platform toolchain required to handle symbol files.

Files

String

Required

List of output files. PDBs will be extracted from this list.

StoreDir

String

Required

Output directory for the compressed symbols.

Product

String

Required

Name of the product for the symbol store records.

BuildVersion

String

Optional

BuildVersion associated with these symbols. Used for clean-up in AgeStore by matching this version against a directory name in a build share.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Tag

Applies a tag to a given set of files. The list of files is found by enumerating the tags and file specifications given by the 'Files' parameter. From this list, any files not matched by the 'Filter' parameter are removed, followed by any files matched by the 'Except' parameter.

Attribute

Type

Required?

Description

BaseDir

Directory Reference

Optional

Set the base directory to resolve relative paths and patterns against. If set, any absolute patterns (for example, /Engine/Build/...) are taken to be relative to this path. If not, they are taken to be truly absolute.

Files

File Spec

Optional

Set of files to work from, including wildcards and tag names, separated by semicolons. If set, resolved relative to BaseDir, otherwise resolved to the branch root directory.

FileLists

File Spec

Optional

Set of text files to add additional files from. Each file list should have one file per line.

Filter

File Spec

Optional

Patterns to filter the list of files by, including tag names or wildcards. If set, may include patterns that apply to the base directory. If not specified, defaults to all files.

Except

File Spec

Optional

Set of patterns to exclude from the matched list. May include tag names of patterns that apply to the base directory.

With

Tag List

Required

Name of the tag to apply.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

TagReceipt

Task that tags build products or runtime dependencies or both by reading from *.target files.

Attribute

Type

Required?

Description

Files

File Spec

Required

Set of receipt files (*.target) to read, including wildcards and tag names, separated by semicolons.

EngineDir

Directory Reference

Optional

Path to the Engine folder, used to expand $(EngineDir) properties in receipt files. Defaults to the Engine directory for the current workspace.

ProjectDir

Directory Reference

Optional

Path to the project folder, used to expand $(ProjectDir) properties in receipt files. Defaults to the Engine directory for the current workspace — DEPRECATED.

BuildProducts

Boolean

Optional

Whether to tag the Build Products listed in receipts.

BuildProductType

String

Optional

Which type of Build Products to tag (see TargetReceipt.cs - UnrealBuildTool.BuildProductType for valid values).

RuntimeDependencies

Boolean

Optional

Whether to tag the Runtime Dependencies listed in receipts.

StagedFileType

String

Optional

Which type of Runtime Dependencies to tag (see TargetReceipt.cs - UnrealBuildTool.StagedFileType for valid values).

With

Tag List

Required

Name of the tag to apply.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Unzip

Extract files from a zip archive.

Attribute

Type

Required?

Description

ZipFile

File Spec

Required

Path to the zip file to extract.

ToDir

Directory Reference

Required

Output directory for the extracted files.

UseLegacyUnzip

Boolean

Optional

Whether or not to use the legacy unzip code.

Tag

Tag List

Optional

Tag to be applied to the extracted files.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Upload

Uploads a set of files to Jupiter for future retrival

Attribute

Type

Required?

Description

FromDir

Directory Reference

Required

The directory to read compressed files from.

Files

File Spec

Optional

List of file specifications separated by semicolons (for example, *.cpp;Engine/.../*.bat), or the name of a tag set. Relative paths are taken from FromDir.

JupiterNamespace

String

Required

The jupiter namespace used to upload the build. Used to control who has access to the build.

JupiterKey

String

Required

The key of the build as will be used to download the build again. This has to be globally unique for this particular upload.

ArchiveType

String

Required

The type of archive these files are from, will be added to the metadata.

ProjectName

String

Required

The name of the project this set of files are associated with, will be added to the metadata.

Branch

String

Required

The source control branch these files were generated from, will be added to the metadata.

Changelist

String

Required

The source control revision these files were generated from, will be added to the metadata.

JupiterUrl

String

Required

Specify the url to the Jupiter instance to upload to.

AdditionalMetadata

String

Optional

Semi-colon separated list of '=' separated key value mappings to add to the metadata. For example, Foo=bar;spam=eggs.

LimitMemoryUsage

Boolean

Optional

If enabled file content is not kept in memory, results in lower memory usage but increased io as file contents needs to be read multiple times (for hashing as well as during upload).

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Wait

Waits a defined number of seconds.

Attribute

Type

Required?

Description

Seconds

Integer

Required

Number of seconds to wait.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

WriteTextFile

Writes text to a file.

Attribute

Type

Required?

Description

File

File Reference

Required

Path to the file to write.

Append

Boolean

Optional

Optional, whether or not to append to the file rather than overwrite.

Text

String

Optional

The text to write to the file.

Files

File Spec

Optional

If specified, causes the given list of files to be printed after the given message.

Tag

Tag List

Optional

Tag to be applied to build products of this task.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Zip

Compresses files into a zip archive.

Attribute

Type

Required?

Description

FromDir

Directory Reference

Required

The directory to read compressed files from.

Files

File Spec

Optional

List of file specifications separated by semicolons (for example, *.cpp;Engine/.../*.bat), or the name of a tag set. Relative paths are taken from FromDir.

ZipFile

File Reference

Required

The zip file to create.

Tag

Tag List

Optional

Tag to be applied to the created zip file.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Cancel