# Unity CLI release notes

> Learn about the latest releases, features, improvements and fixes for Unity CLI.

## June 16, 2026

### 0.1.0-beta.7

* **Licensing**
  * Added `unity license` (`unity license list`) to display active Unity licenses on the current machine, including product, license type, organization, and expiration date.
  * Added `unity license status` to display licensing status, sign-in state, and active license information.
  * Added `unity license activate` to activate licenses through serial, Personal, floating, offline file, or offline request workflows.
  * Added `unity license return` to return active licenses and free associated seats.
  * Added `unity license server status` and `unity license server list` to display floating license server status and availability.

* **Project management and source control**
  * Added `unity projects clone` to clone and register Unity projects from GitHub, GitLab, and Unity Version Control repositories.
  * Added support for branch, commit, and changeset selection during project cloning.
  * Added `unity projects link vcs` and `unity projects unlink vcs` to connect or disconnect projects from source control repositories.
  * Added source control options to `unity projects create` and `unity projects link vcs`, including repository visibility, default branch, Git LFS, and Unity Version Control region settings.

* **Hub and Editor management**
  * Added `unity hub install` to install Unity Hub.
  * Added support for architecture selection, silent installation, version selection, and installer signature verification.
  * Added `unity editors path <version>` to display the installation path of an installed Editor.

* **Build automation**
  * Added Android signing options to `unity build`, including keystore, signing key, version code, symbol generation, and target SDK configuration.
  * Added support for exporting Android builds as APK, Android App Bundle (AAB), or Android Studio projects.
  * Added validation for Android signing parameters and warnings when sensitive information is provided through command-line arguments.

* **Testing**
  * Added `unity test [project]` to run Edit Mode and Play Mode tests through the Unity Editor test runner in batch mode.
  * Added support for NUnit XML test reports through the `--output` option. The default output file is `test-results.xml`.
  * Added support for `--mode`, `--filter`, `--editor-version`, `--editor-path`, `--architecture`, `--allow-install`, and `--timeout` options.
  * Added support for the `UNITY_TEST_TIMEOUT` environment variable.
  * Added exit code `6` when test execution completes but one or more tests fail.

* **CLI behavior**
  * Added a dedicated `cli-log.json` log file for Unity CLI.
  * Updated `unity logs`, `unity bug`, and `unity doctor` to use CLI-specific logs.
  * Added a branded Unity header for interactive CLI entry points, including `unity`, `unity help`, and `unity --help`.
  * Updated the CLI to display usage information and return exit code `0` when users run `unity` without arguments.

* **Issues fixed**
  * Fixed an issue where module installers always used the same installation command instead of honoring module-specific installation parameters.
  * Fixed an issue where `--format ndjson` was not supported by `unity projects list` and `unity modules list`.
  * Fixed an issue where `unity bug` could fail with an HTTP 400 error.
  * Fixed table output that could truncate identifier columns when terminal width was limited.
  * Hardened terminal output against control-character and escape-sequence injection from server-provided values.
  * Fixed session-state reporting in `unity doctor` and `unity cloud status` to match `unity auth status`.
  * Fixed architecture detection on Windows Arm64 systems running x64 emulation.

## June 04, 2026

### 0.1.0-beta.6

* **Editor scripting and status**
  * Added `unity eval '<expr>'` to evaluate C# expressions against a connected Unity Editor through the Pipeline server.
  * Added support for human-readable, JSON, TSV, and NDJSON output formats, timeouts, and instance targeting in `unity eval`.
  * Added `unity status` to display the status of connected Unity Editors, including port, project path, Unity version, process ID, and connectivity.
  * Added filtering options for Editor instances and support for automation workflows through structured output and exit codes.

* **Custom templates**
  * Added `unity templates create` to package existing Unity projects as reusable custom templates.
  * Added `unity templates edit` to update custom template metadata.
  * Added `unity templates delete` to remove custom templates.
  * Added `unity templates location` to view, configure, or reset the custom template storage location.
  * Added support for filtering templates by type in `unity templates list`.

* **Unity Cloud**
  * Added `unity cloud status` to display cloud sign-in status and the active organization.
  * Added commands to list, select, and manage Unity Cloud organizations.
  * Added `unity cloud project list` to display Unity Cloud projects in the active organization.

* **Project management**
  * Added `--cloud` support to `unity projects create` to create and link a Unity Cloud project during project creation.
  * Added `--cloud-project` support to link a project to an existing Unity Cloud project.
  * Added `unity projects link cloud` and `unity projects unlink cloud` to manage Unity Cloud project associations.
  * Added support for creating projects from `.tgz` archives and directory paths in addition to registered template IDs.

