OpenUPM is an open-source service for hosting and building open-source Unity Package Manager (UPM) packages. The goal is to provide a universal place to discover, distribute, and share open-source UPM packages, and to build a community around that ecosystem.
OpenUPM is composed of two main service areas:
- A managed scoped package registry for hosting UPM packages.
- Automatic build pipelines that track, build, and publish UPM packages from Git tags.
DISCLAIMER: OpenUPM is an open-source service, not an official service provided by Unity Technologies Inc.
Learn more in the OpenUPM documentation.
This repository contains the curated OpenUPM package data and owns the CI gate
that verifies data changes. Application code, website code, API services, jobs,
and shared validator implementation live in
openupm/openupm-next.
data/packages/*.yml: curated package manifestsdata/*.yml: shared metadata such as sponsors, backers, built-in packages, topics, and blocked scopestest/data-packages.js: data validation test wrapper that runs the shared validator fromopenupm-next
npm install
npm testor run only the validation target:
npm run test:dataThe test expects a built openupm-next checkout next to this repository, or an
OPENUPM_NEXT_PATH environment variable pointing to one. GitHub Actions checks
out and builds openupm-next before running the data test.
OpenUPM is an independent project with ongoing development made possible by sponsors, backers, and contributors. If you'd like to support the project, please consider:
| Sub-project | Description |
|---|---|
| openupm.com | Website, documentation, and package discovery |
| package.openupm.com | UPM registry |
| openupm/openupm | Curated package data and data validation |
| openupm/openupm-next | Website, API, jobs, and shared packages |
| openupm/openupm-pipelines | Package build and publish pipelines |
| openupm/openupm-cli | Command-line tool |
OpenUPM also uplinks org.nuget scoped packages to the OpenUPM-hosted
UnityNuGet registry at https://unitynuget-registry.openupm.com, a hosted
project based on bdovaz/UnityNuGet.
OpenUPM's Code of Conduct applies to this repository.
Bug reports and feature requests are welcome as issues. Please search existing and closed issues before opening a new one. Unsolicited pull requests to fix bugs or implement feature requests are not accepted unless a maintainer explicitly invites them.
You can also:
- Read the blog at openupm.com/blog
- Discuss ideas in GitHub Discussions
- Chat on Discord
- Contact the maintainers at hello@openupm.com
- Track package updates with the RSS feed
- Source code licensed under BSD-3-Clause
- OpenUPM website and public registry terms of use
- Code of conduct
See https://openupm.github.io/upptime/ for public uptime monitoring and https://openupm.com/queue/ for package scan and release queue status.
Pushes to master run data validation in GitHub Actions. After validation
passes, the website is scheduled to rebuild with the updated package data,
usually within 30 minutes.