Skip to content

PBSync Configuration Reference

mcoms edited this page Aug 13, 2024 · 2 revisions

Sample: https://github.com/ProjectBorealis/PBCore/blob/main/PBSync.xml

git/version

Version string for git to enforce/download

Required

git/lfsversion

Version string for git-lfs to enforce/download

Required

git/gcmversion

Version string for Git Credential Manager to enforce/download

Required

git/expectedbranch

Your stable/main branch used by artists, that you wish to do most automatic sync by default. For us this is promoted.

Defaults to main

git/url

The repository URL

Required

git/branches/branch...

Multiple nodes in git/branches to designate all status branches. Like so:

<git>
    <branches>
        <branch>trunk-dev</branch>
        <branch>trunk</branch>
        <branch>main</branch>
        <branch>promoted</branch>
    </branches>
</git>

Defaults to main

log/file

The path of PBSync's log.

Defaults to pbsync_log.txt

project/userconfig

The path of PBSync's user config

Defaults to .user-sync

project/ciconfig

The path of PBSync's CI config

Defaults to .ci-sync

versionator/defaultbundle

The default engine "bundle" for custom engine builds. A bundle is a packaging setup for an engine, like a collection of specific plugins, build switches (maybe skipping packaging UnrealGame Test and Shipping configurations), alongside the base UnrealEditor.

Defaults to editor

versionator/cibundle

The default engine bundle when running on a CI machine. This allows you to ship an editor with UnrealGame support only to your build machines, to save space.

Defaults to engine.

project/enginebaseversion

The major engine version, like 5.4

Required

project/uprojectname

The file name of your project. Ex: ProjectBorealis.uproject

Required

project/defaultgameinipath

The path to your DefaultGame.ini

Defaults to Config/DefaultGame.ini

project/packagepdbs

Whether to package PDBs or not for distribution

Defaults to true

publish/publisher...

A multinode of all the publisher you wish to use to distribute builds of your game. Valid options: dispatch, steamcmd, butler for Discord, Steam and Itch respectfully.

Defaults to empty

publish/stagedir

The directory where to find game builds for publishing

Defaults to Saved/StagedBuilds

dispatch/config

The dispatch.json location

Required for Dispatch usage

butler/project

The butler project to push to

Required for Butler usage

butler/manifest

The butler manifest file to use

Required for Butler usage

steamcmd/script

The app build vdf script to use

Required for steamcmd usage

steamcmd/drm/appid

The app ID to request DRM for your module

Required for steamcmd DRM usage

steamcmd/drm/targetbinary

The target binary to encode DRM for. Typically this is Saved/StagedBuilds/Windows/YOURPROJECT/Binaries/Win64/YOURPROJECT-Win64-Shipping.exe

Required for steamcmd DRM usage

steamcmd/drm/useonprem

Whether to use Valve's local DRM storage location instead of cloud. local DRM is slower but more reliable.

Defaults to False

versionator/engineprefix

The prefix to add to your engine versions, we use PB

Defaults to empty

versionator/enginetype

The type of engine, either ue5 or ue4

Required

versionator/uses_gcs

If you use Google Cloud storage for extra features. Configure your URL for your bucket in .ueversionator (documented separately)

versionator/uses_longtail

If you use advanced Longtail storage mechanism for engine build distribution

msg/git_instructions

What instructions to show regarding setting up Git

Defaults to https://github.com/ProjectBorealis/PBCore/wiki/Prerequisites

msg/support_channel

A description of a location like a chat channel or support ticket URL users can get support when PBSync encounters an issue or users may need guidance resolving conflicts

Required