* **Build versioning**
  * Added `--versioning-strategy` and `--build-version` options to `unity build`.
  * Added support for deriving build versions from Git tags and repository history.
  * Added validation that prevents builds from using a modified working tree unless `--allow-dirty-build` is specified.

* **Authentication and analytics**
  * Added shared authentication between Unity CLI and Unity Hub through the operating system keyring.
  * Added automatic migration of existing Unity Hub sessions to keyring-based storage.
  * Added `unity analytics opt-in`, `unity analytics opt-out`, and `unity analytics status` commands to manage telemetry preferences.
  * Added a first-run consent prompt for telemetry collection.
  * Added support for shared telemetry preferences between Unity CLI and Unity Hub.
  * Set telemetry collection to opt out by default.

* **Networking and proxy support**
  * Added support for HTTP, HTTPS, SOCKS, and PAC proxies.
  * Added support for authenticated proxies, including Kerberos and SPNEGO.
  * Added proxy configuration precedence through command-line arguments, environment variables, stored settings, and operating system settings.
  * Added `unity config proxy` to view, configure, or clear proxy settings.
  * Added proxy diagnostics to `unity doctor` and `unity env`.
  * Added `--proxy-disable` to bypass proxy settings for a single command invocation.

* **CLI behavior**
  * Standardized command naming to `unity <command>` across the CLI, documentation, and shell completions.
  * Updated `unity auth status` to report actual session state through the Session Service.
  * Improved Windows upgrade messaging to provide clearer post-upgrade guidance.

* **Issues fixed**
  * Fixed an issue where `unity install` could become stuck when resuming a corrupted partial download.
  * Fixed an issue where concurrent `unity install` commands could corrupt shared installation data.
  * Fixed an issue on Windows where Visual Studio modules could incorrectly appear as already installed.
  * Fixed an issue where `unity auth logout` did not reliably remove stored credentials.
  * Fixed interactive prompts on Windows for module installation confirmation and architecture selection.
  * Fixed an issue where `unity open` did not correctly forward `--args` to the Unity Editor on Windows.
  * Fixed validation and error handling for `unity --instance host:port`.
  * Fixed support for `--format tsv` and `--format ndjson` in `unity editors`.
  * Fixed an issue where unattended installations using `unity install --accept-eula --non-interactive` could fail.
  * Fixed template command error handling when no default Editor is configured.
  * Fixed structured output from `unity status` when no reachable Editor instances are available.
  * Fixed JSON output formatting inconsistencies for command failures.
  * Fixed JSON output handling for validation errors.
  * Fixed command execution flow to ensure handlers exit correctly after failures.

## May 21, 2026

### 0.1.0-beta.5

* **Service account authentication**
  * Added support for Unity service account authentication in `unity auth login`.
  * Added support for automatic bearer token generation when `UNITY_SERVICE_ACCOUNT_ID` and `UNITY_SERVICE_ACCOUNT_SECRET` are set.
  * Added support for unattended authentication workflows in CI environments and automation scenarios.
  * Updated `unity auth logout` to clear both service account and OAuth credentials.
  * Added a warning when only one of `UNITY_SERVICE_ACCOUNT_ID` or `UNITY_SERVICE_ACCOUNT_SECRET` is configured.

* **Unity Pipeline**
  * Added `unity pipeline install` (`unity pipe install`) to install the Unity Pipeline package into a Unity project.
  * Added automatic project detection for pipeline installation and support for the `--project-path` and `--ssh` options.
  * Added `unity pipeline list` (`unity pipe list`) to display Unity Editor instances and Pipeline package status.
  * Added `unity command` (`unity cmd`, `unity request`) to execute commands against connected Unity Editor instances or list available commands.

* **Editor installation and management**
  * Enhanced `unity install --resume` to recover orphaned partial downloads that result from interrupted installations.
  * Added module discovery support with `unity install` and `unity install-modules` for Editors registered with `unity editors add <path>`.
  * Added support for module discovery on Editors that Unity Hub did not install.

* **Output and integration**
  * Added a `phase: 'download' | 'install'` field to NDJSON progress output for `unity install` and `unity install-modules` to distinguish download and installation phases.
  * Improved NDJSON output and CLI progress reporting by grouping module progress under the parent Editor installation.

* **Error handling**
  * Standardized CLI error messages across commands.
  * Improved separation between user-actionable errors and internal errors.
  * Updated exit code behavior to align with the exit-code contract introduced in version `0.1.0-beta.4`.

