42 documented changes.

Version
1.0.0-beta.4
Released
Aug 12, 2026
Product
Unity CLI
Unity CLI release notes

Unity CLI 1.0.0-beta.4

Official notes

Breaking change

  1. 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 `.deb` and `.rpm` packages declare the requirement, so `apt upgrade` and `dnf upgrade` refuse the update on an affected system and leave your working CLI in place, and `install.sh` checks before it downloads. If you're on an affected distribution, stay on 1.0.0-beta.3. macOS and Windows are unaffected.

    • Windows
    • macOS
    • Linux

Installation and updates

  1. Feature

    Added winget as an install source on Windows: `winget install Unity.CLI` , then `winget upgrade Unity.CLI` to stay current.

    • Windows
  2. Feature

    Added Homebrew as an install source on macOS and Linux: `brew install --cask unity-cli` , then `brew upgrade unity-cli` .

    • macOS
    • Linux
  3. Feature

    Added self-updating Windows installs. `unity upgrade` 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.

    • Windows
  4. Fix

    Added `unity diagnose update` , 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.

    • Windows

Editor and project management

  1. Feature

    Added `unity projects exec -- ` , which runs one command across every registered project. Narrow the set with repeatable `--filter` terms, raise concurrency with `--parallel ` , and use `--continue-on-error` to run the whole fleet regardless.

  2. Feature

    Added `unity projects clean [project]` to delete a project's regenerable cache folders and reclaim disk space. Use `--dry-run` to list the targets and sizes without deleting.

  3. Feature

    Added `unity editors prune` to find installed Editors no registered project uses, with the disk space each would reclaim. Report-only by default; `--remove` uninstalls them after confirmation.

  4. Feature

    Added `unity editors verify ` 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.

  5. Feature

    Added `unity templates pack --output ` to pack an existing project into a portable template archive.

Build automation

  1. Change

    `unity build` no longer requires `--execute-method` . On Unity 6 and newer, `--profile ` builds a Build Profile, and on every version the desktop targets build without a method, so `unity build --target StandaloneWindows64 --output-path Build/MyGame.exe` works with no project-side C# code. `--execute-method` keeps working and takes precedence.

Authentication

  1. Feature

    Added multi-account support. `unity auth login` adds an account without dropping existing sessions, `unity auth list` shows every stored account, `unity auth switch ` changes the active one, and `unity auth logout ` signs out one account while preserving the rest.

  2. Feature

    Added per-project default accounts with `unity auth default ` , so cloud-authenticated commands run from inside that project resolve it automatically.

AI agent integration

  1. Feature

    Added `unity skill install ` 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 refresh` re-renders previously installed skills after an upgrade.

Automation and CI

  1. Feature

    Added CI-native test reports and code coverage to `unity test` , so it drops into a GitHub Actions or GitLab pipeline without a converter step.

  2. Feature

    Added detached Editor command jobs: `unity command --detach` and `unity eval --detach` return a job ID immediately, and `unity job wait` , `unity job status` , and `unity job cancel` manage it. Requires a Unity pipeline package with job support.

  3. Feature

    Added live Editor task progress to `unity command` and `unity run --command` , rendered as a progress bar on an interactive terminal and as `{"type":"progress"}` frames under `--format ndjson` .

  4. Change

    `unity command` , `unity list` , `unity job` , and `unity mcp` now find the right Editor on their own when several are open, by matching the directory you run them from against the registered projects. Explicit `--project-path` still takes precedence.

  5. Feature

    Added the full query surface to `unity command` listings: `--query` , `--tag` , `--group_by` , `--sort` , `--order` , `--offset` , `--limit` , and `--detail` .

  6. Change

    `unity bug` can now attach files with `--attachments ` and a stripped copy of the project with `--share-project ` .

Output and integration

  1. Change

    `--format ndjson` failures are now machine-readable: a failed command ends the stream with a terminal `{"type":"result","success":false,…}` frame carrying the same fields as the `--format json` envelope, instead of reporting only on stderr.

  2. Change

    Long human-readable output now scrolls in a pager on an interactive terminal, using `$UNITY_PAGER` , `$PAGER` , or `less` . Machine formats, piped output, and `--quiet` never page. Opt out with `--no-pager` or `UNITY_NO_PAGER` .

Interactive shell

  1. Feature

    Added full line editing to the `unity shell` 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.

  2. Change

    Tab completion now completes pipeline command names live from the connected Editor.

Issues fixed

  1. Fix

    `unity upgrade` 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 `noexec` .

  2. Fix

    `unity upgrade` no longer overwrites an npm-managed install; it now defers to `npm i -g @unity/cli@latest` the same way it defers to apt, rpm, and Homebrew.

  3. Fix

    `unity open` no longer causes the Editor to open Unity Hub, and the Editor now picks up the account you signed in with.

  4. Fix

    `unity license` commands and Unity Version Control commands now work on a machine that has never run Unity Hub.

  5. Fix

    `unity editors upgrade` 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.

    • Windows
  6. Fix

    `unity editors info ` now finds releases on entitlement-gated lines, such as extended LTS.

  7. Fix

    `unity install ` 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.

  8. Fix

    `unity hub install` works again on macOS and Linux, and `--hub-version` works again for Hub 3.20.0 and newer.

    • macOS
    • Linux
  9. Fix

    Running a command with `sudo` no longer leaves root-owned directories that break every later command.

  10. Fix

    `unity install` failures now report the underlying reason instead of a bare `Installation Failed` , and interrupted downloads can be resumed with `--resume` .

  11. Fix

    Editor and module downloads are now verified against the release manifest's checksum, including downloads resumed across attempts.

  12. Fix

    `unity mcp configure` now writes the config key and file path each AI client actually reads, preserves comments and formatting in the files it edits, and the `run_tests` and `recompile` tools return as soon as the Editor answers instead of always failing at their poll timeout.

  13. Fix

    Running a command group without a subcommand now prints its help to stdout and exits 0 instead of reporting a usage error.

  14. Fix

    Editor Pipeline commands now work behind an HTTP proxy, and long-running Editor commands no longer hard-fail at 60 seconds.

Security

  1. 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 `tsv` output. This covers table headers and cells, interactive prompt choices, `unity license status` , `unity editors default` , `unity install-path` , and `unity config proxy` .

  2. Security

    A rejected `--proxy` value shaped like `user:pass@host` no longer echoes the password in the usage error.

  3. Security

    `unity uninstall` on macOS and Linux now refuses an Editor whose stored location resolves to a filesystem root.

    • macOS
    • Linux
  4. Security

    Updated the bundled HTTP client library, which now rejects header values containing CR or LF characters.

Pick your Unity version

Unity Releases compares releases against the version your project is on. Picking it now keeps Compare versions focused on what changes between where you are and where you might be going.