Your first build
Once a branch is added with at least one build configuration, the next push to it becomes a build. This page follows that build from the push to the downloaded artifact, using the main branch of Starfall as the example.
What starts a build
A build is created for a push when all three of these are true: the push lands on a branch listed under Branch Configuration on the Connections page, that branch has at least one entry in its Build Configuration column, and the branch's Build Schedule allows it. One build is created per push, with one job per selected configuration.
| Build Schedule | What starts a build |
|---|---|
| On Every Commit | Every push to the branch. The head commit of the push is what gets built. |
| Nightly Only | Once a day at the time you picked, building the latest push on the branch. If that push has already been built, nothing is created. |
| Weekly Only | Once a week on the day and time you picked, with the same latest-push rule. |
The time shown next to a nightly or weekly schedule is in your own time zone; the label names the zone, for example Time (PDT):. On a scheduled branch you can also build a specific commit ahead of the schedule with Build Now on the Commits page; see The Commits page for when the button appears.
If the Builds page still shows the Welcome! Let's Get Started banner, the project has no repository yet and nothing can build. Choose Connect Source Control Provider and follow the connection page for your provider: GitHub, Bitbucket Cloud or Diversion.

Read the Builds page
Builds in the sidebar opens the build stream. The header card is titled Build stream and states how many branches build automatically, for example Currently auto-builds on 1 branch. The Search field matches commit messages; Filter opens a sheet with Order by, Branch, Status and Configuration, plus Reset filters.

