Skip to content
openupm command line interface for upm registry
JavaScript
Branch: master
Clone or download
semantic-release-bot chore(release): 1.5.2 [skip ci]
## [1.5.2](1.5.1...1.5.2) (2020-01-12)

### Bug Fixes

* refs [#2](#2) openupm search broken on CMD ([50eb8cb](50eb8cb))
Latest commit 0539387 Jan 12, 2020
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/workflows fix(ci): limit @semantic-release/git version Jan 10, 2020
bin feat: command add Dec 1, 2019
lib fix: refs #2 openupm search broken on CMD Jan 12, 2020
test fix: #1 command add resolves all dependencies to add to scope registry Jan 8, 2020
.eslintignore feat: command add Dec 1, 2019
.eslintrc.js
.gitattributes feat: command add Dec 1, 2019
.gitignore fix: ignore vscode settings Dec 2, 2019
.npmignore add: .npmignore Dec 7, 2019
.releaserc.json fix(ci): ci should commit changes of package.json Jan 10, 2020
CHANGELOG.md chore(release): 1.5.2 [skip ci] Jan 12, 2020
LICENSE Initial commit Nov 30, 2019
README.md
index.js add: dummy index.js Dec 7, 2019
package-lock.json fix(ci): limit @semantic-release/git version Jan 10, 2020
package.json chore(release): 1.5.2 [skip ci] Jan 12, 2020

README.md

openupm-cli

npm NPM npm

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.

How it works

The command line tool installs the 3rd-party registry as a scoped registry, and maintains the Packages/manifest.json file when adding/removing packages. If the manifest file is modified, the Unity Package Manager will detect the changes and try to resolve the package dependencies.

Notice: the command line tool does not directly install/uninstall package tarballs, at least for now.

Installation

Required nodejs 12, then

npm install -g openupm-cli

If you prefer yarn, then

yarn global add openupm-cli

Windows platform troubleshooting

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

Commands

Add packages

openupm add <pkg> [otherPkgs..]
openupm add <pkg>@<version>
openupm add <pkg>@git@github.com:...
openupm add <pkg>@https://github.com/...
openupm add <pkg>@file:...

The package itself and all dependencies that exist in the registry will be served by the scope registry.

Notice: openupm will not verify package or resolve dependencies for git, https and file protocol.

Remove packages

openupm remove <pkg> [otherPkgs...]

Search packages

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.

Due to the fact that upstream unity registry doesn't support search endpoint as of December 2019, the search command will only query the current registry.

View package information

openupm view <pkg>

View package dependencies

open deps <pkg>

Using option --deep to view dependencies recursively

open deps <pkg> --deep

Command options

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 ...

Work with unity official (upstream) registry

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: com.unity.addressables@1.4.0                # from unity registry
added: com.littlebigfun.addressable-importer@0.4.1 # from openupm registry
...
You can’t perform that action at this time.