The command line tool to maintain the Unity manifest file for 3rd-party upm registries, offering a similar but lighter experience like npm or yarn for NodeJS.
The tool is designed to work with the OpenUPM registry, but can also work with any upm registries, including the official unity registry.
The cli adds the 3rd-party registry as a scoped registry, and maintain the scopes and dependencies fields when adding/removing packages. If manifest file is modified, unity package manager will detect it and try to resolve the changes.
Notice that the cli does not directly resolve dependencies or install/uninstall package tarballs, at least not for now.
Required nodejs 12, then
npm install -g openupm-cli
If you prefer yarn, then
yarn global add openupm-cli
If npm is not available in your cmd/powershell/git-bash, please configure your environment variables.
# for npm
c:\Program Files\nodejs
# for npm global bin
C:\Users\{yourName}\AppData\Roaming\npm
openupm add <pkg> [otherPkgs..]
openupm add <pkg>@<version>
openupm add <pkg>@[email protected]:...
openupm add <pkg>@https://github.com/...
openupm add <pkg>@file:...
Notice: openupm will not verify package name for git, https and file protocol.
openupm remove <pkg> [otherPkgs...]
openupm search <keyword>
If the registry doesn't support the new search endpoint, it will fall back to old /-/all
endpoint. If no package was found, it will search unity official registry instead.
However the search behavior may still performance various for different registries. As of December 2019, unity official registry won't return any results unless the full package name was provided. Make it useless.
openupm view <pkg>
open deps <pkg>
Using option --deep
to view dependencies recursively
open deps <pkg> --deep
The cli assumes current working directory (cwd) is the root of an Unity project (the parent of Assets
folder). However you can specify the cwd.
openupm --chdir <unity-project-path>
Specify other 3rd-party registry (defaults to openupm registry)
openupm --registry <registry-url>
i.e.
openupm --registry http://127.0.0.1:4873
Turn off unity official (upstream) registry
openupm --no-upstream ...
Turn on debug logging
openupm --verbose ...
Most commands can fallback to unity upstream registry if necessary, to make it easier to mix official registry with 3rd-party registry. i.e.
$ openupm add com.unity.addressables com.littlebigfun.addressable-importer
added: [email protected] # from unity registry
added: [email protected] # from openupm registry
...