Each card is one push. The heading is the commit message, followed by Version (the branch's version, for example v1.4.0), Build Number (counts up per branch, for example #4) and Created at. On the right, a summary chip rolls up the jobs: 1 Running while any job is still going, then 2 Failed if any failed, otherwise Success 2/2. The branch name sits next to it as a chip.
Click the card to expand it. Each row is one job, named by its configuration chip such as win32-release. The status chip at the left of a row is one of:
| Status chip | Meaning | Time label |
|---|---|---|
| Build in progress... | A build machine is working on it. | Running for and a live elapsed time |
| Waiting for a build machine | The job is queued because no machine on the farm can take it right now. It stays queued and is retried; it does not time out on its own. | Queued for |
| Build succeeded | The job finished and an artifact was produced. | Finished |
| Build failed | The job finished without an artifact. Open the log. | Finished |
| Build canceled | Someone canceled it while it was in progress. | Finished |
| Not Built | The job exists but has not been submitted. You rarely see this. | Created |
Two more chips can accompany the status. Last Known Good marks the most recent succeeded job for that configuration on the branch. Canceling... appears after you request a cancel and before the build machine confirms it.
At the right of every row are View Log, and on a succeeded job Download, followed by a checkbox labelled Select win32-release (one per configuration). The card header has Select all jobs and a 0 Selected counter; selection drives the cancel and delete buttons described in Cancel and delete. An expanded card with no jobs reads No builds have been run for any configuration yet; an empty stream reads No builds found.
Open the log
View Log on a job row opens the Logs page for that job. Back returns you to the Builds page with the row you came from scrolled into view. The page has three tabs: Log Viewer, Build Buddy and Export, the last of which is disabled today.

The banner repeats the commit message, Version, Build Number and Created at, then a status chip: Success, Running, Waiting for a build machine, Failed, Canceled or Idle, with Last Known Good and the configuration chip alongside. On a succeeded job the banner also carries Download.
Build Steps lists the stages the build machine reported, each with its duration and a tick, a cross or a spinner. The step that introduced a failure is the one marked with the cross. Until the machine reports its first step the panel reads No build steps available.
Log viewer shows up to four streams joined in order, labelled Setup · stdout, Setup · stderr, Build · stdout and Build · stderr. Setup is everything before the engine runs (checkout, toolchain checks, submission); Build is the engine's own output. Empty streams are dropped. The viewer has a Search field with previous and next match buttons, a line-wrapping toggle, a level filter, and an error-density strip you can click to jump. On a failed job the viewer opens at the first error. While a job is running the log streams in as it is written.
Build Buddy is an automated reading of a failed log. It opens with one of four verdicts, Build infrastructure issue, Project code issue, Project configuration issue or Cause unclear, then a Signature (the lines it keyed on), Affected Files and Warnings & Notices. Treat it as a lead. The log is the record.
Download the artifact
Download appears only on a job whose status is Build succeeded and which produced an artifact. It is on the job row on the Builds page and in the banner on the Logs page. Each click asks for a fresh, short-lived link and starts the download in your browser; there is no permanent URL to bookmark.
The artifact is one zip per configuration, named after it, for example win32-release.zip, containing the engine's build output for that platform and flavor. A failed or canceled job has no artifact, so it has no Download button. If the link cannot be issued you see a toast titled Download Failed; wait a moment and try again, and if it persists the artifact may have been removed with the build (see Deleted Builds).
The Commits page
Commits in the sidebar lists every commit Build Stream has received from your repository, whether or not it built. The page header reads Track code changes and build results across commits and has the same Search and Filter controls as the Builds page. Each row shows the commit message, then by the author, the short commit id and a count such as 1 file changed, with the provider name at the right.

Click a row to open the details panel. It shows Changes (for example 1 added • 0 modified • 0 removed), Contributors, Files Changed and Related Builds. Each related build is a row such as Failed • win32-debug • 7d ago (or Not started for a job that has not begun); clicking it takes you to that build on the Builds page.

Build Now sits at the bottom of the panel only when both of these hold: the commit's branch is on Nightly Only or Weekly Only, and the commit has no builds yet. On an On Every Commit branch the button never appears, because the push already built. Once a commit has been built the button is gone for good, unless every build of that commit has been deleted; deleting a build is how you clear the way to build its commit again. If the request is refused you see a toast titled Build Failed with the reason, most often Build already exists for this commit or No build configurations found for this branch.
Cancel and delete
Both actions work on a selection. Tick the checkbox on one or more job rows, or Select all jobs in the card header, then use the buttons in the header. The counts in the button labels tell you what the selection contains.
Cancel a job that is in progress
Select the running or queued jobs and choose (1) Cancel In Progress. The dialog is titled Cancel Builds and asks Cancel 1 in-progress build?; confirm with Cancel Builds. A toast reads Cancel Requested / 1 build is being canceled., the row shows Canceling..., and it settles to Build canceled once the build machine has stopped. A job that is Waiting for a build machine can be canceled the same way.
Delete completed jobs
Select succeeded, failed or canceled jobs and choose (1) Delete Completed. With one job selected the dialog is titled with the commit message and configuration, for example Add double-jump: win32-release, and reads This build will be moved to the trash and will be permanently deleted 24 hours from now. Confirm with Delete Build. With several selected the title is Delete 2 Builds, the body says These builds, and the button is Delete Builds.

The toast reads 1 build deleted / Auto-deletes after 24 hrs. The job leaves the Builds page at once and appears under Deleted Builds. If part of a selection could not be deleted, a second toast titled Delete Failed names how many, and those rows stay selected so you can retry.
Deleted Builds
Deleted Builds in the sidebar is the trash. The header reads Deleted builds are staged here and permanently deleted 24 hours after deletion. Each row shows the commit message, Deleted at, a countdown such as Permanently deletes in 23h 54m, the branch chip, a job count such as 1 build and a Restore button. A deleted single job shows its configuration chip instead of a count.

Restore puts the build back in the stream with its artifact and log intact; the toast reads Build restored and names the commit as being back in the build stream. When the trash is empty the page reads No deleted builds. Once the countdown reaches zero the next cleanup pass removes the build and its artifact from storage, and it cannot be recovered.
Builds also arrive in the trash without anyone deleting them: builds older than the retention window are swept into it automatically, and from there follow the same 24-hour countdown. The window is 90 days by default. See the reference.
When a build fails
Open the log first. A failure that happened before the engine ran appears in the Setup · stderr stream, prefixed OVERALL WORKER PROCESS ERROR:, and the message names what to change. A failure inside the engine appears in Build · stderr and the viewer jumps to it. The troubleshooting page quotes each Build Stream message with its cause and fix:
- The branch has no build configuration (No autobuild configurations found for branch)
- The project toolchain or version is not set, or disagrees with the repository (configured for … but the repository is authored with)
- No Unity licence of the project's type, or all are in use
- A selected Unity build profile no longer exists in the repository
- The build controller could not be reached, or gave up
- No build machine can take the job (the Waiting for a build machine chip and the farm warnings on the configuration picker)
Something out of date or unclear? Email [email protected].