* **Issues fixed**
  * Fixed an issue where NDJSON progress output for `unity install` reset progress from 100 percent to 0 percent during installation.
  * Fixed an issue where `unity editors --installed` could hang indefinitely when the release feed was unavailable, such as on split-tunnel VPN connections.
  * Fixed an issue where `unity install --resume` could hang when the target Editor was already installed.
  * Fixed orphaned download discovery to detect partial downloads under all supported interruption scenarios.
  * Fixed an issue on Windows where `unity install` could incorrectly report that an Editor was already installed immediately after uninstalling it.
  * Fixed an issue where `unity install -m` and `unity install-modules -m` did not correctly process multiple space-separated module values after a single `-m` flag.

## May 07, 2026

### 0.1.0-beta.4

A major release that adds core workflow commands for diagnostics, Editor management, project management, and automation.

* **Diagnostics and inspection**
  * Added `unity doctor` to generate a diagnostic snapshot that includes platform information, CLI version, installation path, log directory, authentication status, installed Editors, and recent log entries.
  * Added `unity completion <bash|zsh|fish|powershell>` to generate shell completion scripts.
  * Added `unity env` to display environment variables used by Unity CLI and Unity Hub.
  * Added `unity logs` to view and follow Unity Hub log files.
  * Added `unity editors info <version>` to display detailed metadata for an installed Editor.
  * Added `unity releases` to list available Unity releases from the release feed.
  * Added `unity modules list <version>` to display available modules for an Editor version.
  * Added `unity templates list` and `unity templates info <id>` to list project templates and view template details.

* **Editor management and installation**
  * Added `unity editors add <path>` to register an existing Editor installation with Unity Hub.
  * Added `unity editors default [<version>]` to get or set the default Editor.
  * Added `unity editors install-path [<path>]` to get or set the Editor installation path.
  * Added commands to list and install modules for an installed Editor.
  * Added `unity install --dry-run` to preview Editor installations.
  * Added `unity install --force` to reinstall an Editor that is already installed.
  * Added `unity install --resume` to resume interrupted downloads from the local cache.
  * Added `unity install-modules --dry-run` to preview module installations.
  * Added prompts to accept module license agreements before downloading modules.
  * Added `unity cache info` and `unity cache clean` to view and manage the download cache.

* **Project management**
  * Added `unity projects open [<query>]` to open a project by using a fuzzy-matched project name when no exact path is provided.
  * Added `unity projects new <name> --template <id> --editor-version <version>` to create projects non-interactively for scripts and CI workflows.
  * Added `unity projects pin <pattern>` and `unity projects unpin <pattern>` to manage favorite projects.
  * Added `unity projects export` and `unity projects import` to export and import project lists in JSON format.
  * Added `unity projects info <path>` to display Editor, module, and cloud information for a project.
  * Added `unity projects upgrade [<path-or-name>] --to <version>` to upgrade a project to a different Editor version.
  * Added `unity projects require <module>...` to verify that required modules are installed for a project.
  * Added automatic Editor version detection for `open`, `install`, and `uninstall` when no version is specified and the current working directory contains a Unity project.

* **CI and automation**
  * Added `unity run` to execute projects in batch mode, stream logs, and return the Editor exit code.
  * Added NDJSON progress output for long-running commands, including `unity build` and `unity projects new`.

* **Output and integration**
  * Added a standardized JSON output envelope that includes `success`, `command`, `data`, `errors`, and `warnings`.
  * Added the `ndjson` output format for streaming progress updates from long-running commands.
  * Added documentation for the `tsv` output format alongside `human` and `json`.
  * Added global `--non-interactive`, `--quiet`, and `--no-banner` options.
  * Added `-y` and `--yes` options for commands that require confirmation.
  * Added `-w` and `--watch` options to keep Editor and project lists updated automatically.
  * Added environment variables that mirror global CLI options, including `UNITY_FORMAT`, `UNITY_QUIET`, `UNITY_NO_BANNER`, and `UNITY_NON_INTERACTIVE`. `HUB_FORMAT` remains supported as an alias for `UNITY_FORMAT`.
  * Added searchable version selectors for interactive workflows.
  * Extended exit code support to include authentication, network, conflict, usage, and command-specific errors.

