OpenUPM - Open Source Unity Package Registry
Introduction
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
- Automatic build pipelines that track, build, and publish UPM packages from
DISCLAIMER: OpenUPM is an open-source service, not an official service
provided by Unity Technologies Inc.
Learn more in the OpenUPM documentation.
Repository role
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.
Contents
data/packages/*.yml: curated package manifestsdata/*.yml: shared metadata such as sponsors, backers, built-in packages,
test/data-packages.js: data validation test wrapper that runs the shared
openupm-next
Validate data
npm install
npm test
or run only the validation target:
npm run test:data
The 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.
Sponsors and backers
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:
Ecosystem
| 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 bdovaz/UnityNuGet.
Community and contributions
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 [email protected]
- Track package updates with the RSS feed
Terms and license
- Source code licensed under BSD-3-Clause
- OpenUPM website and public registry terms of use
- Code of conduct
Status
See
Production data deploy
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.