Unity Build Automation Editor package

Starting from Unity 6, the Unity Build Automation package (version 2.0.0 and later) works seamlessly with the new build profiles that Unity 6 introduced. This package provides a set of services you can use to build and distribute your applications efficiently. This enhanced workflow helps you manage multiple deployment targets and offloads resource-intensive build tasks to the cloud to accelerate your development cycle.

In addition to standard local builds, when you create new build profiles within the Unity Editor, you can opt to begin a cloud build.

If you select the Cloud Build option, the Unity Build Automation (UBA) system automatically creates a new build target based on the currently active build profile and remote builder configuration. This integration streamlines the build process and allows you to build your local changes in the cloud without having to manually commit your changes to the repository by using the Shelve and Build feature.

Get Started

Get started in the Unity Editor:

  1. Create a new build profile.
  2. Select Cloud Build.

This action prompts you to install the latest version of the UBA package.

UBA Build Profile Initial View

Configure the UBA package

After you install the package, configure your settings:

  1. Select the remote builder configuration to configure the package settings based on your desired preferences.
  2. Select Cloud Build again to initiate your build on the cloud with the UBA services.

UBA Builder Config View

Shelve and Build

The Shelve and Build feature allows you to temporarily shelve pending changes when you initiate a cloud build. This feature is exclusive to projects that use Unity Version Control (UVCS).

If you have pending changes in your project when you start a cloud build, UBA prompts you to shelve and build.

Note: If UBA doesn't detect your pending changes, try the following fixes:

  • Ensure that Unity Version Control (UVCS) is properly configured.
  • Refresh the Pending Changes view in the Unity Editor to update the list of pending changes.

Shelving

Shelving is a process in Unity Version Control that you can use to temporarily store pending changes without committing them to the repository. For example, you can shelve pending changes for the following reasons:

  • Avoid committing incomplete or experimental work.
  • Run builds with temporary changes.
  • Switch between tasks or continue working locally while a build is in progress.

When you trigger a cloud build with uncommitted changes and select the Shelve and Build feature, Unity automates this shelving process.

Missing files during build

When you use Shelve and Build, be aware that UBA doesn't include files marked as private (unversioned) in the shelveset. To ensure all necessary files are included in your build:

  • Use the command cm add <file_path> to add any new files to version control.
  • Review your .ignore.conf file to verify that a rule doesn't exclude any important files (such as .meta files).
  • Check the Pending Changes view to confirm that UVCS tracks all your required files.