ドキュメント

Unity command-line interface (CLI)

Unity Pipeline

Unity Hub

Download Unity Hub

Unity command-line interface (CLI)

Unity command-line interface (CLI) release notes

Learn about the latest releases, features, improvements and fixes for Unity CLI.
読み終わるまでの所要時間 89 分最終更新 7日前

September 22, 2026

1.0.0-beta.11

  • Security
    • unity bug
      now redacts the log files it collects before uploading them, masking home-directory paths, user names, tokens, and email addresses. Files you add with
      --attachments
      are uploaded as-is.
    • On Linux, extracting a
      .pkg
      module no longer writes through an existing symlink, so an archive can't place files outside the install folder.
    • On Linux, the hardened auth-broker tier now refuses to start when its token store or polkit policy is misconfigured, instead of serving tokens without the isolation it depends on.
  • Added
    • unity recompile
      checks that your scripts compile in a running Editor, without a full build. It lists each compiler error with its file and line, and exits 0 on success, 6 on compile errors, or 7 when no Editor responds.
    • unity docs <topic>
      opens the Unity documentation for a class or topic, matched to your project's Unity version. Use
      --manual
      for the Manual instead of the Scripting API,
      --search
      for search results,
      --url
      to print the address, or
      --editor-version
      to choose a version.
    • unity assets import <file.unitypackage>
      imports a
      .unitypackage
      into a project. It checks the package and the project before starting the Editor, and prints the Editor's error summary when the import fails.
    • unity assets export <asset-path...> --output <file.unitypackage>
      exports assets and folders to a
      .unitypackage
      . Dependencies are included unless you pass
      --no-dependencies
      .
    • unity cloud org create <name>
      creates a Unity Cloud organization. Pass
      --industry
      or pick one when prompted, and add
      --set-default
      to switch to the new organization.
    • unity pipeline cloud-build
      and
      unity pipeline automation
      list and inspect Unity Build Automation targets and builds, and Unity Pipeline Automation apps, pipelines, and jobs. These commands are read-only and mask secret values in their output.
    • unity mcp configure --server issue-tracker
      adds the Unity Issue Tracker MCP server to your AI client. Clients that can't use a remote server are skipped with a warning.
    • unity run --log-file <path>
      writes the Editor log to a file, including with
      --command
      , and streams it to the console like
      unity build
      . Add
      --no-tail
      to write the file only.
    • unity editors prune
      now reports registered editors whose install folder is gone, and
      --remove-missing
      removes them from your editor list.
    • install.sh
      and
      install.ps1
      now install the latest beta when you don't choose a release channel, until the CLI has a stable release.
  • Changed
    • Opt-in analytics and the anonymous usage count now record your project's Unity version, and opt-in analytics also record the editor version a command used. The anonymous usage count also notes whether the CLI ran from a terminal, an automated agent, or CI, and still carries no account, machine identifier, or file path.
  • Fixed
    • When the Editor offers a matching status command for a job, such as
      build_status
      for
      build
      ,
      unity job wait
      now says the job's command was dispatched and names that status command. It no longer reports success while the real work is still running.
    • unity build run
      now serves compressed WebGL builds with the correct headers, so they load in the browser. For browsers that don't accept the compression over plain HTTP, such as Firefox, it decompresses files as it serves them.
    • Usage errors, such as an unknown option or a missing value, now follow
      --format json
      and
      --format ndjson
      and return the standard result envelope with the
      INVALID_COMMAND_ARGS
      code. The exit code is still 2.
    • unity open
      no longer leaves Unity Connect half-configured in a project linked to Unity Cloud. This caused "Unity Connect configuration is invalid" errors, an Asset Store "Open in Browser" button that did nothing, and high Editor CPU use.
    • On Windows, when
      unity uninstall
      can't delete the editor folder, it now names the folder and tells you to close the Editor and check your permissions, instead of reporting an invalid uninstaller. JSON output uses the new
      UNINSTALL_REMOVAL_FAILED
      error code, and read-only files no longer block removal.
    • On Windows,
      unity self-update
      no longer fails with "Unable to schedule the update helper (exit status 3)" when the folder you ran it from is deleted, renamed, or unmounted before the update completes.
    • Running
      install.ps1
      through
      irm <url> | iex
      no longer closes your PowerShell window when the install fails.
    • install.sh
      now works on machines without
      jq
      , including stock macOS. It also reports a clear error when the release manifest is damaged, such as when a captive portal or proxy replaces it.
    • On Linux, module installs no longer fail with a checksum mismatch caused by incorrect checksums in Unity's release data. Until that data is fixed, Linux module downloads skip checksum verification, as Unity Hub does.
    • Network requests, including those through a proxy, no longer fail with "address incompatible with the selected protocol" when a host has several addresses or a local proxy listens only on IPv6 (
      [::1]
      ).
    • On Windows, when a proxy auto-config (PAC) result lists a proxy per scheme, such as
      http=proxy1:8080;https=proxy2:8443
      , each request now uses the proxy for its own scheme.
    • unity pipeline install
      and
      unity pipeline upgrade
      no longer crash when
      Packages/manifest.json
      lists
      com.unity.pipeline
      more than once.
    • unity projects
      commands that change your project list now use the same database engine as Unity Hub. This fixes a rare write conflict on Linux, and a spurious lock error when the CLI and the Hub create the list at the same time.
    • cli-log.json
      no longer gets corrupted lines when two
      unity
      commands write to it at the same time.
    • unity templates list
      now lists custom templates in the same order as Unity Hub.
    • unity status
      and the Pipeline connection error now recognize an OpenAI Codex sandbox on Windows, as they already did on macOS.

September 14, 2026

1.0.0-beta.10

Security and privacy
  • unity mcp configure
    no longer follows a symlinked path component when it writes a client's config file. A
    --local
    write, as well as writes for VS Code and VS Code Insiders, whose configs are always project-local, now refuses a symlink at any path component instead of silently following it. Every client config write, both local and global, is now atomic.
  • On macOS, the CLI no longer re-signs a downloaded plugin or component whose code signature fails to verify, except for Unity Version Control's
    cm
    client, which the CLI now logs when it falls back. Any other component that fails verification now fails its download instead of running under an anonymous signature.
  • On Linux,
    .deb
    and
    .rpm
    installs of the hardened auth-broker tier now enforce it. Every token grant against the hardened tier requires real polkit consent before the isolated credential store is accessed, and the CLI now connects to the hardened tier's socket automatically after provisioning.
  • unity mcp configure <client> --dry-run
    no longer prints your entire MCP config file, including other servers' credentials. It now previews only the entry it adds or changes.
  • unity mcp configure codex
    no longer risks corrupting
    config.toml
    when it updates the Unity MCP server entry. It now refuses the update and asks you to edit the file manually when it can't verify that the match is safe. It also recognizes a quoted table name instead of duplicating it.
  • unity mcp configure codex
    no longer risks corrupting the sandbox and network-proxy settings it relaxes for Codex. It refuses the entire update and asks you to edit the file manually when it can't verify that the match is safe.
  • The resident auth broker now signs every refresh-token request with a DPoP proof bound to an in-memory key. It correctly handles the server's nonce challenge and retry. Sign-in, token requests, and existing sessions are unaffected.
  • The auth broker's DPoP signing key is now hardware-backed when the machine supports it: the TPM on Windows, the Secure Enclave on macOS, and TPM2 through
    tpm2-tools
    on Linux. When no hardware-backed key is available, it falls back to the same in-memory key as before.
  • unity projects link vcs
    no longer lets a project directory choose which program answers its credential lookup. The project's recorded Git identity is now read as inert data and reapplied through a lookup that always runs from a neutral directory. A repo-local
    credential.helper
    can no longer substitute its own credential.
  • The auth broker's token store is now sealed to the machine's hardware on every real sign-in: a non-exportable TPM key on Windows, TPM2 through
    systemd-creds
    on Linux, followed by DPAPI, the Secret Service, the Keychain, and a local key file as fallbacks. Earlier releases prepared this sealing, but the live broker still wrote to the plain OS keyring. Copying the store to another machine no longer yields a usable credential, and
    unity doctor
    reports the active tier.
  • The auth broker now protects itself against memory dumps as soon as it starts. It refuses
    ptrace
    and disables core dumps on Linux, disables core dumps on macOS, and suppresses the crash dialog on Windows. It also holds credential material in locked, zeroize-on-release memory instead of an ordinary string.
  • unity auth consumers
    now reflects actual broker activity. Every token grant and refusal that reaches the broker's token-vending path is recorded in the audit trail that this command reads.
    unity auth revoke
    still only affects the revocation list; it does not yet stop that application from receiving a new token.
  • Every command's OAuth token read now goes through the resident auth broker instead of directly through the OS credential store. A command that needs a token starts the broker on demand if it isn't already running. The broker can remain idle in the background for up to two minutes before it exits. Set
    UNITY_NO_AUTH_BROKER
    to restore the previous direct-keyring behavior.
  • The resident daemon that handles Editor sign-in requests and the auth broker now verify a connecting peer's code signature by default on macOS and Windows. They refuse an unsigned or non-Unity-signed local process. Set
    UNITY_PEER_AUTH_MODE=identify-only
    to restore the previous logging-only behavior. Linux continues to log only by default. Set
    UNITY_PEER_AUTH_MODE=enforce
    together with
    UNITY_PEER_AUTH_LINUX_ALLOWED_HASHES
    to opt in.
  • When Unity Hub and the CLI are both signed in to the same account, their credentials now converge automatically without an additional sign-in prompt.
