ProjectBorealis / PBSync

System for syncing Unreal Engine project git repositories
MIT License
81 stars 9 forks source link
git hacktoberfest ue4 ue5

PBSync

Advanced workspace synchronization tool for Unreal Engine projects hosted on git repositories.

Development

Pipenv

Before running any scripts, use pipenv install and then pipenv shell.

Dependencies

Run dependencies.bat on Windows or dependencies.sh on Linux.

Setup

On Linux, this step can be skipped.

PyInstaller is required for executable generation, and it should be built from source to prevent false positive virus detections of generated PBSync executable.

You can run install_pyinstaller.bat to do this automatically.

Build

Windows

To generate a binary file from python source code, just run build.bat script. If generation was successful, the binary file will be put inside dist folder. To start using, generated executable should be put into root folder of the Unreal Engine project.

Linux

On Linux systems, run the build.sh script to generate binary file.

But, since most Linux systems come with a version of Python already available, another option is to run it directly:

git clone https://github.com/ProjectBorealis/PBSync

PYTHONPATH=<path-to-local-PBSync> python <path-to-local-PBSync>/pbsync/pbsync.py --help

Contribution

Everyone is welcomed to fork the repository, or open pull requests and new issues in this main repository.

Usage

Sample usage

You can refer to our PBCore repo for an example of usage.

Essentially, we use a batch script to sync PBSync with the remote branch, and then launch PBSync (UpdateProject.bat). We have our configuration file in PBSync.xml.

PBSync.exe and ueversionator.exe are distributed as part of the repo, at the root game project level.

.ueversionator in the repo configures the engine download.

Additional scripts for managing various PBSync functionality can be found in the Script folder.

Available Commands

List of available commands can be printed to console by passing --help to generated executable.