Skip to main content

buildbot-UnrealEngine

Buildbot Plugin to run Commands using the Unreal Automation Tool

PyPI version Build Status GitHub license

Installation

pip install buildbot_UnrealEngine

This enables the additional step commands as plugins inside buildbot (which are imported via from buildbot.plugins import steps)

Usage

from buildbot.plugins import steps

factory = util.BuildFactory()

###### Build commands

factory.addStep(
    steps.UEBuild(
        "Engine_Location",
        "Path_To_Project.uproject",
        "TargetName",
        # Additional Parameters, see below
    )
)

factory.addStep(
    steps.UERebuild(
        "Engine_Location",
        "Path_To_Project.uproject",
        "TargetName",
        # Additional Parameters, see below
    )
)

factory.addStep(
    steps.UEClean(
        "Engine_Location",
        "Path_To_Project.uproject",
        "TargetName",
        # Additional Parameters, see below
    )
)

###### BuildCookRun

factory.addStep(
    steps.BuildCookRun(
        "Engine_Location",
        "Path_To_Project.uproject",
        # Additional Parameters, see below
    )
)

Parameters

All commands share the following base parameters:

Parameter Type/Options Description
engine_path string (required) The location to the used engine, the path needs to point to the root folder of the engine (in this folder are at least the Engine, FeaturePacks, Samples and Templates folders)
project_path string (required) The absolute location to the uproject file to be used. (Usually a Interpolate("...") to build the path using the current builddir)
build_platform string (default "Windows"), Options: "Windows" "Linux" "Mac" The platform on which the build itself will run, used to determine which scripts to run
engine_type string (default "Rocket"), Options: "Source" "Installed" "Rocket"

  • Source: Engine is built from GitHub Source
  • Installed: Engine is self build from GitHub source and made a binary build via the BuildGraph tool
  • Rocket: Pre-built engine from Epic Games via EpicGamesLauncher

Build Cook Run Parameters