Installs and updates
  • unity self-update
    now downloads through the CLI's regular download engine instead of a one-shot fetch. An interrupted download resumes from where it left off the next time you run
    unity self-update
    instead of starting over.
  • unity self-update
    now prefers a Brotli-compressed download when the release provides one. The CLI verifies the compressed bytes against their own checksum, then verifies the decompressed binary again as before. A platform without a compressed artifact yet, falls back to the raw download.
AI and Editor integration
  • A mistyped command or flag now points you to
    unity skill show
    for a task-oriented CLI guide when no "Did you mean" suggestion appears. This applies to top-level commands and mistyped subcommands.
  • unity skill install
    now also installs agent skills shipped with an installed plugin, alongside the CLI's own skill.
    unity skill refresh
    re-renders them from the plugin's current copy.
    unity plugin install
    and
    unity plugin upgrade
    point you to
    unity skill install
    when the installed copy ships with a skill.
  • unity command <name>
    and
    unity run --command <name>
    no longer refuse a bare, argument-free invocation against an Editor whose Unity Pipeline package predates command-line binding. An invocation with arguments still refuses with the same message as before.
  • unity command <name> --result-only
    prints only the Editor's own result value, without the CLI's
    command
    ,
    parameters
    ,
    target
    ,
    success
    ,
    errors
    , and
    warnings
    envelope fields. The option implies JSON output on its own and cannot be combined with
    --detach
    .
  • The
    capture_game_view
    and
    capture_scene_view
    tools in
    unity mcp
    now fall back to an OS-level screenshot of the entire desktop when the Editor's main thread does not respond in time, such as during a blocking dialog. The fallback captures the entire screen rather than the specific view and states this in an accompanying note.
Automation and CI
  • unity commands --format json
    emits a machine-readable manifest of every command, subcommand, argument, and option. This lets agents and tooling discover the CLI surface without parsing
    --help
    .
    unity commands
    alone prints a compact grouped listing.
  • unity watch test
    re-runs
    unity test --affected
    every time a project file changes. A debounce combines a burst of changes into a single run.
    Library/
    ,
    Temp/
    ,
    Logs/
    ,
    Build/
    , and
    obj/
    are ignored by default. Use
    --ignore <pattern>
    to add more patterns. The command refuses to start under
    --non-interactive
    or in a detected CI environment.
  • A committed
    ProjectSettings/UnityCliConfig.json
    now declares
    unity build
    and
    unity test
    defaults for a project, including the target, output path, profile, timeout, test mode, report format, coverage, and more. This avoids repeating them in every invocation and CI workflow.
    unity config resolve <key> [project]
    prints the resolved value and the layer that supplied it: flag, environment variable, this file, global config, or the CLI default.
Build automation
  • unity build --create-profile <target>
    creates a Unity 6+ Build Profile asset for a target platform and exits without building. This requires Unity 6000.0 or later, the same as
    --profile
    .
  • Unity Accelerator support is now available.
    unity config accelerator <host:port>
    persists an endpoint. A bare host defaults to port
    10080
    .
    unity run
    ,
    unity test
    , and
    unity build
    inject the cache-server flags automatically.
    --accelerator <host:port>
    and
    --no-accelerator
    override or suppress the setting for an individual invocation.
    UNITY_ACCELERATOR
    takes precedence over the persisted setting but is overridden by the command-line flags.
    unity diagnose accelerator
    reports the resolved endpoint and whether it responds.
    unity doctor
    and
    unity doctor --ci
    now include a non-blocking Accelerator check.
  • unity build --list-targets
    lists every valid
    --target
    value and exits. It identifies each target as zero-code or as requiring
    --execute-method
    or a Build Profile through
    --profile
    . It supports
    --format human
    ,
    --format tsv
    ,
    --format json
    , and
    --format ndjson
    .
  • unity build --list-profiles
    lists a project's Build Profile assets and exits. Use it to discover platforms such as Meta Quest that build only through
    --profile
    .
    BUILD_INVALID_TARGET
    now directs you to
    --profile
    when you specify a target outside the classic catalog.
  • unity build run
    launches the project's most recent recorded build without rebuilding. A successful
    unity build
    with a known output path now records the path, target, architecture, and Editor version. An
    --execute-method
    build without
    --output-path
    records nothing and keeps the previous record, so launch it with
    --path <path>
    instead. A desktop player launches natively. A WebGL build is served from a local, loopback-only HTTP server and opens in your default browser.
CLI behavior
  • unity command
    and
    unity cmd
    now render
    recompile
    ,
    recompile_status
    ,
    test_status
    , and
    run_tests
    results as short, readable text in the default Result column instead of a compact JSON blob. Other Result cells and
    --format json
    ,
    --format ndjson
    , and
    --format human
    output remain unchanged.
  • unity command --project-path <path>
    now starts faster by skipping work it does not need for that invocation, such as display-language detection.
Project management
  • unity context
    saves and applies named bundles of your account, default organization, default cloud project, default Editor, and install path.
    unity context save <name>
    records the current set,
    unity context use <name>
    applies one, and
    unity context list
    and
    unity context current
    show what exists and what is active. Applying a context is all-or-nothing. Switching to a context clears any of the five settings it does not pin, except the account.
  • unity open --wait
    , as well as
    unity projects open --wait
    and
    unity projects upgrade --wait
    , blocks until the launched Editor exits and reports its actual outcome. It exits with
    6
    on failure or
    0
    on a clean exit. This option is currently available only on macOS and Linux. Windows refuses it with exit code
    2
    instead of silently falling back to the previous bounded watch.
  • unity open
    ,
    unity projects open
    , and
    unity projects upgrade
    now report when the launched Editor was killed by a signal instead of reporting success, both during the ordinary bounded watch and with
    --wait
    .
  • unity assets inspect <file.unitypackage>
    lists the contents of a
    .unitypackage
    , including the asset path, GUID, size, and whether a preview image is bundled. It does not import the package and does not require an installed Editor or an open project. It streams the archive, so it uses constant memory even for multi-gigabyte packages.
Source control
  • unity vcs blame <scene|prefab>
    reports who last changed each GameObject and component in a Unity asset, along with the commit, author, and date. Use
    --object <name>
    to narrow the result to one object,
    --field <name>
    to narrow it to one serialized field,
    --at <ref>
    to blame as of another revision, and
    --max-revisions <n>
    to limit how far back the command searches.
Licensing
  • unity license status
    now reports
    floatingServer
    , the licensing server configured for the machine, and
    machineId
    , the identity that the licensing client reports to it. Use these values to match a lease record when a floating seat appears stuck. Both values appear in
    --format json
    and
    --format ndjson
    output, and in human-readable and
    tsv
    output only when a floating server is configured.