* **Platform and extensibility**
  * Added `unity <version> [path]` as a shorthand command to launch an Editor with an optional project path.
  * Added plugin discovery for executables named `unity-<name>`, which Unity CLI exposes as `unity <name>`.
  * Added `unity self-uninstall` to remove the CLI binary, environment files, and stored credentials.
  * Added `unity report-bug` to launch the Unity Hub bug reporter or create a structured bug report.
  * Added `unity upgrade --rollback` to restore the previously installed CLI version.

* **CLI behavior**
  * Deprecated `unity implode` in favor of `unity self-uninstall`.
  * Updated automatic update checks to run in the background without blocking command execution.
  * Enhanced `unity editors list` to display version aliases, identify the default Editor, and resolve installation paths.
  * Improved `unity auth login` for remote and headless environments by displaying the sign-in URL before attempting to launch a browser.
  * Added authentication progress events to JSON output so automation tools can capture sign-in URLs programmatically.

* **Issues fixed**
  * Fixed an issue where `unity auth` could fail to start the sign-in flow after a fresh installation.
  * Fixed an issue on Windows where `unity auth` removed query parameters from the OAuth callback URL, which could prevent sign-in from completing.
  * Fixed an issue on Windows where `unity upgrade` could fail to replace the CLI binary.
  * Fixed issues in `unity projects upgrade` related to project name lookups, confirmation prompts, and short version aliases.
  * Fixed an issue where `unity editors info` did not expand short major-version aliases.
  * Fixed issues in `unity install-modules` that prevented correct handling of invalid Editor versions, version aliases, and ambiguous version matches.
  * Fixed an issue where `unity install --dry-run` reported incorrect download sizes when the Editor was already installed.
  * Updated `unity projects require` to accept a project name in addition to a project path.
  * Fixed an issue where the Windows installer could corrupt the system `PATH`.
  * Added ASCII fallback support for terminals that do not support Unicode characters.
  * Routed module installation errors to `stderr` to improve scripting and output redirection.
  * Fixed Linux configuration directory inconsistencies between Unity CLI and Unity Hub to keep settings, projects, and Editors synchronized.
  * Fixed startup failures in Bun runtimes that do not support `mkdtempDisposable`.
  * Fixed startup failures in packaged Bun binaries caused by an unnecessary runtime dependency on `@vscode/proxy-agent`.

## April 24, 2026

### 0.1.0-beta.3

* Fixed an issue where `unity install`, `unity install-modules`, and `unity auth` failed with a service resolution error after a fresh installation.
* Fixed an issue on Linux where the CLI used `~/.local/share/unityhub` for Hub data. The CLI now reads and writes Hub data in `~/.config/unityhub`, which matches the Unity Hub location and keeps projects, Editors, and preferences synchronized between the CLI and Unity Hub.

## April 23, 2026

### 0.1.0-beta.2

* Added `unity implode` to uninstall the CLI. This command removes the installed binary and environment files and clears stored credentials from the operating system keyring. In non-interactive shells, the command requires the `--yes` flag and only works on a CLI installed using the official installer.
* Added `unity projects create` to create a Unity project from the CLI.
* Added `unity changelog` to display the release notes for the installed CLI.
* Added `unity upgrade --changelog` to preview release notes for an update without installing it.
* Added `unity upgrade --target <version>` to upgrade to a specific published version instead of the latest version in your channel.
* Added interactive `unity upgrade` which shows release note previews for the target version before confirmation.

## April 04, 2026

### 0.1.0-beta.1

First public beta release of Unity CLI. This release provides a single executable for macOS, Linux, and Windows on x64 and Arm64 architectures. Install Unity CLI by using `install.sh` or `install.ps1`.

* **Authentication:** Added `unity auth` with secure token storage in the operating system keychain:
  * Keychain on macOS
  * Credential Manager on Windows
  * libsecret on Linux
* **Editor management:** Added the following commands:
  * `unity editors`, `unity install`, `unity uninstall`, `unity install-modules`, and `unity install-path`
  * Supports Editor version aliases
  * Installs Editor versions with or without a changeset
* **Project management:** Added the following commands:
  * `unity projects` to list, add, remove, and create projects
  * `unity open <path>` to open a project
  * Supports bare-path syntax, such as `unity ./MyProject`
* **Upgrade management:** Added `unity upgrade`. Automatically selects the appropriate update channel based on the installed version (stable or prerelease).
* **Localization:** Added the `unity language` command.
  * Added support for 13 locales
* **Output formats:** Added the global `--format <human|json|tsv>` flag for machine-readable output. Suppresses the interactive banner for JSON and TSV output and when output is piped.
* **Verifiable downloads:** Added SHA-256 checksums for all platform binaries
