Unity CLI 1.0.0-beta.9
36 documented changes.
- Version
- 1.0.0-beta.9
- Released
- Sep 8, 2026
- Product
- Unity CLI
Unity CLI 1.0.0-beta.9
Installs and updates
- Change
`unity install` and `unity install-modules` now use `--child-modules` / `--no-child-modules` , which matches `unity editor module add` . The previous camelCase options ( `--childModules` / `--no-childModules` ) and the `--cm` / `--no-cm` shorthand continue to work.
- Change
`unity install --list-components` is now `unity install --list-modules` , which matches the `-m` / `--module` terminology. The previous name remains available as a hidden alias.
- Change
`unity modules list` and `unity install --list-modules` now label their last column `Aliases` instead of the downloader name. The `--format json` field also changes from `downloaderName` to `aliases` .
- Change
The CLI now warns you when both a self-installed `unity` and a Homebrew-managed version appear on your `PATH` . In this state, `which unity` continues to resolve to the self-installed copy, while `brew upgrade` updates the Homebrew copy, so the versions can diverge. The background update check now directs you to `unity self-uninstall -y` to remove the self-installed copy and let Homebrew manage updates.
AI and Editor integration
- Change
`unity skill show` now prints the CLI's agent skill to standard output without installing anything, so you can read the skill without changing the filesystem. Use `--path ` to print a reference file, `--list` to list all files in the skill, or `--format json` to return each file's content with its index.
- Change
`unity --help` now mentions the agent skill on its last line and directs you to `unity skill show` and `unity skill install ` .
Automation and CI
- Change
`unity plugin upgrade` now compares the installed version directly with the plugin registry instead of estimating staleness from a checksum. If your installed version is newer than any version the registry currently admits, the CLI reports that state separately instead of reporting an indeterminate result. If the installed version has since been yanked, `upgrade` downgrades to the newest non-yanked version and explains why.
- Change
`unity plugin changelog ` now displays a managed tool's release notes, rendered from Markdown and paged like `unity changelog` . Use `--version ` to display notes for a specific version, or `plugin upgrade --changelog` to display the full notes before the upgrade.
- Change
A global `--color ` flag now controls colored output directly. Use `--no-color` as shorthand for `--color never` . The flag affects only human-readable output and no longer relies only on the `NO_COLOR` and `FORCE_COLOR` environment variables.
- Change
`unity version` is a new command that displays the CLI version, release channel, commit, platform, architecture, and runtime in any output format. `--version` also honors `--format` . A bare `unity --version` continues to print only the version string.
- Change
`unity doctor` now lists the CLI's bundled third-party components with their versions and SPDX license identifiers, along with the .NET runtime.
- Change
A generic `unity config get|set|list|unset ` interface now provides access to the CLI's existing settings: `proxy` , `proxy.bypass` , `accelerator` , and `update-check` . You can read and write these settings by key as well as through their existing subcommands. When you read back a proxy URL with embedded credentials, the CLI redacts the credentials.
Security and privacy
- Security
The auth broker now seals its token store to the machine it was written on. On Windows, it uses the TPM and falls back to DPAPI. On Linux, it uses TPM2 through `systemd-creds` and falls back to the Secret Service keyring. On macOS, it uses the Keychain. A local key file provides the fallback on all platforms. `unity doctor` now reports which protection is active.
- Windows
- macOS
- Linux
- Security
`unity auth consumers` now lists the applications that have used your Unity sign-in on the current machine. Use `unity auth revoke ` to prevent an application from using it. Use `--restore` to undo a revoke.
- Security
The CLI now sends one `cli telemetry` event per run so Unity can count total usage, including runs that never display a consent prompt, such as CI and agent runs. The event contains no user, machine, or session identifier and no consent state. It contains only the tool, CLI version, and whether the run appears to be a CI run. Set `UNITY_NO_CLI_INVOKED_TELEMETRY=1` to disable it.
Build automation
- Change
`unity test --affected --since ` now runs only the tests that a change can affect, based on the impact graph from `unity vcs affected` . Selection is opt-in, and results go to `test-results.affected.xml` so the command does not overwrite a full-suite report. The command also identifies changes that it cannot prove are unaffected. For example, a change to a non-code file still runs the full suite. Use `--affected-compare` to run every test and report which tests the selection would skip and how many of those tests would fail. You can use this result to measure the false-negative rate for your project before you rely on affected-test selection.
Issues fixed
- Fix
Sign-in now persists on Linux machines without a Secret Service daemon, such as headless WSL2 environments, containers, and bare CI runners. Previously, the CLI reported a successful sign-in but appeared signed out on the next command. The same issue also caused `unity license activate --serial` and `unity projects new` to fail their licensing handshake on these machines.
- Linux
- Fix
`unity bug --share-project` no longer bundles an entire project into the report. The shared copy now contains at most 1,000 files.
- Fix
Crash reports no longer contain invisible marker characters that the CLI uses to style command hints in the terminal.
- Fix
The CLI no longer sends failures caused by your machine or network to anonymous crash reporting. These failures include unreachable hosts, DNS failures, dropped TLS connections, truncated downloads, locked files, and read-only file systems. The CLI still sends genuine defects.
- Fix
`unity vcs uvcs review list` , `comments` , `reply` , and `resolve` now work when you are signed in. Previously, all four commands returned a sign-in error, even immediately after sign-in, because they did not exchange your credential for the short-lived token that the review service requires.
- Fix
Commands that access Unity Cloud no longer fail spuriously the first time you run one after your sign-in has been idle. This fixes commands such as `unity cloud project list` , `unity projects create` , and `unity projects link vcs` .
- Fix
`unity install` , `unity install-modules` , and `unity editor module add` no longer try to install a bundled Visual Studio module when a compatible version is already installed. On Windows and macOS, the CLI now checks the actual installation state. On Linux, the CLI reports Visual Studio as not installed.
- Windows
- macOS
- Linux
- Fix
`unity cache key` no longer crashes on Windows when the project path points to a file instead of a directory.
- Windows
- Fix
On Windows, `unity pipeline list` and `unity status` no longer report that no Editor is running when one is running. Previously, certain characters in an unrelated background process's command line could corrupt the process query for every process on the machine. Both commands now warn you when the process check fails instead of reporting an empty result.
- Windows
- Fix
On Windows, `unity skill install` now updates an earlier installation when the recorded and computed installation paths differ only in slash direction or letter casing.
- Windows
- Fix
`unity doctor` no longer hangs or displays an unexpected keychain dialog when it checks or reads your credential store on macOS and the Keychain requires a response that no user can provide.
- macOS
- Fix
`unity templates create` and `unity templates pack` now tell you when a project is open in an Editor instead of returning an opaque error. On Linux, the CLI previously allowed you to pack an open project and could capture its asset cache during a write. The CLI now refuses these packs.
- Linux
- Fix
`unity install 6000.5` and other partial versions, including a bare major version, now work after the release line reaches end of life. A partial version now resolves to the newest release in that line, whether the release exists in the current catalog or the archive.
- Fix
`unity open` , `unity projects open` , and `unity projects upgrade` now report a failure when the Editor they start exits with an error instead of always reporting success.
- Fix
`unity build` now tells you when a project is already open in an Editor instead of reporting what appears to be a licensing error.
- Fix
Release notes that `unity changelog` and `unity self-update --changelog` render now retain bold and italic styling when the same line contains a link.
- Fix
On Windows, `unity open ` and `unity projects open ` no longer print paths that mix forward and backslashes when the registered folder is not a valid project.
- Windows
- Fix
A module now fails once with a clear explanation when its published release data does not match the file that the download server provides. The CLI no longer retries the same download three times.
- Fix
Releasing a lock that the CLI holds around its shared state files can no longer delete another process's lock when the lock directory cannot be renamed on the machine.
- Fix
`unity projects verify` and the `unity vcs hooks` pre-commit gate no longer report a missing `.meta` file for files inside native plug-in folders ( `.bundle` , `.framework` , `.androidlib` , `.plugin` ). These folders do not have their own `.meta` files. `unity vcs status` no longer reports these files either.