Issues fixed
  • On Windows on Arm,
    unity
    no longer misreports a working Git installation as missing or broken.
    unity doctor
    and
    unity vcs providers
    are fixed by the same change.
  • A signed-in user is no longer reported as signed out solely because the resident auth broker rejects the connection under peer-authentication enforcement. The CLI now falls back to the locally stored session instead of treating the rejection as a sign-out.
  • The CLI no longer reports that no Unity Editor is reachable when it runs inside WSL and the Editor runs on the Windows host.
    unity projects close
    now confirms the exit over the same channel instead of signaling a process ID that could belong to another process.
    unity status
    now identifies the WSL networking setting to change when the port does not respond.
  • A running Editor whose project layout hides the Unity Pipeline package, such as a Multiplayer Play Mode virtual player's partial clone or a
    Packages
    folder reached through a symlink or permissions issue, is no longer reported as unreachable or missing by
    unity status
    or
    unity pipeline list
    .
  • Concurrent writes to the shared
    user-settings.json
    no longer drop each other's changes. Settings writes now take a short cross-process lock on the file.
  • The CLI no longer mistakes an unrelated process for a running Unity Editor or Player when a stale connection descriptor names a recycled process ID. Discovery now also compares the process start time with the descriptor's timestamp.
  • Commands that communicate with a running Unity Editor, including
    unity command
    ,
    unity job
    , and
    unity list
    , now identify an AI coding agent's sandbox as a possible cause of a connection refusal, alongside the original "make sure Unity Editor is running" message.
  • Sign-in failures where the OS keyring accepts a write but does not retain it are now logged and diagnosable, with a message that distinguishes them from an outright write failure.
  • The CLI's Editor identity daemon no longer deletes a Hub socket file when it stops on macOS and Linux.
  • Commands that communicate with a running Editor over loopback, including
    unity command
    ,
    unity status
    , and
    unity job
    , no longer resolve the OS proxy configuration up front. They resolve it only when a command first needs it.
  • unity status
    no longer reports "no instances" when a Pipeline discovery file exists but the current process cannot read it, such as when a sandboxed AI agent tool runs the CLI as a separate account. It now identifies the actual cause and specifically identifies a sandboxed agent when detected.
  • unity templates pack
    and
    unity templates create
    on Windows now also check for a Windows byte-range lock on a project's
    Library
    cache before copying it, alongside the existing Linux protection.
  • unity self-update
    and
    unity self-install
    on Windows now ask a resident Editor identity server daemon to release the binary before replacing it, just as they already ask the resident auth broker.
    unity close
    and
    unity projects close
    now also check with the daemon immediately after closing an Editor instead of waiting through its full idle window.
  • unity mcp
    no longer leaves an agent session with zero Unity tools for its entire lifetime when the client connects before an Editor starts. The server now declares support for tool-list change notifications and notifies the client when the catalog changes.
  • unity doctor
    's credential-store check now exercises the Windows Credential Manager chunking path that real sign-in tokens use instead of testing only a small value.
  • A chunked credential write that the OS credential store accepts but does not persist no longer leaves stale entries or destroys the previous sign-in. The CLI now verifies the write by reading it back, rolls it back on failure, and automatically cleans up entries left by an earlier version.
  • unity install
    no longer fails with an
    INSTALL_FAILED
    database error when the shared install-state database was created by an older Unity Hub or CLI. The CLI now applies the same schema update as Unity Hub.
  • A declined or blocked Windows elevation prompt no longer generates a crash report. The same applies to an incorrect installer or uninstaller format, an unsafe install path, or an install location that you cannot write to. These and similar states also no longer suggest
    unity bug
    .
  • unity status
    no longer reports a Unity Editor as
    ready
    while it is still starting. It now probes the Editor's main thread directly and reports
    starting
    instead in human-readable,
    --format json
    ,
    --format ndjson
    , and
    --format tsv
    output, with a matching exit code.
  • unity test
    no longer reports a confusing "results ... could not be converted to JUnit" message when the Editor exits cleanly without writing a new results file. It now distinguishes a narrowed run that matched nothing, using
    --filter
    ,
    --shard
    ,
    --rerun-failed
    , or
    --affected
    , from a genuine problem and always fails the run instead of risking a false pass.
  • unity bug --share-project
    no longer bundles an entire Unity project into the report. The shared copy is now limited to 1,000 files and warns when the limit truncates the copy.
  • Crash reports no longer contain invisible marker characters that the CLI uses to style command hints in the terminal.
  • unity vcs uvcs review list
    ,
    comments
    ,
    reply
    , and
    resolve
    now work when you are signed in. Previously, all four commands failed with a sign-in error even immediately after sign-in because they did not exchange your credential for the short-lived token required by the review service.
  • Commands that access Unity Cloud no longer fail spuriously the first time you run one after your sign-in has been idle. A renewed credential is now used within the same run. This affected
    unity cloud project list
    ,
    unity projects create
    ,
    unity projects link vcs
    , and other commands.
  • 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. The CLI now checks the actual installation state on Windows and macOS and reports Visual Studio as not installed on Linux.
  • unity command --caller plugin
    no longer misreports Unity's own third-party-agent plugin as
    other
    .
  • Concurrent installs can no longer bypass the single-install lock while an earlier install is still finishing. The CLI now reclaims a lock only when its holder's heartbeat is stale and its process has exited. The check and claim now occur in a single transaction.
  • unity mcp configure codex
    now also relaxes Codex's sandbox network policy, not only the MCP server entry. This allows
    unity mcp
    and direct
    unity command
    calls from Codex's shell tool to reach the Editor through localhost.
  • unity status
    ,
    unity editors running
    , and
    unity command
    no longer report a healthy Unity Editor as unreachable immediately after recompilation. Each command now retries once with a refreshed token before it reports the Editor as unreachable.
  • On Windows,
    unity self-install
    and
    unity self-update
    no longer fail or silently defer to a background swap that cannot complete when a resident background helper holds the installed binary open. Both commands now ask the helper to release the binary first.
  • Several internal helper processes, such as the Windows installer helpers and the WSL path translator, no longer hang when the spawned tool writes heavily to both stdout and stderr at the same time.
  • unity install <version> -a x86_64
    no longer reports "No editor version matched" on an Apple Silicon Mac that supports Rosetta 2. The install catalog now offers
    x86_64
    on Apple Silicon through macOS 27.
  • unity plugin install
    ,
    unity plugin upgrade
    , and
    unity plugin remove
    no longer race with each other, Unity Hub's background module updates, or the native Hub licensing-client install into deleting a build that another process just finished installing. A lock left by a crashed process is now reclaimed automatically.
  • unity projects link vcs
    and
    unity projects create --vcs …
    now record a per-project Git identity that remains effective even when an organization-wide credential pin exists, by also saving a URL-scoped form that Git ranks ahead of the organization-wide credential.
  • unity status
    no longer sends a crash report or suggests running
    unity bug
    when every discovered Unity Editor instance is unreachable.
  • unity license activate
    now points you to
    unity doctor
    when a sign-in or session failure occurs on a macOS machine that has already signed in. The message identifies a possibly locked keychain instead of only telling you to sign in again.
  • Commands that automatically discover an Editor without
    --project-path
    , including
    unity command
    and
    unity run --command
    , no longer report "No Unity Editor instances found" when a healthy Editor has a Unity Pipeline package that is too old to parse the command line. They now report the specific error that
    --project-path
    already reports.
  • On Windows, the CLI no longer crashes with
    Decoder ran into invalid data
    when an HTTP response is corrupt or its embedded translation bundle cannot be decoded. Both cases now use the CLI's normal error handling.
  • unity open
    ,
    unity projects open
    , and
    unity projects upgrade
    no longer launch the Editor inheriting the CLI's working directory, which could crash the Editor if that directory became unreadable. The Editor now always launches from the OS temporary directory and falls back to the previous behavior if that directory is unusable.
  • unity install --resume
    can now recover an interrupted module download, such as an SDK component, in addition to an interrupted Editor installer.
  • unity self-install
    on Windows can now target a directory other than
    %LOCALAPPDATA%\Unity
    by setting
    UNITY_CLI_HOME
    , matching macOS and Linux.
    install.ps1
    honors the same variable.
  • The long-lived Editor identity daemon started by
    unity open
    no longer stops reporting a signed-in Editor after its auth broker restarts or exits after remaining idle. It now detects a stale broker connection and reconnects automatically.
  • A signed-in user is no longer told to sign in again when the auth broker has a temporary problem reading the access token, such as during a broker restart. Only an authoritative refusal now reports a sign-in or session-expired message. Other issues ask you to try again while leaving your session unchanged.
  • A signed-in Mac user is no longer told to sign in again when the macOS Keychain refuses to read an existing credential, such as after Unity Hub signed in first. The session now reports as unresolved and points you to
    unity doctor
    instead of the generic sign-in prompt.
  • On macOS, a future CLI update can no longer trigger an unexpected Keychain prompt or a forced re-sign-in because the identifier the CLI uses for Keychain access control is now fixed.
  • unity projects list
    and other project-registry reads no longer fall back to a stale or empty backup copy of the registry just because another process closed the shared project database last.
  • The Linux
    .deb
    and
    .rpm
    packages now install the hardened auth-broker tier's assets: the
    unity-auth-broker
    systemd units, the
    unity-broker
    system account, and the polkit consent policy. These assets existed in the package for months but were not referenced.
  • unity command <name> --format json
    no longer prints two separate
    success
    fields. The envelope now contains exactly one
    success
    field, derived from the same check the CLI uses to determine whether the command fails.
  • unity vcs setup
    now shows the equivalent invocation for a Windows path operand instead of reporting that no shell quoting reproduces the run, for almost every real Windows run.
  • Git-owned files that the CLI rewrites directly, including
    .git/config
    ,
    .git/packed-refs
    , and
    .git/HEAD
    during
    unity projects link vcs
    and
    unlink vcs
    , no longer race with a concurrent
    git fetch
    ,
    git gc
    , or another CLI invocation that accesses the same file. Each write now takes the file's own lock and commits through an atomic rename.
  • unity install
    now retries a failed Editor or module download instead of failing the entire install after the first transient network error. It uses the same bounded retry policy as
    unity install-modules
    , controlled by
    UNITY_INSTALL_RETRIES
    .
  • unity mcp configure continue
    no longer writes an entry to
    ~/.continue/config.json
    , which Continue no longer reads. It now prints setup instructions for
    ~/.continue/config.yaml
    instead.

