Unity CLI release notes for August 2026
Learn about the Unity CLI releases in August 2026.
Read time 15 minutesLast updated a day ago
This page contains the release notes for the Unity CLI versions released in August 2026, from newest to oldest.
1.0.0-beta.6
Release date: August 21, 2026
-
Breaking changes
- now requires you to be signed in, and exits with code
unity buginstead of3when you aren't. Previously a signed-out run reported nothing and appeared to succeed. Authenticate first, or pass service-account credentials, before a script or CI job calls0.unity bug - now uses exit code
unity testspecifically for a run whose tests failed. Every other way a test run fails to reach a verdict — a compile error, an expired license, an editor crash, or8— keeps exit code--timeout. If a script treats exit code6as "tests failed," point it at6instead.8
-
Source control
- and
unity projects createcan now create the new repository throughunity projects link vcs,gh, orglabwhen the CLI's own REST clients can't reach the host: a GitHub Enterprise Server, a self-managed GitLab, or a self-hosted Gitea or Forgejo instance.teaaccepts a bare hostname for these. No token passes through the CLI on this path; the provider CLI's own signed-in session does the work. A new--vcsflag sets the repository's description.--git-description <text> - and
unity projects clonenow accept a plain git URL —unity projects link vcs,ssh://, orgit@host:path— as an optional positional argument, so any git host works, including Bitbucket, Azure DevOps, and a self-hosted server. This form uses your machine's own ambient git authentication rather than a provider API call.https:// - Both commands, and , now work fully over SSH, including host-key verification and passphrase-protected keys. Use
unity projects create --vcson the flag form to switch the transport.--git-remote-protocol ssh - Signing in to github.com no longer implies anything on a self-hosted host. When a self-hosted or enterprise host needs its own sign-in, the CLI now names the exact command to run for whichever provider CLI you have installed.
- Git credential prompts no longer hang. Without a terminal, in CI, under a machine-readable , or with
--format, the CLI now fails immediately with exit code--non-interactivenaming the credential it needed, instead of waiting on a prompt nobody could answer.4 - Git operations under now respect your own git configuration (
unity projects,core.sshCommandrules, credential helpers) instead of ignoring it, and credential lookups resolve per organization when your credential helper supports it (setincludeIfto opt in).git config --global credential.useHttpPath true
-
Project management
- Added , a fast check for the things version control breaks in a Unity project: orphaned or missing
unity projects verifyfiles, duplicate GUIDs from a bad merge, and unresolved conflict markers. It needs no Editor, license, or network access, so a broken checkout fails in seconds instead of after a full build. Pass.metato fail on warnings too, and--strictto also check for editor-version drift.--expect-editor <version>
- Added
-
Build automation
- now writes a build provenance manifest next to its output, recording the editor version, resolved package set, build target, git revision, and timestamps that produced the build. It's written for failed builds too. Paths, credentials, and machine-identifying details are deliberately left out, so it's safe to publish alongside the artifact. Use
unity buildto choose where it's written, or--provenance-pathto turn it off.--no-provenance - now prints a periodic heartbeat during a long build, tracking both elapsed time and how long since the editor's log last grew, so silence in the log no longer looks the same as a hang. A new
unity buildflag (also--timeout <seconds>) aborts a build that runs too long.UNITY_BUILD_TIMEOUT
-
Unity Collaboration
- (
unity collaborationfor short) is now part of every build, instead of development builds only. It covers Unity Collaboration's annotations end to end — create, list, update, resolve, reply, and react — plus attachments, thumbnails, and a Jira integration that creates and links issues from the CLI. Rununity collabfor the full command tree.unity collab --help
-
Automation and CI
- Added , a global output format that reports command failures as GitHub Actions annotations instead of plain text, so a red step in a workflow points at what went wrong in its summary.
--format github - Added , which prints a deterministic cache key for a Unity project's
unity cache keyfolder, derived from the editor version, the resolved package set, and the build target. Use it as the key for a CI cache step.Library - Added , a fast preflight that checks whether a machine can actually finish a build or test run — an activatable license, the project's required editor, disk space, and network reachability — and exits non-zero when it can't, so a pipeline fails in seconds instead of partway through a build.
unity doctor --ci - gained
unity testto split a suite deterministically across parallel CI jobs,--shard N/Mto re-run only the tests that failed and report which ones were flaky, and--retries Nto re-run just the failures from a previous run's report.--rerun-failed
- Added
-
Security and privacy
- Shell completion scripts (,
unity completion bash, andfish) now escape the strings they interpolate, closing a defense-in-depth gap where an unescaped value could have run as a command or broken out of its quoting.powershell - Progress spinners and the background update check are hardened against a tampered update manifest smuggling terminal control sequences into the spinner label.
- Shell completion scripts (
-
Issues fixed
- Editor and module install progress bars are back in the terminal. A large download previously printed nothing at all until it finished, which looked indistinguishable from a hang.
- A stale Unity Licensing Client is now detected and replaced automatically, instead of silently rejecting every command until it was deleted by hand.
unity license - The Android module on Linux, the Android NDK on macOS, Windows modules that need administrator elevation, and language packs all had install paths that were broken outright; all are fixed.
- Wrapped editors (running under ,
xvfb-run, or a CI runner) are counted correctly again bydbus-run-session, instead of appearing as duplicates or "ambiguous."unity status - The loop where signing in with eventually signed you out of the Unity Hub is fixed for good.
unity auth login - Installing the CLI on Windows no longer corrupts your user . PowerShell tab completion now actually registers (it never took effect before).
PATHnow catches malformed or misspelled arguments instead of silently running on default values.unity command
1.0.0-beta.5
Release date: August 13, 2026
-
Security and privacy
- no longer uploads your account name or email address. The CLI's log file records paths under your home directory on nearly every line, and a bug submission attaches that file as-is, so on a machine where the account name is your real name, submitting a report sent it too. Both are now redacted as each line is written: the account name becomes
unity bugwherever it appears, and email addresses become<user>. Nothing else about the line changes, so an install failure stays diagnosable. Logs written before this release are unaffected; delete them if you'd rather not send them.<redacted-email>
-
Issues fixed
-
A retried module download innow resumes the partial file it already has instead of starting that module again from the beginning. A module that failed and then succeeded within the same run previously left one numbered file per attempt, such as
unity install-modulesandandroid (1).pkg; it now leaves a single file and downloads its bytes once. The retry count and the exit code are unchanged.android (2).pkg -
,
unity build, andunity testnow report an Editor killed by a signal asunity run, naming the signal, instead of reportingstopped with signal SIGSEGV.exited with code 1,SIGILL,SIGTRAP, andSIGFPEare recognized too, where they previously surfaced as a bare number such as 132. An Editor that exits normally still reports its own exit code.SIGBUS -
Routine outcomes no longer suggest you report a CLI bug. Declining a module's license terms, being told to passin a non-interactive shell, running
--accept-eulafor an Editor you haven't installed, setting an invalid path withunity modules <version>, aunity install-path --setwhose build fails, and aunity buildthat waits on another install's lock all stopped printing "Rununity installto report this issue". The messages, the exit code (6), and theunity bugenvelope, including the--format jsonerror code, are unchanged, so scripts that branch on them keep working. An Editor that crashes mid-build is still reported as a fault.BUILD_FAILED -
,
unity --help,unity -h, and bareunity helpshow the Unity logo header again. The header still stays out of the way when you pipe the output, passunityor--quiet, or ask for a machine-readable format, and subcommand help such as--no-banneris unchanged.unity install --help -
now produces a script that registers itself with zsh, so pressing Tab completes commands, subcommands, and flags. The script previously defined the completer without telling zsh about it, and Tab fell back to plain filename completion with no error to explain why. Save it to a directory on your
unity completion zsh:$fpathmkdir -p ~/.zsh/completionsunity completion zsh > ~/.zsh/completions/_unityThen make sure yourhas~/.zshrcfollowed byfpath=(~/.zsh/completions $fpath). bash, fish, and PowerShell completion are unaffected.autoload -Uz compinit && compinit -
Thehelp text shows its credentialed example as
--proxy, so it's clear which parts you substitute. In Spanish, the username in that example is no longer mistranslated.http://<user>:<pass>@host:8080
-
1.0.0-beta.4
Release date: August 12, 2026
-
Breaking change
- Linux now requires glibc 2.34 or newer. This drops support for Ubuntu 20.04 and earlier, Debian 11, RHEL and CentOS 8, and Amazon Linux 2. RHEL 9 and Ubuntu 22.04 are the oldest supported releases. The and
.debpackages declare the requirement, so.rpmandapt upgraderefuse the update on an affected system and leave your working CLI in place, anddnf upgradechecks before it downloads. If you're on an affected distribution, stay on 1.0.0-beta.3. macOS and Windows are unaffected.install.sh
- Linux now requires glibc 2.34 or newer. This drops support for Ubuntu 20.04 and earlier, Debian 11, RHEL and CentOS 8, and Amazon Linux 2. RHEL 9 and Ubuntu 22.04 are the oldest supported releases. The
-
Installation and updates
- Added winget as an install source on Windows: , then
winget install Unity.CLIto stay current.winget upgrade Unity.CLI - Added Homebrew as an install source on macOS and Linux: , then
brew install --cask unity-cli.brew upgrade unity-cli - Added self-updating Windows installs. now updates an MSIX install directly instead of deferring to winget, downloading only the parts of the package that changed. It also registers the install with Windows, which then keeps the CLI current in the background. Rollback remains unavailable on MSIX.
unity upgrade - Added , which reports the version and channel the install resolved, the manifest it reads, and the exact command that updates it. On Windows it also shows the update feed Windows is registered against.
unity diagnose update
- Added winget as an install source on Windows:
-
Editor and project management
- Added , which runs one command across every registered project. Narrow the set with repeatable
unity projects exec -- <command>terms, raise concurrency with--filter, and use--parallel <n>to run the whole fleet regardless.--continue-on-error - Added to delete a project's regenerable cache folders and reclaim disk space. Use
unity projects clean [project]to list the targets and sizes without deleting.--dry-run - Added to find installed Editors no registered project uses, with the disk space each would reclaim. Report-only by default;
unity editors pruneuninstalls them after confirmation.--remove - Added to check that an installed Editor's binary and modules are present and non-empty, catching installs left broken by antivirus quarantine or a failed extraction.
unity editors verify <version> - Added to pack an existing project into a portable template archive.
unity templates pack <project-path> --output <file>
- Added
-
Build automation
- no longer requires
unity build. On Unity 6 and newer,--execute-methodbuilds a Build Profile, and on every version the desktop targets build without a method, so--profile <path-or-name>works with no project-side C# code.unity build --target StandaloneWindows64 --output-path Build/MyGame.exekeeps working and takes precedence.--execute-method
-
Authentication
- Added multi-account support. adds an account without dropping existing sessions,
unity auth loginshows every stored account,unity auth listchanges the active one, andunity auth switch <account>signs out one account while preserving the rest.unity auth logout <account> - Added per-project default accounts with , so cloud-authenticated commands run from inside that project resolve it automatically.
unity auth default <account>
- Added multi-account support.
-
AI agent integration
- Added to install the Unity CLI agent skill into an AI client's rules or skills directory, in that client's native format. The skill is embedded in the binary, so it works offline and matches the running version.
unity skill install <client>re-renders previously installed skills after an upgrade.unity skill refresh
- Added
-
Automation and CI
- Added CI-native test reports and code coverage to , so it drops into a GitHub Actions or GitLab pipeline without a converter step.
unity test - Added detached Editor command jobs: and
unity command <name> --detachreturn a job ID immediately, andunity eval <expr> --detach,unity job wait, andunity job statusmanage it. Requires a Unity pipeline package with job support.unity job cancel - Added live Editor task progress to and
unity command, rendered as a progress bar on an interactive terminal and asunity run --commandframes under{"type":"progress"}.--format ndjson - ,
unity command,unity list, andunity jobnow find the right Editor on their own when several are open, by matching the directory you run them from against the registered projects. Explicitunity mcpstill takes precedence.--project-path - Added the full query surface to listings:
unity command,--query,--tag,--group_by,--sort,--order,--offset, and--limit.--detail - can now attach files with
unity bugand a stripped copy of the project with--attachments <paths...>.--share-project <path>
- Added CI-native test reports and code coverage to
-
Output and integration
- failures are now machine-readable: a failed command ends the stream with a terminal
--format ndjsonframe carrying the same fields as the{"type":"result","success":false,…}envelope, instead of reporting only on stderr.--format json - Long human-readable output now scrolls in a pager on an interactive terminal, using ,
$UNITY_PAGER, or$PAGER. Machine formats, piped output, andlessnever page. Opt out with--quietor--no-pager.UNITY_NO_PAGER
-
Interactive shell
- Added full line editing to the prompt: Up and Down recall previous commands across sessions, Tab completes commands, subcommands, flags, and values, and Left, Right, Home, and End move within the line.
unity shell - Tab completion now completes pipeline command names live from the connected Editor.
- Added full line editing to the
-
Issues fixed
- now verifies that the downloaded binary starts on your system before replacing the one you have, and no longer cancels itself where the temporary directory is mounted
unity upgrade.noexec - no longer overwrites an npm-managed install; it now defers to
unity upgradethe same way it defers to apt, rpm, and Homebrew.npm i -g @unity/cli@latest - no longer causes the Editor to open Unity Hub, and the Editor now picks up the account you signed in with.
unity open - commands and Unity Version Control commands now work on a machine that has never run Unity Hub.
unity license - no longer hides upgrades for Apple silicon and Arm Windows Editors, no longer offers an older patch than the newest in the line, and no longer reports prerelease Editors as up to date when a newer prerelease exists.
unity editors upgrade - now finds releases on entitlement-gated lines, such as extended LTS.
unity editors info <version> - now distinguishes an unreachable release service from a version that doesn't exist, retrying briefly and exiting with the new code 7 rather than blaming the version.
unity install <version> - works again on macOS and Linux, and
unity hub installworks again for Hub 3.20.0 and newer.--hub-version - Running a command with no longer leaves root-owned directories that break every later command.
sudo - failures now report the underlying reason instead of a bare
unity install, and interrupted downloads can be resumed withInstallation Failed.--resume - Editor and module downloads are now verified against the release manifest's checksum, including downloads resumed across attempts.
- now writes the config key and file path each AI client actually reads, preserves comments and formatting in the files it edits, and the
unity mcp configureandrun_teststools return as soon as the Editor answers instead of always failing at their poll timeout.recompile - Running a command group without a subcommand now prints its help to stdout and exits 0 instead of reporting a usage error.
- Editor Pipeline commands now work behind an HTTP proxy, and long-running Editor commands no longer hard-fail at 60 seconds.
-
Security
- Values that come from Unity services, user-editable settings, or the licensing client are now sanitized before they're printed, so a crafted value can't smuggle terminal escape sequences into your terminal or forge extra rows in output. This covers table headers and cells, interactive prompt choices,
tsv,unity license status,unity editors default, andunity install-path.unity config proxy - A rejected value shaped like
--proxyno longer echoes the password in the usage error.user:pass@host - on macOS and Linux now refuses an Editor whose stored location resolves to a filesystem root.
unity uninstall - Updated the bundled HTTP client library, which now rejects header values containing CR or LF characters.
- Values that come from Unity services, user-editable settings, or the licensing client are now sanitized before they're printed, so a crafted value can't smuggle terminal escape sequences into your terminal or forge extra rows in