factory.addStep(
    steps.BuildCookRun(
        engine_path,
        project_path,
        target_platform="Win64",
        target_config="Development",
        no_compile_editor=False,
        compile=None,
        cook=None,
        cook_on_the_fly=None,
        build=False,
        clean=False,
        archive=False,
        archive_directory=None,
        p4=None,
        unversioned_cooked_content=False,
        encrypt_ini_files=False,
        release_version=None,
        base_version=None,
        compressed=False,
        distribution=False,
        iterate=False,
        run=False,
        devices=None,
        null_rhi=False,
        nativize=False,
        stage=False,
        map=None,
        pak=False,
        prereqs=False,
        package=False,
        crash_reporter=False,
        title_id=None,
    )
)
Parameter Type/Options Description
no_compile_editor bool If true adds -NoCompileEditor to the command line. Skip compiling the editor target for game (needed for cooking), useful if already done before.
compile bool If true adds -Compile to the command line. -NoCompile if false. This switch is usually required on source builds. It tells the UAT to compile itself before running any commandlets, however on Installed/Rocket builds this will result in an error as the sources for UAT are not part of those engine distributions.
cook bool If true adds -Cook to the command line. -SkipCook if false. Enables or disables the cook step.
cook_on_the_fly bool If true adds -CookOnTheFly to the command line. -SkipCookOnTheFly if false. Does not cook the content, but starts the cook process in servermode, where a game can connect to using the -FileHostIP=<IP> parameter to connect to this server. The server will then cook requested content on the fly.
build bool If true adds -Build to the command line. Enables the build step, compiling the game for the target platform.
clean bool If true adds -Clean to the command line. Perform a clean build
archive bool If true adds -Archive to the command line. Archive the build after completion.
archive_directory string If true adds -ArchiveDirectory=<TheString> to the command line. Specify the archive directory. If omitted, the path in the configuration file will be used.
p4 bool If true adds -P4 to the command line, -NoP4 if false. Enables disabled interaction with Perforce.
unversioned_cooked_content bool If true adds -UnversionedCookedContent to the command line. This writes no version into the cooked assets.
encrypt_ini_files bool If true adds -EncryptIniFiles to the command line. Encrypts the packaged ini files.
release_version string If set adds -CreateReleaseVersion=<TheString> to the command line. This creates a releasee version of the game for later patching (see BasedOnReleaseVersion)
base_version string If set adds -BasedOnReleaseVersion=<TheString> to the command line. This creates a patch or dlc based on the given release version, containing only changes that differ from the release version.
compressed bool If true adds -Compressed to the command line. This compressed your pak files to be to use fewer disk space, but increased loading times.
distribution bool If true adds -Distribution to the command line. Creates a distribution build (used for mobile)
iterate bool If true adds -Iterate to the command line. Only cooks changed files if run on the same directory as before
run bool If true adds -Run to the command line. Runs the packaged game after completion.
devices string array If set adds -Device=<The+String+Array> to the command line. Specifies on which devices the game will be run upon completion.
null_rhi bool If true adds -NullRHI to the command line. Runs the packaged games with no renderer.
nativize bool If true adds -NativizeAssets to the command line. Runs blueprint nativization during the cook process
stage bool If true adds -Stage to the command line. Save the cooked result in a staging directory
map string array If set adds `-Map=<The+String+Array> to the command line. Sets the map to include for the cook process. If omitted, used the one specified on the project documentation.
pak bool If true adds -Pak to the command line. Use pak files for packaging, if omitted uassets file will be directly in the content directory.
prereqs bool If true adds -Prereqs to the command line. Include prerequisites in the packaged game.
package bool If true adds -Package to the command line. Package the game for the target platform (app file on Mac, apk on Android or ipa on iPhone)
crash_reporter bool If true adds -CrashReporter to the command line. Includes the crash reporter during packaging.
title_id string or list of strings If true adds -TitleId=<Title+Id+Separated> to the command line. PS4 specific title id command.

Development Setup under Windows

  • Download and install Python 2.7

  • Install virtualenv

    pip install virtualenv
    
  • Create a virtualenv in .workspace\venv

    mkdir .workspace
    cd workspace
    C:\Python27\Scripts\virtualenv.exe venv
    cd ..\..\
    .workspace\venv\Scripts\activate.bat
    pip install -r requirements.txt
    
  • Download PyWin32 (for twisted) and install it in your venv

    easy_install <PATH_TO_pywin32-220.win32-py2.7.exe>
    
  • Clone Buildbot (in Version 0.9.1) somewhere and install it and its test setup

    git clone https://github.com/buildbot/buildbot.git -b v0.9.1
    cd buildbot\master
    pip install -e .
    python setup.py test
    
  • Install buildbot-UnrealEngine (inside your buildbot-UnrealEngine repo)

    pip install -e .
    
  • Now you can run the tests by writing

    trial buildbot_UnrealEngine.test
    
  • For code coverage install txcovreport:

    easy_install http://darcs.idyll.org/~t/projects/figleaf-latest.tar.gz
    pip install git+https://github.com/jrydberg/txcovreport.git
    

    Now you can run code coverage using

    trial --reporter=tree-coverage buildbot_UnrealEngine.test
    

Release files for buildbot-UnrealEngine 1.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for buildbot-UnrealEngine 1.3.0
File Size Uploaded
buildbot_UnrealEngine-1.3.0.tar.gz 9.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for buildbot-UnrealEngine 1.3.0
File Interpreter ABI Platform
buildbot_UnrealEngine-1.3.0-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 23.5 kB

Release files / buildbot_UnrealEngine-1.3.0.tar.gz

Download URL buildbot_UnrealEngine-1.3.0.tar.gz
Size 9.6 kB
Tags Source
SHA-256 checksum
How to use checksums
ccaec9ba7266bc48a97a9332bb454e3abbfb2a0624dd8f297ae59d75c24f3c34
BLAKE2b-256 checksum
How to use checksums
1bc2e0a58017097e929afe8910f8413df68b241bb381719abebd327fdf88edbe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.12.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/2.7.11

Release files / buildbot_UnrealEngine-1.3.0-py2.py3-none-any.whl

Download URL buildbot_UnrealEngine-1.3.0-py2.py3-none-any.whl
Size 13.9 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
03a2c9ad1e1c03e968b21ea2ed022c7ddec77236a3483f81371886e4291cac01
BLAKE2b-256 checksum
How to use checksums
1a57b534d5717e329ffb2fc60f9badc399b94a1a442f5a696ea82caceba4a5f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.12.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/2.7.11

Release history Release notifications | RSS feed

1.7.1

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.0

2 release files

This release

1.3.0 This release

2 release files

1.2.0

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page