September 08, 2026

1.0.0-beta.9

  • Installs and updates
    • 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.
    • 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.
    • 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
      .
    • 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
    • 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 <file>
      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.
    • unity --help
      now mentions the agent skill on its last line and directs you to
      unity skill show
      and
      unity skill install <client>
      .
  • Automation and CI
    • 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.
    • unity plugin changelog <id>
      now displays a managed tool's release notes, rendered from Markdown and paged like
      unity changelog
      . Use
      --version <version>
      to display notes for a specific version, or
      plugin upgrade --changelog
      to display the full notes before the upgrade.
    • A global
      --color <auto|always|never>
      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.
    • 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.
    • unity doctor
      now lists the CLI's bundled third-party components with their versions and SPDX license identifiers, along with the .NET runtime.
    • A generic
      unity config get|set|list|unset <key>
      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
    • 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.
    • unity auth consumers
      now lists the applications that have used your Unity sign-in on the current machine. Use
      unity auth revoke <application>
      to prevent an application from using it. Use
      --restore
      to undo a revoke.
    • 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
    • unity test --affected --since <ref>
      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
    • 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.
    • 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.
    • unity cache key
      no longer crashes on Windows when the project path points to a file instead of a directory.
    • 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.
    • 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.
    • 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.
    • 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.
    • 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.
    • 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.
    • unity build
      now tells you when a project is already open in an Editor instead of reporting what appears to be a licensing error.
    • Release notes that
      unity changelog
      and
      unity self-update --changelog
      render now retain bold and italic styling when the same line contains a link.
    • On Windows,
      unity open <name>
      and
      unity projects open <name>
      no longer print paths that mix forward and backslashes when the registered folder is not a valid project.
    • 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.
    • 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.
    • 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.

September 02, 2026

1.0.0-beta.8

