Unity command-line interface (CLI) release notes
Learn about the latest releases, features, improvements and fixes for Unity CLI.
阅读时间65 分钟最后更新于 1 天前
September 08, 2026
1.0.0-beta.9
-
Installs and updates
- and
unity installnow useunity install-modules/--child-modules, which matches--no-child-modules. The previous camelCase options (unity editor module add/--childModules) and the--no-childModules/--cmshorthand continue to work.--no-cm - is now
unity install --list-components, which matches theunity install --list-modules/-mterminology. The previous name remains available as a hidden alias.--module - and
unity modules listnow label their last columnunity install --list-modulesinstead of the downloader name. TheAliasesfield also changes from--format jsontodownloaderName.aliases - The CLI now warns you when both a self-installed and a Homebrew-managed version appear on your
unity. In this state,PATHcontinues to resolve to the self-installed copy, whilewhich unityupdates the Homebrew copy, so the versions can diverge. The background update check now directs you tobrew upgradeto remove the self-installed copy and let Homebrew manage updates.unity self-uninstall -y
-
AI and Editor integration
- now prints the CLI's agent skill to standard output without installing anything, so you can read the skill without changing the filesystem. Use
unity skill showto print a reference file,--path <file>to list all files in the skill, or--listto return each file's content with its index.--format json - now mentions the agent skill on its last line and directs you to
unity --helpandunity skill show.unity skill install <client>
-
Automation and CI
- 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,
unity plugin upgradedowngrades to the newest non-yanked version and explains why.upgrade - now displays a managed tool's release notes, rendered from Markdown and paged like
unity plugin changelog <id>. Useunity changelogto display notes for a specific version, or--version <version>to display the full notes before the upgrade.plugin upgrade --changelog - A global flag now controls colored output directly. Use
--color <auto|always|never>as shorthand for--no-color. The flag affects only human-readable output and no longer relies only on the--color neverandNO_COLORenvironment variables.FORCE_COLOR - is a new command that displays the CLI version, release channel, commit, platform, architecture, and runtime in any output format.
unity versionalso honors--version. A bare--formatcontinues to print only the version string.unity --version - now lists the CLI's bundled third-party components with their versions and SPDX license identifiers, along with the .NET runtime.
unity doctor - A generic interface now provides access to the CLI's existing settings:
unity config get|set|list|unset <key>,proxy,proxy.bypass, andaccelerator. 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.update-check
-
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 and falls back to the Secret Service keyring. On macOS, it uses the Keychain. A local key file provides the fallback on all platforms.
systemd-credsnow reports which protection is active.unity doctor - now lists the applications that have used your Unity sign-in on the current machine. Use
unity auth consumersto prevent an application from using it. Useunity auth revoke <application>to undo a revoke.--restore - The CLI now sends one 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
cli telemetryto disable it.UNITY_NO_CLI_INVOKED_TELEMETRY=1
- 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
-
Build automation
- now runs only the tests that a change can affect, based on the impact graph from
unity test --affected --since <ref>. Selection is opt-in, and results go tounity vcs affectedso 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. Usetest-results.affected.xmlto 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.--affected-compare
-
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 and
unity license activate --serialto fail their licensing handshake on these machines.unity projects new - no longer bundles an entire project into the report. The shared copy now contains at most 1,000 files.
unity bug --share-project - Crash reports no longer contain invisible marker characters that the CLI uses to style command hints in the terminal.
- 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 vcs uvcs review list,comments, andreplynow work when you are signed in. Previously, all four commands returned a sign-in error, even immediately after sign-in, because they did not exchange your credential for the short-lived token that the review service requires.resolve - Commands that access Unity Cloud no longer fail spuriously the first time you run one after your sign-in has been idle. This fixes commands such as ,
unity cloud project list, andunity projects create.unity projects link vcs - ,
unity install, andunity install-modulesno longer try to install a bundled Visual Studio module when a compatible version is already installed. On Windows and macOS, the CLI now checks the actual installation state. On Linux, the CLI reports Visual Studio as not installed.unity editor module add - no longer crashes on Windows when the project path points to a file instead of a directory.
unity cache key - On Windows, and
unity pipeline listno 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.unity status - On Windows, now updates an earlier installation when the recorded and computed installation paths differ only in slash direction or letter casing.
unity skill install - 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 doctor - and
unity templates createnow 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 templates pack - 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 install 6000.5 - ,
unity open, andunity projects opennow report a failure when the Editor they start exits with an error instead of always reporting success.unity projects upgrade - now tells you when a project is already open in an Editor instead of reporting what appears to be a licensing error.
unity build - Release notes that and
unity changelogrender now retain bold and italic styling when the same line contains a link.unity self-update --changelog - On Windows, and
unity open <name>no longer print paths that mix forward and backslashes when the registered folder is not a valid project.unity projects open <name> - 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.
- and the
unity projects verifypre-commit gate no longer report a missingunity vcs hooksfile for files inside native plug-in folders (.meta,.bundle,.framework,.androidlib). These folders do not have their own.pluginfiles..metano longer reports these files either.unity vcs status
- 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
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
- 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_NO_PARAM_VALIDATION - and
unity commandnow 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.unity run --command - New projects created with are cloud-enabled by default. Pass
unity projects create, or set--no-cloud, to opt out.UNITY_NO_CLOUD - An Editor that exits with code is now reported as a licensing failure instead of a bare exit code.
198 - A executable on your
unity-closeno longer runs asPATH. Becauseunity closeis now a first-party command, it takes precedence and a binary onclosecan no longer shadow it. If you have such a plugin, rename it. Otherwise, the CLI no longer finds it with no error.PATH
-
Source control
- Added , a command group for working with a Unity project under version control.
unity vcstakes a project from nothing to a pushed first commit without any flags.unity vcs setupandunity vcs statussupport day-to-day workflows:unity vcs syncgroups changes by their meaning in Unity and identifiesunity vcs statusfile problems, while.metarefuses to pull while an Editor has the project open and reports the expected reimport.unity vcs sync - audits repository settings required for Unity to work under version control, including UPM package reproducibility. Use
unity vcs doctorto repair everything the command can repair in one pass.--fix - makes Unity scene and prefab merges work in a repository in one command and continues to work after an Editor upgrade.
unity vcs merge-setup - ,
unity vcs conflicts, andunity vcs explainturn a Unity merge conflict from a list of numeric IDs into actionable information.unity vcs resolve - reads a scene or prefab change by GameObject and component name instead of
unity vcs diff <path>.fileIDturns an entire branch into a readable summary.unity vcs summarize --since <ref> - 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 affected - changes branches without causing unnecessary reimports and tells you the expected cost before it switches branches.
unity vcs switch <branch> - adds Unity integrity checks to your commits. Use
unity vcs hooks installto remove them.uninstall - makes a Git worktree usable with a Unity project.
unity vcs git worktree add <branch> [path]removes it.unity vcs git worktree remove <path> - finds binaries already committed to Git history and provides the exact
unity vcs git migrate-lfscommand to move them into LFS.git lfs migrate import - tells you who holds a Unity Version Control lock and marks locks that cover files you have already changed.
unity vcs uvcs lockslists changesets.unity vcs uvcs changesets - reports which Git providers this machine can reach. It reports whether
unity vcs providers,git,git-lfs,gh,glab,tea, andbktare installed and their versions, as well as which hosts each tool has a session for and which account the session uses.az - Repository creation now works with Bitbucket and Azure DevOps, in addition to GitHub, GitLab, and Gitea. and
unity projects create --vcs <host>create the remote through Bitbucket'sunity projects link vcsor Microsoft'sbkt, including Bitbucket Cloud and Data Center. Azure DevOps repositories belong to an organization and project, soazaccepts--vcs-namespace. Azure DevOps does not support per-repository visibility, so the CLI rejectsorganization/projectand descriptions instead of silently ignoring them.--visibility - 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.
- and
unity projects link vcsno longer require the project path. If a link fails partway through, run the command again to resume it instead of receiving anunity projects unlink vcserror or creating a second repository. UseALREADY_LINKEDto undo a partially completed link. If a repository already has a remote, the CLI adopts it instead of refusing the link.--rollback - If 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.
git-lfs - 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.
unity vcs uvcs reviewfinds a review and lets you narrow the results withreview list,--changeset, or--branch.--statusreads the review and reports each comment's file, line, text, author, timestamp, type, threading parent, and resolution status.review commentsreplies to a comment, andreview replyrecords which changeset addressed it.review resolve
- Added
-
Project management
- now has the same default-project commands as the organization commands:
unity cloud project,set-default, andcurrent. Commands that require a Unity Cloud project use the default project when you do not specify one.clear-default - and
--cloud-projectnow also accept a project's Genesis ID.unity cloud project set-defaultdisplays this value in its ID column alongside the project UUID and name.unity cloud project list - closes the Unity Editor that has a project open and is now available in released builds. The capability previously existed as
unity close <path-or-name>but was registered only whenunity projects closewas set, so it was unavailable outside Unity.HUB_ENV=developmentis now a top-level command as well asclose, matching the existingunity projects closecommand. Neither command saves your work. By default, the command asks the Editor to exit, which it does immediately without prompting. Useopento signal the process instead. The CLI uses--forceonly 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--force, the error names the package and thecom.unity.pipelinecommand that adds it.unity pipeline installremains development-only.unity projects logs
-
Installs and updates
- and
unity installnow 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 withunity install-modulesorELEVATION_CANCELLED, and nothing is downloaded or written.ELEVATION_FAILED - 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 upgrade - 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 <version> --changeset <changeset> - now prints a result envelope on success. Previously, it printed nothing and exited with
unity install --format json, so a script could not distinguish a completed install from a crashed process. The envelope matches the result that0already reports.--format ndjson - now honors
unity install --resume, 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.--force - The command that updates the CLI is now .
unity self-updatecontinues to work as an alias, so nothing you have scripted or documented breaks. The old name was the only CLI command calledunity upgradethat did not upgrade a project or an Editor, unlikeupgrade,unity editors upgrade, andunity projects upgrade. The machine-readable output also changes:unity plugin upgradeand--format jsonnow reportndjsoninstead of"command": "self-update"."command": "upgrade"
-
AI and Editor integration
- 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 - now also installs the agent skill included with your project's
unity skill install <client> --localpackage. A resolved package lives undercom.unity.pipeline, which AI clients do not search for skills. A project-local install therefore copies the skill next to theLibrary/PackageCacheskill. A project without the package behaves as before.unity-cli - no longer reports every numeric, array, and structured tool parameter as a string.
unity mcp
-
Automation and CI
- Long human-readable listings now use a pager in a terminal, similar to , instead of filling your scrollback. Set
git logorUNITY_PAGERto choose a pager, or passPAGERto disable it.--no-pager - Added ,
unity plugin install, andunity plugin removeto manage tools that Unity downloads for you.unity plugin upgradereports the installed tools.unity plugin listalso 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 doctor - ,
unity uvcs, andunity cmnow pass everything after the alias directly to the tool's binary, so the tool receives its own flags unchanged. For example,unity ugspassesunity uvcs status --format jsonto the Unity Version Control client instead of letting the CLI consume it as a global--format jsonoption.--formatanduvcsboth run the Unity Version Control client, whilecmruns the Unity Gaming Services CLI. Only the first token counts, sougsis parsed as a standard CLI invocation and reports the correct usage.unity --format json uvcs
- Long human-readable listings now use a pager in a terminal, similar to
-
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, matching the other questions in the CLI.n
-
Issues fixed
- On Windows, 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
unity installeven though the Editor had installed correctly. This issue caused the withdrawal of 1.0.0-beta.7.INSTALL_FAILED - now repairs an Editor that an earlier install left unregistered. Use this command if you encountered the issue above before this release.
unity editor module refresh <version> - 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 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.
Access to the path is denied - 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.
unity auth login - Backticks in a path, project name, Editor version, or any other value you type are no longer deleted from the CLI's messages.
- 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.
unity test - Opening a project with 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 open - no longer deletes a project's
unity projects clean,Library, andTempfolders when it cannot determine whether an Editor has the project open.obj - On Linux, now puts the iOS, WebGL, Linux-IL2CPP, and Linux-Server playback engines where the Editor expects them.
unity install-modules - Templates created from a Unity 6000.6.0a4 or newer project no longer produce hundreds of spurious warnings in every project created from them. also no longer copies content from outside the project into the template.
unity templates pack - 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 and the Kind column in
unity projects listnow use your display language.unity plugin list - no longer uploads a Unity 6000.6+ project's
unity bug --share-projectfolder.Library/DataStore - and other commands that find a project in the Hub registry by path no longer miss a project when its path uses different capitalization.
unity projects remove - is accepted again on every command and in either position.
--no-pageralso no longer asks for confirmation in a terminal.unity editors prune --remove --format github - now rejects an argument that is not a Unity version with an
unity install <arg>error before sending it to the release catalog.INVALID_VERSION - 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 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
com.unity.pipeline.unity pipeline upgraderesolves 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.unity pipeline upgrade - 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 executable, an Editor that was no longer at its registered path, or another
tarexecutable already owning yourunity, ended their error block with a request to runPATH. The rest of the error block remains unchanged: the error, its code, the log location, and instructions for rerunning withunity bug.--verbose - no longer reports the default install path when it cannot read your configured path. The path is stored in
unity install-path, 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 codesecondaryInstallPath.jsoneven 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.0 - 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 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.
CreateDirectory failed - Interrupting a download with Ctrl+C no longer leaves the Windows taskbar showing progress indefinitely. 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
unity install. A second Ctrl+C still force-quits the process.130 - now honors
unity run --commandwhile waiting for the Editor it just started instead of exceeding the timeout by up to five and a half seconds. For example,--timeoutnow reports the timeout after 10 seconds instead of 15.5 seconds.--timeout 10 - 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.
- On Windows,
August 21, 2026
1.0.0-beta.6
-
Breaking changes
- now requires you to be signed in, and exits with code
unity buginstead of3when you aren't. Previously a signed-out run reported nothing and appeared to succeed. Authenticate first, or pass service-account credentials, before a script or CI job calls0.unity bug - now uses exit code
unity testspecifically for a run whose tests failed. Every other way a test run fails to reach a verdict — a compile error, an expired license, an editor crash, or8— keeps exit code--timeout. If a script treats exit code6as "tests failed," point it at6instead.8
-
Source control
- and
unity projects createcan now create the new repository throughunity projects link vcs,gh, orglabwhen the CLI's own REST clients can't reach the host: a GitHub Enterprise Server, a self-managed GitLab, or a self-hosted Gitea or Forgejo instance.teaaccepts a bare hostname for these. No token passes through the CLI on this path; the provider CLI's own signed-in session does the work. A new--vcsflag sets the repository's description.--git-description <text> - and
unity projects clonenow accept a plain git URL —unity projects link vcs,ssh://, orgit@host:path— as an optional positional argument, so any git host works, including Bitbucket, Azure DevOps, and a self-hosted server. This form uses your machine's own ambient git authentication rather than a provider API call.https:// - Both commands, and , now work fully over SSH, including host-key verification and passphrase-protected keys. Use
unity projects create --vcson the flag form to switch the transport.--git-remote-protocol ssh - Signing in to github.com no longer implies anything on a self-hosted host. When a self-hosted or enterprise host needs its own sign-in, the CLI now names the exact command to run for whichever provider CLI you have installed.
- Git credential prompts no longer hang. Without a terminal, in CI, under a machine-readable , or with
--format, the CLI now fails immediately with exit code--non-interactivenaming the credential it needed, instead of waiting on a prompt nobody could answer.4 - Git operations under now respect your own git configuration (
unity projects,core.sshCommandrules, credential helpers) instead of ignoring it, and credential lookups resolve per organization when your credential helper supports it (setincludeIfto opt in).git config --global credential.useHttpPath true
-
Project management
- Added , a fast check for the things version control breaks in a Unity project: orphaned or missing
unity projects verifyfiles, duplicate GUIDs from a bad merge, and unresolved conflict markers. It needs no Editor, license, or network access, so a broken checkout fails in seconds instead of after a full build. Pass.metato fail on warnings too, and--strictto also check for editor-version drift.--expect-editor <version>
- Added
-
Build automation
- now writes a build provenance manifest next to its output, recording the editor version, resolved package set, build target, git revision, and timestamps that produced the build. It's written for failed builds too. Paths, credentials, and machine-identifying details are deliberately left out, so it's safe to publish alongside the artifact. Use
unity buildto choose where it's written, or--provenance-pathto turn it off.--no-provenance - now prints a periodic heartbeat during a long build, tracking both elapsed time and how long since the editor's log last grew, so silence in the log no longer looks the same as a hang. A new
unity buildflag (also--timeout <seconds>) aborts a build that runs too long.UNITY_BUILD_TIMEOUT
-
Unity Collaboration
- (
unity collaborationfor short) is now part of every build, instead of development builds only. It covers Unity Collaboration's annotations end to end — create, list, update, resolve, reply, and react — plus attachments, thumbnails, and a Jira integration that creates and links issues from the CLI. Rununity collabfor the full command tree.unity collab --help
-
Automation and CI
- Added , a global output format that reports command failures as GitHub Actions annotations instead of plain text, so a red step in a workflow points at what went wrong in its summary.
--format github - Added , which prints a deterministic cache key for a Unity project's
unity cache keyfolder, derived from the editor version, the resolved package set, and the build target. Use it as the key for a CI cache step.Library - Added , a fast preflight that checks whether a machine can actually finish a build or test run — an activatable license, the project's required editor, disk space, and network reachability — and exits non-zero when it can't, so a pipeline fails in seconds instead of partway through a build.
unity doctor --ci - gained
unity testto split a suite deterministically across parallel CI jobs,--shard N/Mto re-run only the tests that failed and report which ones were flaky, and--retries Nto re-run just the failures from a previous run's report.--rerun-failed
- Added
-
Security and privacy
- Shell completion scripts (,
unity completion bash, andfish) now escape the strings they interpolate, closing a defense-in-depth gap where an unescaped value could have run as a command or broken out of its quoting.powershell - Progress spinners and the background update check are hardened against a tampered update manifest smuggling terminal control sequences into the spinner label.
- Shell completion scripts (
-
Issues fixed
- Editor and module install progress bars are back in the terminal. A large download previously printed nothing at all until it finished, which looked indistinguishable from a hang.
- A stale Unity Licensing Client is now detected and replaced automatically, instead of silently rejecting every command until it was deleted by hand.
unity license - The Android module on Linux, the Android NDK on macOS, Windows modules that need administrator elevation, and language packs all had install paths that were broken outright; all are fixed.
- Headless or wrapped editors (running under ,
xvfb-run, or a CI runner) are counted correctly again bydbus-run-session, instead of appearing as duplicates or "ambiguous."unity status - The loop where signing in with eventually signed you out of the Unity Hub is fixed for good.
unity auth login - Installing the CLI on Windows no longer corrupts your user . PowerShell tab completion now actually registers (it never took effect before).
PATHnow catches malformed or misspelled arguments instead of silently running on default values.unity command
August 13, 2026
1.0.0-beta.5
-
Security and privacy
- no longer uploads your account name or email address. The CLI's log file records paths under your home directory on nearly every line, and a bug submission attaches that file as-is, so on a machine where the account name is your real name, submitting a report sent it too. Both are now redacted as each line is written: the account name becomes
unity bugwherever it appears, and email addresses become<user>. Nothing else about the line changes, so an install failure stays diagnosable. Logs written before this release are unaffected; delete them if you'd rather not send them.<redacted-email>
-
Issues fixed
-
A retried module download innow resumes the partial file it already has instead of starting that module again from the beginning. A module that failed and then succeeded within the same run previously left one numbered file per attempt, such as
unity install-modulesandandroid (1).pkg; it now leaves a single file and downloads its bytes once. The retry count and the exit code are unchanged.android (2).pkg -
,
unity build, andunity testnow report an Editor killed by a signal asunity run, naming the signal, instead of reportingstopped with signal SIGSEGV.exited with code 1,SIGILL,SIGTRAP, andSIGFPEare recognized too, where they previously surfaced as a bare number such as 132. An Editor that exits normally still reports its own exit code.SIGBUS -
Routine outcomes no longer suggest you report a CLI bug. Declining a module's license terms, being told to passin a non-interactive shell, running
--accept-eulafor an Editor you haven't installed, setting an invalid path withunity modules <version>, aunity install-path --setwhose build fails, and aunity buildthat waits on another install's lock all stopped printing "Rununity installto report this issue". The messages, the exit code (6), and theunity bugenvelope, including the--format jsonerror code, are unchanged, so scripts that branch on them keep working. An Editor that crashes mid-build is still reported as a fault.BUILD_FAILED -
,
unity --help,unity -h, and bareunity helpshow the Unity logo header again. The header still stays out of the way when you pipe the output, passunityor--quiet, or ask for a machine-readable format, and subcommand help such as--no-banneris unchanged.unity install --help -
now produces a script that registers itself with zsh, so pressing Tab completes commands, subcommands, and flags. The script previously defined the completer without telling zsh about it, and Tab fell back to plain filename completion with no error to explain why. Save it to a directory on your
unity completion zsh:$fpathmkdir -p ~/.zsh/completionsunity completion zsh > ~/.zsh/completions/_unityThen make sure yourhas~/.zshrcfollowed byfpath=(~/.zsh/completions $fpath). bash, fish, and PowerShell completion are unaffected.autoload -Uz compinit && compinit -
Thehelp text shows its credentialed example as
--proxy, so it's clear which parts you substitute. In Spanish, the username in that example is no longer mistranslated.http://<user>:<pass>@host:8080
-
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 and
.debpackages declare the requirement, so.rpmandapt upgraderefuse the update on an affected system and leave your working CLI in place, anddnf upgradechecks before it downloads. If you're on an affected distribution, stay on 1.0.0-beta.3. macOS and Windows are unaffected.install.sh
- Linux now requires glibc 2.34 or newer. This drops support for Ubuntu 20.04 and earlier, Debian 11, RHEL and CentOS 8, and Amazon Linux 2. RHEL 9 and Ubuntu 22.04 are the oldest supported releases. The
-
Installation and updates
- Added winget as an install source on Windows: , then
winget install Unity.CLIto stay current.winget upgrade Unity.CLI - Added Homebrew as an install source on macOS and Linux: , then
brew install --cask unity-cli.brew upgrade unity-cli - Added self-updating Windows installs. now updates an MSIX install directly instead of deferring to winget, downloading only the parts of the package that changed. It also registers the install with Windows, which then keeps the CLI current in the background. Rollback remains unavailable on MSIX.
unity upgrade - Added , which reports the version and channel the install resolved, the manifest it reads, and the exact command that updates it. On Windows it also shows the update feed Windows is registered against.
unity diagnose update
- Added winget as an install source on Windows:
-
Editor and project management
- Added , which runs one command across every registered project. Narrow the set with repeatable
unity projects exec -- <command>terms, raise concurrency with--filter, and use--parallel <n>to run the whole fleet regardless.--continue-on-error - Added to delete a project's regenerable cache folders and reclaim disk space. Use
unity projects clean [project]to list the targets and sizes without deleting.--dry-run - Added to find installed Editors no registered project uses, with the disk space each would reclaim. Report-only by default;
unity editors pruneuninstalls them after confirmation.--remove - Added to check that an installed Editor's binary and modules are present and non-empty, catching installs left broken by antivirus quarantine or a failed extraction.
unity editors verify <version> - Added to pack an existing project into a portable template archive.
unity templates pack <project-path> --output <file>
- Added
-
Build automation
- no longer requires
unity build. On Unity 6 and newer,--execute-methodbuilds a Build Profile, and on every version the desktop targets build without a method, so--profile <path-or-name>works with no project-side C# code.unity build --target StandaloneWindows64 --output-path Build/MyGame.exekeeps working and takes precedence.--execute-method
-
Authentication
- Added multi-account support. adds an account without dropping existing sessions,
unity auth loginshows every stored account,unity auth listchanges the active one, andunity auth switch <account>signs out one account while preserving the rest.unity auth logout <account> - Added per-project default accounts with , so cloud-authenticated commands run from inside that project resolve it automatically.
unity auth default <account>
- Added multi-account support.
-
AI agent integration
- Added to install the Unity CLI agent skill into an AI client's rules or skills directory, in that client's native format. The skill is embedded in the binary, so it works offline and matches the running version.
unity skill install <client>re-renders previously installed skills after an upgrade.unity skill refresh
- Added
-
Automation and CI
- Added CI-native test reports and code coverage to , so it drops into a GitHub Actions or GitLab pipeline without a converter step.
unity test - Added detached Editor command jobs: and
unity command <name> --detachreturn a job ID immediately, andunity eval <expr> --detach,unity job wait, andunity job statusmanage it. Requires a Unity pipeline package with job support.unity job cancel - Added live Editor task progress to and
unity command, rendered as a progress bar on an interactive terminal and asunity run --commandframes under{"type":"progress"}.--format ndjson - ,
unity command,unity list, andunity jobnow find the right Editor on their own when several are open, by matching the directory you run them from against the registered projects. Explicitunity mcpstill takes precedence.--project-path - Added the full query surface to listings:
unity command,--query,--tag,--group_by,--sort,--order,--offset, and--limit.--detail - can now attach files with
unity bugand a stripped copy of the project with--attachments <paths...>.--share-project <path>
- Added CI-native test reports and code coverage to
-
Output and integration
- failures are now machine-readable: a failed command ends the stream with a terminal
--format ndjsonframe carrying the same fields as the{"type":"result","success":false,…}envelope, instead of reporting only on stderr.--format json - Long human-readable output now scrolls in a pager on an interactive terminal, using ,
$UNITY_PAGER, or$PAGER. Machine formats, piped output, andlessnever page. Opt out with--quietor--no-pager.UNITY_NO_PAGER
-
Interactive shell
- Added full line editing to the prompt: Up and Down recall previous commands across sessions, Tab completes commands, subcommands, flags, and values, and Left, Right, Home, and End move within the line.
unity shell - Tab completion now completes pipeline command names live from the connected Editor.
- Added full line editing to the
-
Issues fixed
- now verifies that the downloaded binary starts on your system before replacing the one you have, and no longer cancels itself where the temporary directory is mounted
unity upgrade.noexec - no longer overwrites an npm-managed install; it now defers to
unity upgradethe same way it defers to apt, rpm, and Homebrew.npm i -g @unity/cli@latest - no longer causes the Editor to open Unity Hub, and the Editor now picks up the account you signed in with.
unity open - commands and Unity Version Control commands now work on a machine that has never run Unity Hub.
unity license - no longer hides upgrades for Apple silicon and Arm Windows Editors, no longer offers an older patch than the newest in the line, and no longer reports prerelease Editors as up to date when a newer prerelease exists.
unity editors upgrade - now finds releases on entitlement-gated lines, such as extended LTS.
unity editors info <version> - now distinguishes an unreachable release service from a version that doesn't exist, retrying briefly and exiting with the new code 7 rather than blaming the version.
unity install <version> - works again on macOS and Linux, and
unity hub installworks again for Hub 3.20.0 and newer.--hub-version - Running a command with no longer leaves root-owned directories that break every later command.
sudo - failures now report the underlying reason instead of a bare
unity install, and interrupted downloads can be resumed withInstallation Failed.--resume - Editor and module downloads are now verified against the release manifest's checksum, including downloads resumed across attempts.
- now writes the config key and file path each AI client actually reads, preserves comments and formatting in the files it edits, and the
unity mcp configureandrun_teststools return as soon as the Editor answers instead of always failing at their poll timeout.recompile - Running a command group without a subcommand now prints its help to stdout and exits 0 instead of reporting a usage error.
- Editor Pipeline commands now work behind an HTTP proxy, and long-running Editor commands no longer hard-fail at 60 seconds.
-
Security
- Values that come from Unity services, user-editable settings, or the licensing client are now sanitized before they're printed, so a crafted value can't smuggle terminal escape sequences into your terminal or forge extra rows in output. This covers table headers and cells, interactive prompt choices,
tsv,unity license status,unity editors default, andunity install-path.unity config proxy - A rejected value shaped like
--proxyno longer echoes the password in the usage error.user:pass@host - on macOS and Linux now refuses an Editor whose stored location resolves to a filesystem root.
unity uninstall - Updated the bundled HTTP client library, which now rejects header values containing CR or LF characters.
- Values that come from Unity services, user-editable settings, or the licensing client are now sanitized before they're printed, so a crafted value can't smuggle terminal escape sequences into your terminal or forge extra rows in
July 23, 2026
1.0.0-beta.3
-
Interactive shell
- Added persistent command history to . 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.
unity shell - Added tab completion to for command names, subcommands, option flags, and option values.
unity shell - Added session context and defaults to :
unity shellanduse project <path>set an active project or organization for later commands, anduse org <id>,set format, andset verboseset default global options for the session.set bannerclears one setting andunset <key>displays the current state.context - Added , a machine mode that runs a framed NDJSON request/response protocol over
unity shell --protocol ndjsonso automated callers and agents can run many commands in one warm process and read one parseable result per command.stdio - Updated piped and scripted sessions to exit with the code of the first failed command instead of always exiting
unity shell.0
- Added persistent command history to
-
Editor and project management
- Added to list running Unity Editor instances with the open project, Editor version, and process ID.
unity editors running - Added to report a project's on-disk size broken down by top-level folder. Use
unity projects size [project]to summarize every registered project, sorted largest first.--all - Added to close the running Editor that has a project open. Use
unity projects close [project]to bound the graceful wait and--timeout <seconds>to terminate the process when it can't exit.--force - Added to remove installed modules from an Editor by module ID.
unity editor module remove - Added as an alias for
unity install <version> --list-components.unity modules list <version> - Added to run a registered
unity run --command <name>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.[CliCommand]
- Added
-
Automation and CI
- Added as a global shorthand for
--jsonon every command.--format json - Added support for the and
UNITY_PROJECT_PATHenvironment variables.UNITY_CLOUD_ORG - Unified flag names across commands: is the canonical flag for a Unity project path and
--project-pathfor a Unity Cloud organization. The previous--cloud-organd--projectspellings keep working as hidden aliases.--org - Added non-interactive support to through the
unity bug,--title,--description,--steps, and--reproducibilityoptions, so you can submit bug reports from scripts and CI.--email - Added the environment variable to suppress the one-time first-run consent prompt without recording a choice.
UNITY_NO_CONSENT_PROMPT - Added terminal-integrated progress reporting through the escape sequence. On Windows Terminal, the taskbar icon fills with download and install progress while
OSC 9;4runs.unity install - Updated the CLI to terminate on with the conventional exit code
SIGTERMinstead of ignoring the signal.143
- Added
-
Installation and updates
- Updated on Linux to install the binary to
install.sh, which is on~/.local/bin/unityby default on most distributions. Re-running the installer migrates an existingPATHinstall.~/.unity - Added publication of the and
.debpackages 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..rpm - Added in-place AppImage updates to , including checksum verification and
unity upgradesupport.--rollback - 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".
- Updated
-
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 to disable reporting entirely.
UNITY_NO_CRASH_REPORT - 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 to render readable log rows instead of raw NDJSON logger lines.
unity doctor
- 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
-
Localization
- Updated to share the Unity Hub's language catalog, with display names derived from CLDR data.
unity language - Updated to accept common spellings of a language code: BCP-47 (
unity lang --set), locale (ja-JP), bare language (ja_JP), or bare region (ja).jp - Fixed non-English locales missing translations for newer commands, so CLI output renders localized instead of falling back to English.
- Updated
-
Security
- Hardened usage errors, the log-archive warning, and
unity bugandunity projects addmachine output against terminal escape-sequence injection.unity projects remove - Added GPG signing to the packages with the published Unity Technologies ApS key.
.rpm
- Hardened usage errors, the
-
Issues fixed
- Fixed on Windows flashing a console window about a second after the command exits.
unity upgrade - Fixed an invalid value being silently ignored. It now fails with a usage error (exit code
--proxy <url>).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 on Linux without
unity auth loginsurfacing 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.xdg-open - Fixed failing with "Not a Unity project" when the project has no
unity open <path> --editor-version <version>file.ProjectSettings/ProjectVersion.txt - Fixed with
unity openstarting a multi-gigabyte Editor download without asking. A terminal session now confirms before installing, and a non-interactive session fails fast instead.--editor-version - Fixed and
unity statusnot detecting a running Editor whose project path contains a space on macOS and Linux.unity pipeline list - Fixed and
unity command evalexitingunity command eval_filewhen the Editor reported a compilation error. They now exit0and print the compiler diagnostics.6 - Fixed reporting failed
unity mcptool calls as successful, and fixedevalbreaking permanently after an Editor script recompile.unity mcp - Fixed stalling for minutes on Windows when antivirus real-time scanning intercepts a freshly installed Editor.
unity editors --installed - Fixed an intermittent crash at exit on Windows right after a command completed successfully.
- Fixed failing with a cross-device link error when the system temporary directory is on a different filesystem than the install directory.
unity upgrade - Fixed handing a corrupt template archive to the Editor. Template downloads are now verified against their published checksum.
unity projects create - Fixed launching a second Editor on Windows when the project path differed only by letter case.
unity run --command - Fixed the package failing to install on minimal Debian and Ubuntu systems by declaring a dependency on
.deb, and fixed the Unity licensing client never installing on Linux systems without theca-certificatesutility.unzip - Fixed opted-out runs sending a single anonymous analytics request in some commands. Consent off now means zero analytics requests.
- Fixed and
unity analytics opt-innot permanently answering the first-run consent prompt when run from a script.unity analytics opt-out
- Fixed
July 16, 2026
1.0.0-beta.2
-
Interactive shell
- Added , an interactive session that boots the CLI once and runs many commands in the same warm process. Enter any command without the
unity shellprefix, and leave withunity,exit, or Ctrl+D. Interactive prompts work inside the shell, and a change made by one command is visible to the next.quit
- Added
-
Proxy diagnostics
- Added 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.
unity diagnose proxy - Added the global flag (or
--log-proxy) to log one redacted entry per outbound request for reproducing proxy issues.UNITY_LOG_PROXY=1 - Fixed part of the CLI's HTTPS traffic bypassing the configured proxy. Sign-in, template and release lookups, , and
unity bugtraffic now route through the same proxy stack as downloads, andunity upgradenow forces a direct connection.--proxy-disable
- Added
-
Unity pipeline package
- Added to upgrade the Unity pipeline package in a project when the registry has a newer version.
unity pipeline upgrade - Added to list every published version of the package, and
unity pipeline list-versionsto install a specific version.unity pipeline install --package-version <version> - Updated to show each project's installed package version and flag when a newer version is available.
unity pipeline list - Added , a discovery command that queries the connected Unity Editor and prints every registered tool with its name, description, group, and parameter schema.
unity list
- Added
-
Editor and module installation
- Added and
--reinstallto-f, --forceto repair modules that are already installed.unity install-modules - Added automatic retries for module downloads that fail intermittently. Tune or disable retries with or
--retries <n>.UNITY_INSTALL_RETRIES - Added (or
--no-elevate) on Windows to skip the elevated (UAC) install helper for user-writable install locations and CI shells.UNITY_NO_ELEVATE=1 - Updated and
unity installto 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.unity install-modules - Added a desktop entry for installed Editors on Linux, so a launched Editor shows the Unity name and icon in the taskbar.
- Added
-
Diagnostics
- Added environment health checks to : whether the
unity doctorbinary's directory is onunity, whether multiplePATHbinaries shadow each other, and whether Windows long-path support is enabled.unity
- Added environment health checks to
-
Installation and updates
- Updated 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.
unity upgrade - Added GPG signing and AppImage-native update information to the Linux AppImage, so third-party updaters can check for and apply CLI updates.
- Updated
-
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 from
--instance <host:port>andunity command. The CLI now always discovers running Editors itself; run from the project directory or passunity mcpto target one.--project-path - Removed the regional display languages Spanish (Latin America), French (Canada), and Portuguese (Portugal) from . Spanish, French, and Portuguese (Brazil) remain available.
unity language - Updated the first-run consent prompt to require an explicit or
yanswer.n
-
Security
- Hardened the Editor and module installers against command injection through the configured install location.
- Updated to verify that the downloaded installer is signed by Unity specifically, instead of accepting any validly signed binary.
unity hub install - Extended escape-sequence hardening to more output surfaces, including and the detail views.
unity projects list
-
Issues fixed
- Fixed the version alias resolving to the newest Supported-stream release instead of the newest Long Term Support (LTS) release.
lts - 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 commands not recognizing service-account sessions, and fixed
unity licensenot returning serial-activated licenses.unity license return - Fixed file sizes printing a literal where the unit belongs.
undefined - Fixed installing the Visual Studio module opening the interactive Visual Studio Installer on Editor versions whose release manifest omits the install command.
- Fixed and
unity templates listsilently falling back to cached template data when the template registry is unreachable. The CLI now prints a warning when it shows cached data.unity templates info - 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 commands exiting with code
unity cloudinstead of6, and aligned operational failures in the cloud and auth commands on exit code3.6 - Fixed interrupted builds exiting with a generic . Interrupting
1now exitsunity buildfor Ctrl+C and130for143.SIGTERM - Fixed failing with a 404 error when the Unity Hub ran in a non-production environment on the same machine.
unity upgrade
- Fixed the
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, andunity doctorread; they're now redacted.unity bug - Fixed detail commands printing nothing under and
--format tsv, including--format ndjson,unity editors info,unity config update-check,unity pipeline install, andunity license activate.unity upgrade --dry-run - Fixed and
unity runmixing the Editor's batch-mode output into machine-readable output. Underunity testand--format json, the Editor's output goes to--format ndjsonso the result is the only thing onstderr.stdout - Fixed dropping its column flags (
unity projects list,-v,--cloud,--editor-version,--vcs,-m) when piped.--pipeline - Fixed flattening dots in the stored template name, which made later lookups by name fail.
unity templates create - Fixed hanging on Windows right after an install when antivirus scanning or a file lock delayed reading the Editor executable.
unity editors --installed - Fixed invalid and
unity upgrade --targetvalues exiting with a generic error code instead of the standard usage-error code.--channel
- 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
June 25, 2026
0.1.0-beta.8
-
AI agent integration
- Added to start a Model Context Protocol (MCP) server, built into the
unity mcpbinary, that exposes the commands of a connected Unity Editor as MCP tools. AI agent clients connect overunityand can list and run those commands.stdio - Added 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.
unity mcp configure <client>
- Added
-
Editor management
- Added to upgrade an installed Editor to the newest official patch in its same
unity editors upgrade [editor]line, carrying the Editor's installed modules over to the new patch. Supportsmajor.minor,--all,--dry-run, and module and architecture flags.--replace - Added an explicit subcommand, matching the
unity editors listverb used by other command groups.list - Added an "Upgrade to" column to that flags installed Editors with a newer patch available in their line.
unity editors list --installed
- Added
-
CLI behavior
- Updated to collect the same diagnostic system information as the Unity Hub bug reporter, including GPU details.
unity bug - 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 to download Git LFS objects after cloning.
unity projects clone - Added a background check for a newer version with an unobtrusive update notice. Turn it off with
unityor theunity config update-check offenvironment variable.UNITY_NO_UPDATE_CHECK
- Updated
-
Issues fixed
- Fixed storing your Git access token in the cloned repository's
unity projects clone..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 not limiting the number of releases returned.
unity releases --limit - Fixed ,
unity analytics, andunity languageprinting nothing underunity config proxyand--format tsv.--format ndjson
- Fixed
-
Removed
- Removed the deprecated alias. Use
unity implodeinstead.unity self-uninstall
- Removed the deprecated
June 16, 2026
0.1.0-beta.7
-
Licensing
- Added (
unity license) to display active Unity licenses on the current machine, including product, license type, organization, and expiration date.unity license list - Added to display licensing status, sign-in state, and active license information.
unity license status - Added to activate licenses through serial, Personal, floating, offline file, or offline request workflows.
unity license activate - Added to return active licenses and free associated seats.
unity license return - Added and
unity license server statusto display floating license server status and availability.unity license server list
- Added
-
Project management and source control
- Added to clone and register Unity projects from GitHub, GitLab, and Unity Version Control repositories.
unity projects clone - Added support for branch, commit, and changeset selection during project cloning.
- Added and
unity projects link vcsto connect or disconnect projects from source control repositories.unity projects unlink vcs - Added source control options to and
unity projects create, including repository visibility, default branch, Git LFS, and Unity Version Control region settings.unity projects link vcs
- Added
-
Hub and Editor management
- Added to install Unity Hub.
unity hub install - Added support for architecture selection, silent installation, version selection, and installer signature verification.
- Added to display the installation path of an installed Editor.
unity editors path <version>
- Added
-
Build automation
- Added Android signing options to , including keystore, signing key, version code, symbol generation, and target SDK configuration.
unity build - 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.
- Added Android signing options to
-
Testing
- Added to run Edit Mode and Play Mode tests through the Unity Editor test runner in batch mode.
unity test [project] - Added support for NUnit XML test reports through the option. The default output file is
--output.test-results.xml - Added support for ,
--mode,--filter,--editor-version,--editor-path,--architecture, and--allow-installoptions.--timeout - Added support for the environment variable.
UNITY_TEST_TIMEOUT - Added exit code when test execution completes but one or more tests fail.
6
- Added
-
CLI behavior
- Added a dedicated log file for Unity CLI.
cli-log.json - Updated ,
unity logs, andunity bugto use CLI-specific logs.unity doctor - Added a branded Unity header for interactive CLI entry points, including ,
unity, andunity help.unity --help - Updated the CLI to display usage information and return exit code when users run
0without arguments.unity
- Added a dedicated
-
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 was not supported by
--format ndjsonandunity projects list.unity modules list - Fixed an issue where could fail with an HTTP 400 error.
unity bug - 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 and
unity doctorto matchunity cloud status.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 to evaluate C# expressions against a connected Unity Editor through the Pipeline server.
unity eval '<expr>' - Added support for human-readable, JSON, TSV, and NDJSON output formats, timeouts, and instance targeting in .
unity eval - Added to display the status of connected Unity Editors, including port, project path, Unity version, process ID, and connectivity.
unity status - Added filtering options for Editor instances and support for automation workflows through structured output and exit codes.
- Added
-
Custom templates
- Added to package existing Unity projects as reusable custom templates.
unity templates create - Added to update custom template metadata.
unity templates edit - Added to remove custom templates.
unity templates delete - Added to view, configure, or reset the custom template storage location.
unity templates location - Added support for filtering templates by type in .
unity templates list
- Added
-
Unity Cloud
- Added to display cloud sign-in status and the active organization.
unity cloud status - Added commands to list, select, and manage Unity Cloud organizations.
- Added to display Unity Cloud projects in the active organization.
unity cloud project list
- Added
-
Project management
- Added support to
--cloudto create and link a Unity Cloud project during project creation.unity projects create - Added support to link a project to an existing Unity Cloud project.
--cloud-project - Added and
unity projects link cloudto manage Unity Cloud project associations.unity projects unlink cloud - Added support for creating projects from archives and directory paths in addition to registered template IDs.
.tgz
- Added
-
Build versioning
- Added and
--versioning-strategyoptions to--build-version.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 is specified.
--allow-dirty-build
- Added
-
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, andunity analytics opt-outcommands to manage telemetry preferences.unity analytics status - 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 to view, configure, or clear proxy settings.
unity config proxy - Added proxy diagnostics to and
unity doctor.unity env - Added to bypass proxy settings for a single command invocation.
--proxy-disable
-
CLI behavior
- Standardized command naming to across the CLI, documentation, and shell completions.
unity <command> - Updated to report actual session state through the Session Service.
unity auth status - Improved Windows upgrade messaging to provide clearer post-upgrade guidance.
- Standardized command naming to
-
Issues fixed
- Fixed an issue where could become stuck when resuming a corrupted partial download.
unity install - Fixed an issue where concurrent commands could corrupt shared installation data.
unity install - Fixed an issue on Windows where Visual Studio modules could incorrectly appear as already installed.
- Fixed an issue where did not reliably remove stored credentials.
unity auth logout - Fixed interactive prompts on Windows for module installation confirmation and architecture selection.
- Fixed an issue where did not correctly forward
unity opento the Unity Editor on Windows.--args - Fixed validation and error handling for .
unity --instance host:port - Fixed support for and
--format tsvin--format ndjson.unity editors - Fixed an issue where unattended installations using could fail.
unity install --accept-eula --non-interactive - Fixed template command error handling when no default Editor is configured.
- Fixed structured output from when no reachable Editor instances are available.
unity status - 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.
- Fixed an issue where
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 and
UNITY_SERVICE_ACCOUNT_IDare set.UNITY_SERVICE_ACCOUNT_SECRET - Added support for unattended authentication workflows in CI environments and automation scenarios.
- Updated to clear both service account and OAuth credentials.
unity auth logout - Added a warning when only one of or
UNITY_SERVICE_ACCOUNT_IDis configured.UNITY_SERVICE_ACCOUNT_SECRET
- Added support for Unity service account authentication in
-
Unity Pipeline
- Added (
unity pipeline install) to install the Unity Pipeline package into a Unity project.unity pipe install - Added automatic project detection for pipeline installation and support for the and
--project-pathoptions.--ssh - Added (
unity pipeline list) to display Unity Editor instances and Pipeline package status.unity pipe list - Added (
unity command,unity cmd) to execute commands against connected Unity Editor instances or list available commands.unity request
- Added
-
Editor installation and management
- Enhanced to recover orphaned partial downloads that result from interrupted installations.
unity install --resume - Added module discovery support with and
unity installfor Editors registered withunity install-modules.unity editors add <path> - Added support for module discovery on Editors that Unity Hub did not install.
- Enhanced
-
Output and integration
- Added a field to NDJSON progress output for
phase: 'download' | 'install'andunity installto distinguish download and installation phases.unity install-modules - Improved NDJSON output and CLI progress reporting by grouping module progress under the parent Editor installation.
- Added a
-
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 reset progress from 100 percent to 0 percent during installation.
unity install - Fixed an issue where could hang indefinitely when the release feed was unavailable, such as on split-tunnel VPN connections.
unity editors --installed - Fixed an issue where could hang when the target Editor was already installed.
unity install --resume - Fixed orphaned download discovery to detect partial downloads under all supported interruption scenarios.
- Fixed an issue on Windows where could incorrectly report that an Editor was already installed immediately after uninstalling it.
unity install - Fixed an issue where and
unity install -mdid not correctly process multiple space-separated module values after a singleunity install-modules -mflag.-m
- Fixed an issue where NDJSON progress output for
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 to generate a diagnostic snapshot that includes platform information, CLI version, installation path, log directory, authentication status, installed Editors, and recent log entries.
unity doctor - Added to generate shell completion scripts.
unity completion <bash|zsh|fish|powershell> - Added to display environment variables used by Unity CLI and Unity Hub.
unity env - Added to view and follow Unity Hub log files.
unity logs - Added to display detailed metadata for an installed Editor.
unity editors info <version> - Added to list available Unity releases from the release feed.
unity releases - Added to display available modules for an Editor version.
unity modules list <version> - Added and
unity templates listto list project templates and view template details.unity templates info <id>
- Added
-
Editor management and installation
- Added to register an existing Editor installation with Unity Hub.
unity editors add <path> - Added to get or set the default Editor.
unity editors default [<version>] - Added to get or set the Editor installation path.
unity editors install-path [<path>] - Added commands to list and install modules for an installed Editor.
- Added to preview Editor installations.
unity install --dry-run - Added to reinstall an Editor that is already installed.
unity install --force - Added to resume interrupted downloads from the local cache.
unity install --resume - Added to preview module installations.
unity install-modules --dry-run - Added prompts to accept module license agreements before downloading modules.
- Added and
unity cache infoto view and manage the download cache.unity cache clean
- Added
-
Project management
- Added to open a project by using a fuzzy-matched project name when no exact path is provided.
unity projects open [<query>] - Added to create projects non-interactively for scripts and CI workflows.
unity projects new <name> --template <id> --editor-version <version> - Added and
unity projects pin <pattern>to manage favorite projects.unity projects unpin <pattern> - Added and
unity projects exportto export and import project lists in JSON format.unity projects import - Added to display Editor, module, and cloud information for a project.
unity projects info <path> - Added to upgrade a project to a different Editor version.
unity projects upgrade [<path-or-name>] --to <version> - Added to verify that required modules are installed for a project.
unity projects require <module>... - Added automatic Editor version detection for ,
open, andinstallwhen no version is specified and the current working directory contains a Unity project.uninstall
- Added
-
CI and automation
- Added to execute projects in batch mode, stream logs, and return the Editor exit code.
unity run - Added NDJSON progress output for long-running commands, including and
unity build.unity projects new
- Added
-
Output and integration
- Added a standardized JSON output envelope that includes ,
success,command,data, anderrors.warnings - Added the output format for streaming progress updates from long-running commands.
ndjson - Added documentation for the output format alongside
tsvandhuman.json - Added global ,
--non-interactive, and--quietoptions.--no-banner - Added and
-yoptions for commands that require confirmation.--yes - Added and
-woptions to keep Editor and project lists updated automatically.--watch - Added environment variables that mirror global CLI options, including ,
UNITY_FORMAT,UNITY_QUIET, andUNITY_NO_BANNER.UNITY_NON_INTERACTIVEremains supported as an alias forHUB_FORMAT.UNITY_FORMAT - Added searchable version selectors for interactive workflows.
- Extended exit code support to include authentication, network, conflict, usage, and command-specific errors.
- Added a standardized JSON output envelope that includes
-
Platform and extensibility
- Added as a shorthand command to launch an Editor with an optional project path.
unity <version> [path] - Added plugin discovery for executables named , which Unity CLI exposes as
unity-<name>.unity <name> - Added to remove the CLI binary, environment files, and stored credentials.
unity self-uninstall - Added to launch the Unity Hub bug reporter or create a structured bug report.
unity report-bug - Added to restore the previously installed CLI version.
unity upgrade --rollback
- Added
-
CLI behavior
- Deprecated in favor of
unity implode.unity self-uninstall - Updated automatic update checks to run in the background without blocking command execution.
- Enhanced to display version aliases, identify the default Editor, and resolve installation paths.
unity editors list - Improved for remote and headless environments by displaying the sign-in URL before attempting to launch a browser.
unity auth login - Added authentication progress events to JSON output so automation tools can capture sign-in URLs programmatically.
- Deprecated
-
Issues fixed
- Fixed an issue where could fail to start the sign-in flow after a fresh installation.
unity auth - Fixed an issue on Windows where removed query parameters from the OAuth callback URL, which could prevent sign-in from completing.
unity auth - Fixed an issue on Windows where could fail to replace the CLI binary.
unity upgrade - Fixed issues in related to project name lookups, confirmation prompts, and short version aliases.
unity projects upgrade - Fixed an issue where did not expand short major-version aliases.
unity editors info - Fixed issues in that prevented correct handling of invalid Editor versions, version aliases, and ambiguous version matches.
unity install-modules - Fixed an issue where reported incorrect download sizes when the Editor was already installed.
unity install --dry-run - Updated to accept a project name in addition to a project path.
unity projects require - 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 to improve scripting and output redirection.
stderr - 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
- Fixed an issue where
April 24, 2026
0.1.0-beta.3
- Fixed an issue where ,
unity install, andunity install-modulesfailed with a service resolution error after a fresh installation.unity auth - Fixed an issue on Linux where the CLI used for Hub data. The CLI now reads and writes Hub data in
~/.local/share/unityhub, which matches the Unity Hub location and keeps projects, Editors, and preferences synchronized between the CLI and Unity Hub.~/.config/unityhub
April 23, 2026
0.1.0-beta.2
- Added 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
unity implodeflag and only works on a CLI installed using the official installer.--yes - Added to create a Unity project from the CLI.
unity projects create - Added to display the release notes for the installed CLI.
unity changelog - Added to preview release notes for an update without installing it.
unity upgrade --changelog - Added to upgrade to a specific published version instead of the latest version in your channel.
unity upgrade --target <version> - Added interactive which shows release note previews for the target version before confirmation.
unity upgrade
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 or .
install.shinstall.ps1- Authentication: Added with secure token storage in the operating system keychain:
unity auth- Keychain on macOS
- Credential Manager on Windows
- libsecret on Linux
- Editor management: Added the following commands:
- ,
unity editors,unity install,unity uninstall, andunity install-modulesunity install-path - Supports Editor version aliases
- Installs Editor versions with or without a changeset
- Project management: Added the following commands:
- to list, add, remove, and create projects
unity projects - to open a project
unity open <path> - Supports bare-path syntax, such as
unity ./MyProject
- Upgrade management: Added . Automatically selects the appropriate update channel based on the installed version (stable or prerelease).
unity upgrade - Localization: Added the command.
unity language- Added support for 13 locales
- Output formats: Added the global flag for machine-readable output. Suppresses the interactive banner for JSON and TSV output and when output is piped.
--format <human|json|tsv> - Verifiable downloads: Added SHA-256 checksums for all platform binaries