This release supersedes 1.0.0-beta.7, which reached the beta channel and was withdrawn the same day. The changes from beta.7 are included in this section. If you upgraded directly from 1.0.0-beta.6, you receive the complete set of changes.
  • Breaking changes
    • UNITY_NO_PARAM_VALIDATION
      is retired and has no effect. Argument name checking no longer uses a catalog that the CLI fetches, so there is nothing to disable. Remove it from your scripts and CI jobs.
    • unity command
      and
      unity run --command
      now pass the arguments you type to the Editor without parsing them, and the Pipeline package binds them. If a script relies on the CLI to rewrite or reject those arguments, you might need to update the script.
    • New projects created with
      unity projects create
      are cloud-enabled by default. Pass
      --no-cloud
      , or set
      UNITY_NO_CLOUD
      , to opt out.
    • An Editor that exits with code
      198
      is now reported as a licensing failure instead of a bare exit code.
    • A
      unity-close
      executable on your
      PATH
      no longer runs as
      unity close
      . Because
      close
      is now a first-party command, it takes precedence and a binary on
      PATH
      can no longer shadow it. If you have such a plugin, rename it. Otherwise, the CLI no longer finds it with no error.
  • Source control
    • Added
      unity vcs
      , a command group for working with a Unity project under version control.
      unity vcs setup
      takes a project from nothing to a pushed first commit without any flags.
      unity vcs status
      and
      unity vcs sync
      support day-to-day workflows:
      unity vcs status
      groups changes by their meaning in Unity and identifies
      .meta
      file problems, while
      unity vcs sync
      refuses to pull while an Editor has the project open and reports the expected reimport.
    • unity vcs doctor
      audits repository settings required for Unity to work under version control, including UPM package reproducibility. Use
      --fix
      to repair everything the command can repair in one pass.
    • unity vcs merge-setup
      makes Unity scene and prefab merges work in a repository in one command and continues to work after an Editor upgrade.
    • unity vcs conflicts
      ,
      unity vcs explain
      , and
      unity vcs resolve
      turn a Unity merge conflict from a list of numeric IDs into actionable information.
    • unity vcs diff <path>
      reads a scene or prefab change by GameObject and component name instead of
      fileID
      .
      unity vcs summarize --since <ref>
      turns an entire branch into a readable summary.
    • unity vcs affected
      reports the impact of a change in Unity terms instead of Git terms. For example, it reports which prefabs reference a changed texture and which scenes reference those prefabs.
    • unity vcs switch <branch>
      changes branches without causing unnecessary reimports and tells you the expected cost before it switches branches.
    • unity vcs hooks install
      adds Unity integrity checks to your commits. Use
      uninstall
      to remove them.
    • unity vcs git worktree add <branch> [path]
      makes a Git worktree usable with a Unity project.
      unity vcs git worktree remove <path>
      removes it.
    • unity vcs git migrate-lfs
      finds binaries already committed to Git history and provides the exact
      git lfs migrate import
      command to move them into LFS.
    • unity vcs uvcs locks
      tells you who holds a Unity Version Control lock and marks locks that cover files you have already changed.
      unity vcs uvcs changesets
      lists changesets.
    • unity vcs providers
      reports which Git providers this machine can reach. It reports whether
      git
      ,
      git-lfs
      ,
      gh
      ,
      glab
      ,
      tea
      ,
      bkt
      , and
      az
      are installed and their versions, as well as which hosts each tool has a session for and which account the session uses.
    • Repository creation now works with Bitbucket and Azure DevOps, in addition to GitHub, GitLab, and Gitea.
      unity projects create --vcs <host>
      and
      unity projects link vcs
      create the remote through Bitbucket's
      bkt
      or Microsoft's
      az
      , including Bitbucket Cloud and Data Center. Azure DevOps repositories belong to an organization and project, so
      --vcs-namespace
      accepts
      organization/project
      . Azure DevOps does not support per-repository visibility, so the CLI rejects
      --visibility
      and descriptions instead of silently ignoring them.
    • You can now sign in to GitHub or GitLab with your browser instead of creating a personal access token manually. If you use a token, the prompt lists the exact scopes you need and links to the provider page that creates a token with those scopes selected.
    • unity projects link vcs
      and
      unity projects unlink vcs
      no longer require the project path. If a link fails partway through, run the command again to resume it instead of receiving an
      ALREADY_LINKED
      error or creating a second repository. Use
      --rollback
      to undo a partially completed link. If a repository already has a remote, the CLI adopts it instead of refusing the link.
    • If
      git-lfs
      is missing, the CLI no longer tells you to install it manually. The CLI offers to install it through your platform's package manager and installs it if you confirm. The CLI does not install anything without your confirmation. If the command cannot prompt you, it prints the exact command instead.
    • unity vcs uvcs review
      reads code review comments from the Unity Version Control GUI and lets you respond to them. Previously, these comments were available only in the GUI, so you had to restate a reviewer's notes about specific files and lines before a command-line workflow could act on them.
      review list
      finds a review and lets you narrow the results with
      --changeset
      ,
      --branch
      , or
      --status
      .
      review comments
      reads the review and reports each comment's file, line, text, author, timestamp, type, threading parent, and resolution status.
      review reply
      replies to a comment, and
      review resolve
      records which changeset addressed it.
  • Project management
    • unity cloud project
      now has the same default-project commands as the organization commands:
      set-default
      ,
      current
      , and
      clear-default
      . Commands that require a Unity Cloud project use the default project when you do not specify one.
    • --cloud-project
      and
      unity cloud project set-default
      now also accept a project's Genesis ID.
      unity cloud project list
      displays this value in its ID column alongside the project UUID and name.
    • unity close <path-or-name>
      closes the Unity Editor that has a project open and is now available in released builds. The capability previously existed as
      unity projects close
      but was registered only when
      HUB_ENV=development
      was set, so it was unavailable outside Unity.
      close
      is now a top-level command as well as
      unity projects close
      , matching the existing
      open
      command. Neither command saves your work. By default, the command asks the Editor to exit, which it does immediately without prompting. Use
      --force
      to signal the process instead. The CLI uses
      --force
      only when you specify it. Closing a project that no Editor has open succeeds without an error. If an Editor has the project open but the project does not include
      com.unity.pipeline
      , the error names the package and the
      unity pipeline install
      command that adds it.
      unity projects logs
      remains development-only.
  • Installs and updates
    • unity install
      and
      unity install-modules
      now request administrator permission at the start of the command instead of partway through. This prevents an unattended install from waiting for a dialog after a long download. If you decline, the command fails immediately with
      ELEVATION_CANCELLED
      or
      ELEVATION_FAILED
      , and nothing is downloaded or written.
    • unity upgrade
      shows download progress instead of a spinner, identifies the upgrade when you provide an argument, and explains what to do when a SHA-256 check fails.
    • unity install <version> --changeset <changeset>
      can now install an Editor that has been promoted but not yet published. It also reports an unresolvable changeset immediately instead of waiting for a minute and a half.
    • unity install --format json
      now prints a result envelope on success. Previously, it printed nothing and exited with
      0
      , so a script could not distinguish a completed install from a crashed process. The envelope matches the result that
      --format ndjson
      already reports.
    • unity install --resume
      now honors
      --force
      , so a forced resume reuses an already downloaded payload instead of downloading it again. If the Editor is already installed and you do not pass
      --force
      , the resume reports why it stopped in every output format.
    • The command that updates the CLI is now
      unity self-update
      .
      unity upgrade
      continues to work as an alias, so nothing you have scripted or documented breaks. The old name was the only CLI command called
      upgrade
      that did not upgrade a project or an Editor, unlike
      unity editors upgrade
      ,
      unity projects upgrade
      , and
      unity plugin upgrade
      . The machine-readable output also changes:
      --format json
      and
      ndjson
      now report
      "command": "self-update"
      instead of
      "command": "upgrade"
      .
  • AI and Editor integration
    • unity skill install
      for VS Code, Cursor, Windsurf, and Cline now installs a real Agent Skills directory. Each client also has a user-global target for the first time.
    • unity skill install <client> --local
      now also installs the agent skill included with your project's
      com.unity.pipeline
      package. A resolved package lives under
      Library/PackageCache
      , which AI clients do not search for skills. A project-local install therefore copies the skill next to the
      unity-cli
      skill. A project without the package behaves as before.
    • unity mcp
      no longer reports every numeric, array, and structured tool parameter as a string.
  • Automation and CI
    • Long human-readable listings now use a pager in a terminal, similar to
      git log
      , instead of filling your scrollback. Set
      UNITY_PAGER
      or
      PAGER
      to choose a pager, or pass
      --no-pager
      to disable it.
    • Added
      unity plugin install
      ,
      unity plugin remove
      , and
      unity plugin upgrade
      to manage tools that Unity downloads for you.
      unity plugin list
      reports the installed tools.
      unity doctor
      also shows these components in its own section.
    • unity doctor
      now checks whether the machine's credential store can store a sign-in and reports which backend it selected.
    • unity uvcs
      ,
      unity cm
      , and
      unity ugs
      now pass everything after the alias directly to the tool's binary, so the tool receives its own flags unchanged. For example,
      unity uvcs status --format json
      passes
      --format json
      to the Unity Version Control client instead of letting the CLI consume it as a global
      --format
      option.
      uvcs
      and
      cm
      both run the Unity Version Control client, while
      ugs
      runs the Unity Gaming Services CLI. Only the first token counts, so
      unity --format json uvcs
      is parsed as a standard CLI invocation and reports the correct usage.
  • Security and privacy
    • Commands that look for a running Editor now identify it by the executable that the operating system reports instead of the process name.
    • On a machine without Unity Hub, the Unity Version Control client that the CLI downloads now uses the version pinned by the CLI instead of remaining on the first version it fetched.
    • If you opt in to CLI analytics, the CLI now associates your usage with your Unity account while you are signed in. Usage events also record which project they ran in. The project is identified by an opaque ID, never by a file path. The CLI records nothing unless you opt in. Both values are absent when a command runs outside a Unity project.
    • The first-run analytics question now uses an arrow-key list instead of a typed
      y
      /
      n
      , matching the other questions in the CLI.
  • Issues fixed
    • On Windows,
      unity install
      no longer reports a successful install as failed when you are not an administrator. Installing to a location that requires elevation, left the version folder writable only by administrators. The CLI then tried to register the Editor without elevation, reported the install as failed, and exited with
      INSTALL_FAILED
      even though the Editor had installed correctly. This issue caused the withdrawal of 1.0.0-beta.7.
    • unity editor module refresh <version>
      now repairs an Editor that an earlier install left unregistered. Use this command if you encountered the issue above before this release.
    • Installing a module into an Editor in a protected folder now works. Language packs and archive-based modules, such as the Android NDK and platform support modules, previously unpacked without elevation and failed.
    • On Windows, installs no longer fail with
      Access to the path is denied
      on machines where the lock directory's parent does not allow new names. A failed Editor install also no longer leaves the new version's folder behind.
    • unity auth login
      no longer reports success on a headless Linux machine when no session exists afterward. It also no longer fails on macOS when the keychain slot it writes was created by a different code identity. Under WSL, it opens the sign-in page in your Windows browser again.
    • Backticks in a path, project name, Editor version, or any other value you type are no longer deleted from the CLI's messages.
    • unity test
      now runs on a Linux machine without a display server. It also refuses to run on a project that is already open in an Editor instead of starting a batch Editor that cannot acquire the project lock.
    • Opening a project with
      unity open
      on Linux no longer prevents you from attaching a debugger. The CLI previously launched the Editor through a version-named link, which renamed the process and prevented Rider and the VS Code debugger from finding it.
    • unity projects clean
      no longer deletes a project's
      Library
      ,
      Temp
      , and
      obj
      folders when it cannot determine whether an Editor has the project open.
    • On Linux,
      unity install-modules
      now puts the iOS, WebGL, Linux-IL2CPP, and Linux-Server playback engines where the Editor expects them.
    • Templates created from a Unity 6000.6.0a4 or newer project no longer produce hundreds of spurious warnings in every project created from them.
      unity templates pack
      also no longer copies content from outside the project into the template.
    • The CLI now reports analytics again for users who have opted in. A crash no longer generates one report per language
    • Sixteen command surfaces previously printed English regardless of your display language, even though all the strings they printed were already translated. Relative timestamps in
      unity projects list
      and the Kind column in
      unity plugin list
      now use your display language.
    • unity bug --share-project
      no longer uploads a Unity 6000.6+ project's
      Library/DataStore
      folder.
    • unity projects remove
      and other commands that find a project in the Hub registry by path no longer miss a project when its path uses different capitalization.
    • --no-pager
      is accepted again on every command and in either position.
      unity editors prune --remove --format github
      also no longer asks for confirmation in a terminal.
    • unity install <arg>
      now rejects an argument that is not a Unity version with an
      INVALID_VERSION
      error before sending it to the release catalog.
    • Crash reporting no longer creates a report for failures that the CLI did not cause.
    • Commands no longer stall after they finish. When a profile was signed in and opted in to analytics, every command resolved the user ID from the OS keyring on the main thread after printing its result. One measured non-interactive run took 40 seconds, and the operation could take an unlimited amount of time. As a result, a headless, CI, or SSH machine could wait indefinitely. The CLI now performs this read at most once per process and on a background thread, and only when it has data to send. If the read does not return in time, the CLI abandons it and sends the batch anonymously, as it does for a signed-out run.
    • When a connected Editor has a
      com.unity.pipeline
      package that is too old to run a command or detached job, the error now names the package version that provides the required behavior instead of only telling you to run
      unity pipeline upgrade
      .
      unity pipeline upgrade
      resolves the latest version available in the registry. If that version is still older than the version required by the CLI, the upgrade previously reported success and the command failed without explaining why. This issue caused the withdrawal of 1.0.0-beta.7.
    • Failures caused by the state of your machine no longer ask you to file a bug against the CLI. Previously, 23 conditions that were neither CLI defects nor errors in what you typed, such as a missing
      tar
      executable, an Editor that was no longer at its registered path, or another
      unity
      executable already owning your
      PATH
      , ended their error block with a request to run
      unity bug
      . The rest of the error block remains unchanged: the error, its code, the log location, and instructions for rerunning with
      --verbose
      .
    • unity install-path
      no longer reports the default install path when it cannot read your configured path. The path is stored in
      secondaryInstallPath.json
      , which the Hub and CLI share behind one advisory lock. Previously, a failed read was treated as if no custom path existed, so the CLI printed the platform default with exit code
      0
      even though your Editors lived elsewhere. An install that started during that window could then use the wrong root. The CLI now distinguishes these two states and retries a read once if it loses the lock.
    • A lock that the operating system refuses to create is now reported as a plain, actionable failure that names the lock file and asks you to check your write permission for the folder. Previously, the CLI reported a raw
      CreateDirectory failed
      error without a cause and filed a crash report for a machine-state issue. A full disk or read-only volume continues to report the operating system's more specific message. Releasing a lock on such a machine no longer stalls.
    • Interrupting a download with Ctrl+C no longer leaves the Windows taskbar showing progress indefinitely.
      unity install
      previously had no Ctrl+C handling, so Windows killed the process immediately and skipped cleanup. This could orphan the elevated helper that ran the Editor installer and leave the install lock behind, causing a retry within ten seconds to fail as if another install were still running. Ctrl+C is now handled cooperatively, and the command exits with code
      130
      . A second Ctrl+C still force-quits the process.
    • unity run --command
      now honors
      --timeout
      while waiting for the Editor it just started instead of exceeding the timeout by up to five and a half seconds. For example,
      --timeout 10
      now reports the timeout after 10 seconds instead of 15.5 seconds.
    • Spanish and Chinese no longer duplicate a word when the CLI reports that it updated itself. A completed update previously printed “Actualizado a a 1.2.3.” and duplicated a particle in Chinese. The issue affected update, downgrade, and channel-switch messages in all three output forms. The other seven languages were already correct.

August 21, 2026

1.0.0-beta.6

  • Breaking changes
    • unity bug
      now requires you to be signed in, and exits with code
      3
      instead of
      0
      when 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 calls
      unity bug
      .
    • unity test
      now uses exit code
      8
      specifically 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, or
      --timeout
      — keeps exit code
      6
      . If a script treats exit code
      6
      as "tests failed," point it at
      8
      instead.
  • Source control
    • unity projects create
      and
      unity projects link vcs
      can now create the new repository through
      gh
      ,
      glab
      , or
      tea
      when 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.
      --vcs
      accepts 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
      --git-description <text>
      flag sets the repository's description.
    • unity projects clone
      and
      unity projects link vcs
      now accept a plain git URL —
      ssh://
      ,
      git@host:path
      , or
      https://
      — 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.
    • Both commands, and
      unity projects create --vcs
      , now work fully over SSH, including host-key verification and passphrase-protected keys. Use
      --git-remote-protocol ssh
      on the flag form to switch the transport.
    • 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
      --format
      , or with
      --non-interactive
      , the CLI now fails immediately with exit code
      4
      naming the credential it needed, instead of waiting on a prompt nobody could answer.
    • Git operations under
      unity projects
      now respect your own git configuration (
      core.sshCommand
      ,
      includeIf
      rules, credential helpers) instead of ignoring it, and credential lookups resolve per organization when your credential helper supports it (set
      git config --global credential.useHttpPath true
      to opt in).
  • Project management
    • Added
      unity projects verify
      , a fast check for the things version control breaks in a Unity project: orphaned or missing
      .meta
      files, 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
      --strict
      to fail on warnings too, and
      --expect-editor <version>
      to also check for editor-version drift.
  • Build automation
    • unity build
      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
      --provenance-path
      to choose where it's written, or
      --no-provenance
      to turn it off.
    • unity build
      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
      --timeout <seconds>
      flag (also
      UNITY_BUILD_TIMEOUT
      ) aborts a build that runs too long.
  • Unity Collaboration
    • unity collaboration
      (
      unity collab
      for 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. Run
      unity collab --help
      for the full command tree.
  • Automation and CI
    • Added
      --format github
      , 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.
    • Added
      unity cache key
      , which prints a deterministic cache key for a Unity project's
      Library
      folder, derived from the editor version, the resolved package set, and the build target. Use it as the key for a CI cache step.
    • Added
      unity doctor --ci
      , 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 test
      gained
      --shard N/M
      to split a suite deterministically across parallel CI jobs,
      --retries N
      to re-run only the tests that failed and report which ones were flaky, and
      --rerun-failed
      to re-run just the failures from a previous run's report.
  • Security and privacy
    • Shell completion scripts (
      unity completion bash
      ,
      fish
      , and
      powershell
      ) 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.
    • Progress spinners and the background update check are hardened against a tampered update manifest smuggling terminal control sequences into the spinner label.
  • 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
      unity license
      command until it was deleted by hand.
    • 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.
    • Headless or wrapped editors (running under
      xvfb-run
      ,
      dbus-run-session
      , or a CI runner) are counted correctly again by
      unity status
      , instead of appearing as duplicates or "ambiguous."
    • The loop where signing in with
      unity auth login
      eventually signed you out of the Unity Hub is fixed for good.
    • Installing the CLI on Windows no longer corrupts your user
      PATH
      . PowerShell tab completion now actually registers (it never took effect before).
      unity command
      now catches malformed or misspelled arguments instead of silently running on default values.

August 13, 2026

1.0.0-beta.5

  • Security and privacy
    • unity bug
      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
      <user>
      wherever it appears, and email addresses become
      <redacted-email>
      . 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.
  • Issues fixed
    • A retried module download in
      unity install-modules
      now 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
      android (1).pkg
      and
      android (2).pkg
      ; it now leaves a single file and downloads its bytes once. The retry count and the exit code are unchanged.
    • unity build
      ,
      unity test
      , and
      unity run
      now report an Editor killed by a signal as
      stopped with signal SIGSEGV
      , naming the signal, instead of reporting
      exited with code 1
      .
      SIGILL
      ,
      SIGTRAP
      ,
      SIGFPE
      , and
      SIGBUS
      are recognized too, where they previously surfaced as a bare number such as 132. An Editor that exits normally still reports its own exit code.
    • Routine outcomes no longer suggest you report a CLI bug. Declining a module's license terms, being told to pass
      --accept-eula
      in a non-interactive shell, running
      unity modules <version>
      for an Editor you haven't installed, setting an invalid path with
      unity install-path --set
      , a
      unity build
      whose build fails, and a
      unity install
      that waits on another install's lock all stopped printing "Run
      unity bug
      to report this issue". The messages, the exit code (6), and the
      --format json
      envelope, including the
      BUILD_FAILED
      error code, are unchanged, so scripts that branch on them keep working. An Editor that crashes mid-build is still reported as a fault.
    • unity --help
      ,
      unity -h
      ,
      unity help
      , and bare
      unity
      show the Unity logo header again. The header still stays out of the way when you pipe the output, pass
      --quiet
      or
      --no-banner
      , or ask for a machine-readable format, and subcommand help such as
      unity install --help
      is unchanged.
    • unity completion zsh
      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
      $fpath
      :
      mkdir -p ~/.zsh/completionsunity completion zsh > ~/.zsh/completions/_unity
      Then make sure your
      ~/.zshrc
      has
      fpath=(~/.zsh/completions $fpath)
      followed by
      autoload -Uz compinit && compinit
      . bash, fish, and PowerShell completion are unaffected.
    • The
      --proxy
      help text shows its credentialed example as
      http://<user>:<pass>@host:8080
      , so it's clear which parts you substitute. In Spanish, the username in that example is no longer mistranslated.

August 12, 2026

1.0.0-beta.4

  • 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
      .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.
  • Installation and updates
    • Added winget as an install source on Windows:
      winget install Unity.CLI
      , then
      winget upgrade Unity.CLI
      to stay current.
    • Added Homebrew as an install source on macOS and Linux:
      brew install --cask unity-cli
      , then
      brew upgrade unity-cli
      .
    • 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.
    • 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.
  • Editor and project management
    • Added
      unity projects exec -- <command>
      , which runs one command across every registered project. Narrow the set with repeatable
      --filter
      terms, raise concurrency with
      --parallel <n>
      , and use
      --continue-on-error
      to run the whole fleet regardless.
    • 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.
    • 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.
    • Added
      unity editors verify <version>
      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.
    • Added
      unity templates pack <project-path> --output <file>
      to pack an existing project into a portable template archive.
  • Build automation
    • unity build
      no longer requires
      --execute-method
      . On Unity 6 and newer,
      --profile <path-or-name>
      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
    • Added multi-account support.
      unity auth login
      adds an account without dropping existing sessions,
      unity auth list
      shows every stored account,
      unity auth switch <account>
      changes the active one, and
      unity auth logout <account>
      signs out one account while preserving the rest.
    • Added per-project default accounts with
      unity auth default <account>
      , so cloud-authenticated commands run from inside that project resolve it automatically.
  • AI agent integration
    • Added
      unity skill install <client>
      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
    • 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.
    • Added detached Editor command jobs:
      unity command <name> --detach
      and
      unity eval <expr> --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.
    • 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
      .
    • 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.
    • Added the full query surface to
      unity command
      listings:
      --query
      ,
      --tag
      ,
      --group_by
      ,
      --sort
      ,
      --order
      ,
      --offset
      ,
      --limit
      , and
      --detail
      .
    • unity bug
      can now attach files with
      --attachments <paths...>
      and a stripped copy of the project with
      --share-project <path>
      .
  • Output and integration
    • --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.
    • 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
    • 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.
    • Tab completion now completes pipeline command names live from the connected Editor.
  • Issues fixed
    • 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
      .
    • 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.
    • unity open
      no longer causes the Editor to open Unity Hub, and the Editor now picks up the account you signed in with.
    • unity license
      commands and Unity Version Control commands now work on a machine that has never run Unity Hub.
    • 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.
    • unity editors info <version>
      now finds releases on entitlement-gated lines, such as extended LTS.
    • unity install <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 hub install
      works again on macOS and Linux, and
      --hub-version
      works again for Hub 3.20.0 and newer.
    • Running a command with
      sudo
      no longer leaves root-owned directories that break every later command.
    • unity install
      failures now report the underlying reason instead of a bare
      Installation Failed
      , and interrupted downloads can be resumed with
      --resume
      .
    • Editor and module downloads are now verified against the release manifest's checksum, including downloads resumed across attempts.
    • 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.
    • 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
      tsv
      output. This covers table headers and cells, interactive prompt choices,
      unity license status
      ,
      unity editors default
      ,
      unity install-path
      , and
      unity config proxy
      .
    • A rejected
      --proxy
      value shaped like
      user:pass@host
      no longer echoes the password in the usage error.
    • unity uninstall
      on macOS and Linux now refuses an Editor whose stored location resolves to a filesystem root.
    • Updated the bundled HTTP client library, which now rejects header values containing CR or LF characters.

July 23, 2026

1.0.0-beta.3

  • Interactive shell
    • Added persistent command history to
      unity shell
      . Press the Up and Down arrow keys to recall previous commands. History is capped at 1,000 entries, and secret-bearing flag values are masked before they're written to disk.
    • Added tab completion to
      unity shell
      for command names, subcommands, option flags, and option values.
    • Added session context and defaults to
      unity shell
      :
      use project <path>
      and
      use org <id>
      set an active project or organization for later commands, and
      set format
      ,
      set verbose
      , and
      set banner
      set default global options for the session.
      unset <key>
      clears one setting and
      context
      displays the current state.
    • Added
      unity shell --protocol ndjson
      , a machine mode that runs a framed NDJSON request/response protocol over
      stdio
      so automated callers and agents can run many commands in one warm process and read one parseable result per command.
    • Updated piped and scripted
      unity shell
      sessions to exit with the code of the first failed command instead of always exiting
      0
      .
  • Editor and project management
    • Added
      unity editors running
      to list running Unity Editor instances with the open project, Editor version, and process ID.
    • Added
      unity projects size [project]
      to report a project's on-disk size broken down by top-level folder. Use
      --all
      to summarize every registered project, sorted largest first.
    • Added
      unity projects close [project]
      to close the running Editor that has a project open. Use
      --timeout <seconds>
      to bound the graceful wait and
      --force
      to terminate the process when it can't exit.
    • Added
      unity editor module remove
      to remove installed modules from an Editor by module ID.
    • Added
      unity install <version> --list-components
      as an alias for
      unity modules list <version>
      .
    • Added
      unity run --command <name>
      to run a registered
      [CliCommand]
      Editor command headlessly in a single invocation. The CLI starts the Editor in batch mode, runs the command, prints the return value, and shuts the Editor down. Requires the Unity pipeline package.
  • Automation and CI
    • Added
      --json
      as a global shorthand for
      --format json
      on every command.
    • Added support for the
      UNITY_PROJECT_PATH
      and
      UNITY_CLOUD_ORG
      environment variables.
    • Unified flag names across commands:
      --project-path
      is the canonical flag for a Unity project path and
      --cloud-org
      for a Unity Cloud organization. The previous
      --project
      and
      --org
      spellings keep working as hidden aliases.
    • Added non-interactive support to
      unity bug
      through the
      --title
      ,
      --description
      ,
      --steps
      ,
      --reproducibility
      , and
      --email
      options, so you can submit bug reports from scripts and CI.
    • Added the
      UNITY_NO_CONSENT_PROMPT
      environment variable to suppress the one-time first-run consent prompt without recording a choice.
    • Added terminal-integrated progress reporting through the
      OSC 9;4
      escape sequence. On Windows Terminal, the taskbar icon fills with download and install progress while
      unity install
      runs.
    • Updated the CLI to terminate on
      SIGTERM
      with the conventional exit code
      143
      instead of ignoring the signal.
  • Installation and updates
    • Updated
      install.sh
      on Linux to install the binary to
      ~/.local/bin/unity
      , which is on
      PATH
      by default on most distributions. Re-running the installer migrates an existing
      ~/.unity
      install.
    • Added publication of the
      .deb
      and
      .rpm
      packages to Unity's apt and rpm repositories on every beta and general availability (GA) release, so package-managed installs update through the system package manager.
    • Added in-place AppImage updates to
      unity upgrade
      , including checksum verification and
      --rollback
      support.
    • Updated the background update notice to suggest the owning package manager's exact upgrade command on package-managed installs.
    • Fixed the MSIX package never receiving updates because every release rendered the same package version.
    • Fixed the Windows install one-liner failing for every user with "The assignment expression is not valid".
  • Diagnostics and crash reporting
    • Added anonymous crash and error reporting through Sentry. Reports contain no IP address or hostname, and home-directory paths and token-like values are scrubbed before sending. Set
      UNITY_NO_CRASH_REPORT
      to disable reporting entirely.
    • Expanded the opt-in usage analytics to record which commands run (registered command names only, never arguments, paths, or project names) and the outcomes of key workflows. Nothing is sent when you're opted out, which is the default.
    • Updated the "Recent log" section of
      unity doctor
      to render readable log rows instead of raw NDJSON logger lines.
  • Localization
    • Updated
      unity language
      to share the Unity Hub's language catalog, with display names derived from CLDR data.
    • Updated
      unity lang --set
      to accept common spellings of a language code: BCP-47 (
      ja-JP
      ), locale (
      ja_JP
      ), bare language (
      ja
      ), or bare region (
      jp
      ).
    • Fixed non-English locales missing translations for newer commands, so CLI output renders localized instead of falling back to English.
  • Security
    • Hardened usage errors, the
      unity bug
      log-archive warning, and
      unity projects add
      and
      unity projects remove
      machine output against terminal escape-sequence injection.
    • Added GPG signing to the
      .rpm
      packages with the published Unity Technologies ApS key.
  • Issues fixed
    • Fixed
      unity upgrade
      on Windows flashing a console window about a second after the command exits.
    • Fixed an invalid
      --proxy <url>
      value being silently ignored. It now fails with a usage error (exit code
      2
      ).
    • Fixed editor and module downloads failing with a DNS error when the operating system proxy settings point at an unreachable proxy auto-config (PAC) URL.
    • Fixed
      unity auth login
      on Linux without
      xdg-open
      surfacing a confusing error. The command now prints the sign-in URL so you can open it manually. Under Windows Subsystem for Linux (WSL), the CLI now opens URLs through Windows interop.
    • Fixed
      unity open <path> --editor-version <version>
      failing with "Not a Unity project" when the project has no
      ProjectSettings/ProjectVersion.txt
      file.
    • Fixed
      unity open
      with
      --editor-version
      starting a multi-gigabyte Editor download without asking. A terminal session now confirms before installing, and a non-interactive session fails fast instead.
    • Fixed
      unity status
      and
      unity pipeline list
      not detecting a running Editor whose project path contains a space on macOS and Linux.
    • Fixed
      unity command eval
      and
      unity command eval_file
      exiting
      0
      when the Editor reported a compilation error. They now exit
      6
      and print the compiler diagnostics.
    • Fixed
      unity mcp
      reporting failed
      eval
      tool calls as successful, and fixed
      unity mcp
      breaking permanently after an Editor script recompile.
    • Fixed
      unity editors --installed
      stalling for minutes on Windows when antivirus real-time scanning intercepts a freshly installed Editor.
    • Fixed an intermittent crash at exit on Windows right after a command completed successfully.
    • Fixed
      unity upgrade
      failing with a cross-device link error when the system temporary directory is on a different filesystem than the install directory.
    • Fixed
      unity projects create
      handing a corrupt template archive to the Editor. Template downloads are now verified against their published checksum.
    • Fixed
      unity run --command
      launching a second Editor on Windows when the project path differed only by letter case.
    • Fixed the
      .deb
      package failing to install on minimal Debian and Ubuntu systems by declaring a dependency on
      ca-certificates
      , and fixed the Unity licensing client never installing on Linux systems without the
      unzip
      utility.
    • Fixed opted-out runs sending a single anonymous analytics request in some commands. Consent off now means zero analytics requests.
    • Fixed
      unity analytics opt-in
      and
      unity analytics opt-out
      not permanently answering the first-run consent prompt when run from a script.

July 16, 2026

1.0.0-beta.2

  • Interactive shell
    • Added
      unity shell
      , an interactive session that boots the CLI once and runs many commands in the same warm process. Enter any command without the
      unity
      prefix, and leave with
      exit
      ,
      quit
      , or Ctrl+D. Interactive prompts work inside the shell, and a change made by one command is visible to the next.
  • Proxy diagnostics
    • Added
      unity diagnose proxy
      to print a redacted, paste-safe proxy diagnostic report: the resolved proxy and its source, PAC configuration, CA bundle, and credential-store and Kerberos checks.
    • Added the global
      --log-proxy
      flag (or
      UNITY_LOG_PROXY=1
      ) to log one redacted entry per outbound request for reproducing proxy issues.
    • Fixed part of the CLI's HTTPS traffic bypassing the configured proxy. Sign-in, template and release lookups,
      unity bug
      , and
      unity upgrade
      traffic now route through the same proxy stack as downloads, and
      --proxy-disable
      now forces a direct connection.
  • Unity pipeline package
    • Added
      unity pipeline upgrade
      to upgrade the Unity pipeline package in a project when the registry has a newer version.
    • Added
      unity pipeline list-versions
      to list every published version of the package, and
      unity pipeline install --package-version <version>
      to install a specific version.
    • Updated
      unity pipeline list
      to show each project's installed package version and flag when a newer version is available.
    • Added
      unity list
      , a discovery command that queries the connected Unity Editor and prints every registered tool with its name, description, group, and parameter schema.
  • Editor and module installation
    • Added
      --reinstall
      and
      -f, --force
      to
      unity install-modules
      to repair modules that are already installed.
    • Added automatic retries for module downloads that fail intermittently. Tune or disable retries with
      --retries <n>
      or
      UNITY_INSTALL_RETRIES
      .
    • Added
      --no-elevate
      (or
      UNITY_NO_ELEVATE=1
      ) on Windows to skip the elevated (UAC) install helper for user-writable install locations and CI shells.
    • Updated
      unity install
      and
      unity install-modules
      to continue installing the remaining modules when one fails, and to report a per-item result for each Editor and module on both success and failure.
    • Added a desktop entry for installed Editors on Linux, so a launched Editor shows the Unity name and icon in the taskbar.
  • Diagnostics
    • Added environment health checks to
      unity doctor
      : whether the
      unity
      binary's directory is on
      PATH
      , whether multiple
      unity
      binaries shadow each other, and whether Windows long-path support is enabled.
  • Installation and updates
    • Updated
      unity upgrade
      to detect how the CLI was installed. On a package-manager install, it points you at the owning manager instead of replacing the binary in place.
    • Added GPG signing and AppImage-native update information to the Linux AppImage, so third-party updaters can check for and apply CLI updates.
  • CLI behavior
    • Added "Did you mean" suggestions for unknown commands that look like a typo of a real one.
    • Updated command modules to load only when their command runs, reducing startup time on every invocation.
    • Removed
      --instance <host:port>
      from
      unity command
      and
      unity mcp
      . The CLI now always discovers running Editors itself; run from the project directory or pass
      --project-path
      to target one.
    • Removed the regional display languages Spanish (Latin America), French (Canada), and Portuguese (Portugal) from
      unity language
      . Spanish, French, and Portuguese (Brazil) remain available.
    • Updated the first-run consent prompt to require an explicit
      y
      or
      n
      answer.
  • Security
    • Hardened the Editor and module installers against command injection through the configured install location.
    • Updated
      unity hub install
      to verify that the downloaded installer is signed by Unity specifically, instead of accepting any validly signed binary.
    • Extended escape-sequence hardening to more output surfaces, including
      unity projects list
      and the detail views.
  • Issues fixed
    • Fixed the
      lts
      version alias resolving to the newest Supported-stream release instead of the newest Long Term Support (LTS) release.
    • Fixed command hints showing literal markdown backticks. Commands now render in cyan on color terminals and as plain text elsewhere.
    • Fixed the CLI requiring the Microsoft Visual C++ Redistributable on Windows.
    • Fixed Unity 2021 and 2022 Editors failing to start when launched through the CLI on Windows.
    • Fixed the
      unity license
      commands not recognizing service-account sessions, and fixed
      unity license return
      not returning serial-activated licenses.
    • Fixed file sizes printing a literal
      undefined
      where the unit belongs.
    • Fixed installing the Visual Studio module opening the interactive Visual Studio Installer on Editor versions whose release manifest omits the install command.
    • Fixed
      unity templates list
      and
      unity templates info
      silently falling back to cached template data when the template registry is unreachable. The CLI now prints a warning when it shows cached data.
    • Fixed concurrent module installs corrupting the Editor's module state or failing with misleading permission errors.
    • Fixed the install scripts failing on systems without a shell startup file, and fixed the Windows install script failing to parse under Windows PowerShell 5.1 when saved to disk.
    • Fixed authentication failures in the
      unity cloud
      commands exiting with code
      6
      instead of
      3
      , and aligned operational failures in the cloud and auth commands on exit code
      6
      .
    • Fixed interrupted builds exiting with a generic
      1
      . Interrupting
      unity build
      now exits
      130
      for Ctrl+C and
      143
      for
      SIGTERM
      .
    • Fixed
      unity upgrade
      failing with a 404 error when the Unity Hub ran in a non-production environment on the same machine.

June 30, 2026

1.0.0-beta.1

The first 1.0 beta of the Unity CLI. This release marks the move to 1.0 versioning and rolls up the functionality shipped across the 0.1.0 betas.
  • Issues fixed
    • The CLI no longer logs your OAuth access token or Hub session ID in plaintext. Editor-launch commands previously wrote them to the log file that
      unity logs
      ,
      unity doctor
      , and
      unity bug
      read; they're now redacted.
    • Fixed detail commands printing nothing under
      --format tsv
      and
      --format ndjson
      , including
      unity editors info
      ,
      unity config update-check
      ,
      unity pipeline install
      ,
      unity license activate
      , and
      unity upgrade --dry-run
      .
    • Fixed
      unity run
      and
      unity test
      mixing the Editor's batch-mode output into machine-readable output. Under
      --format json
      and
      --format ndjson
      , the Editor's output goes to
      stderr
      so the result is the only thing on
      stdout
      .
    • Fixed
      unity projects list
      dropping its column flags (
      -v
      ,
      --cloud
      ,
      --editor-version
      ,
      --vcs
      ,
      -m
      ,
      --pipeline
      ) when piped.
    • Fixed
      unity templates create
      flattening dots in the stored template name, which made later lookups by name fail.
    • Fixed
      unity editors --installed
      hanging on Windows right after an install when antivirus scanning or a file lock delayed reading the Editor executable.
    • Fixed invalid
      unity upgrade --target
      and
      --channel
      values exiting with a generic error code instead of the standard usage-error code.

June 25, 2026

0.1.0-beta.8

  • AI agent integration
    • Added
      unity mcp
      to start a Model Context Protocol (MCP) server, built into the
      unity
      binary, that exposes the commands of a connected Unity Editor as MCP tools. AI agent clients connect over
      stdio
      and can list and run those commands.
    • Added
      unity mcp configure <client>
      to register the Unity MCP server in an AI agent's configuration in one step, for 16 supported clients including Claude, Claude Code, Cursor, and VS Code. Only the Unity entry is written; every other key in the file is preserved.
  • Editor management
    • Added
      unity editors upgrade [editor]
      to upgrade an installed Editor to the newest official patch in its same
      major.minor
      line, carrying the Editor's installed modules over to the new patch. Supports
      --all
      ,
      --dry-run
      ,
      --replace
      , and module and architecture flags.
    • Added an explicit
      unity editors list
      subcommand, matching the
      list
      verb used by other command groups.
    • Added an "Upgrade to" column to
      unity editors list --installed
      that flags installed Editors with a newer patch available in their line.
  • CLI behavior
    • Updated
      unity bug
      to collect the same diagnostic system information as the Unity Hub bug reporter, including GPU details.
    • Updated the Unity CLI and the Unity Hub to store their sign-in credentials separately, so each can stay signed in as a different account.
    • Updated
      unity projects clone
      to download Git LFS objects after cloning.
    • Added a background check for a newer
      unity
      version with an unobtrusive update notice. Turn it off with
      unity config update-check off
      or the
      UNITY_NO_UPDATE_CHECK
      environment variable.
  • Issues fixed
    • Fixed
      unity projects clone
      storing your Git access token in the cloned repository's
      .git/config
      .
    • Fixed the CLI hanging at exit after a command finished printing its output.
    • Fixed the bundled Unity licensing client failing its signature check on macOS and being re-downloaded on every run.
    • Fixed
      unity releases --limit
      not limiting the number of releases returned.
    • Fixed
      unity analytics
      ,
      unity language
      , and
      unity config proxy
      printing nothing under
      --format tsv
      and
      --format ndjson
      .
  • Removed
    • Removed the deprecated
      unity implode
      alias. Use
      unity self-uninstall
      instead.

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