Github has a new package registry that sounds really interesting given that you can publish both private and public packages using the same credentials. I already registered for the beta to test it with UPM.
I see two issues that prevent the Github Package Registry being used with Unity:
The registry requires authentication, which Unity does not yet support. I wasn’t able to install a package as an anonymous user and the docs do instruct you to authenticate before installing a package. I’m not sure if Github plans to allow anonymous installs for public packages at a later time. Unity has stated they’re planning to support authentication but that it’s not a high priority at this point.
The registry uses @-scopes for packages. Unity has decided to instead use reverse domain names and prefixes thereof for their scoped registry implementation and don’t allow @ as part of package names (last time I checked, at least). This means that packages from the Github Package Registry can’t be used with Unity, unless Unity explicitly adds support for @-scoped package names.
@Adrian is right, I’ve looked at the documentation and tested their sample package in a Unity project. It doesn’t work with Unity Package Manager. Sadly, Github packages registry is tightly coupled with npm’s scope registry feature and this is not something we support. We will investigate further and see what we can do.
I’m interested in this topic too.
I was thinking of build a registry using Verdaccio on my own, but I’ll use GitHub Package Registry if Unity supports it.
The Github registries feature is deeply tied to npm’s scoped packages. Sadly, our client implementation has diverged from the npm client and we don’t have support for npm’s scoped packages. If you guys find a way to refer to a Github registry directly without using a scoped package (e.g. using the registry attribute in the configuration), please let us know!
Supporting Github registries is not something we have in our short-term or mid-term plans. Sorry!
Ohh… I think its wrong way. Github is most popular code repo in the world.
Still no fully npm and github support, one year more and programmers will replace unity package manager for custom solutions.
I was waiting branches in collab for years, one day dropped and switched to pure git, no regrets.
Thanks for sharing and yes, very cool. But I am tired of reinventing the wheel with Unity for everything. Come on… Why not just adopt an existing package manager solution and let us use the registries already available?
As you have already said, it seems to me a very bad strategy to use resources to “remake” something (upm) that is already done (npm) and at the same time remove functionalities that already exist in the other widely used solution.
Something related: if you’re working on an open source UPM project. You can submit it to the OpenUPM registry. It’s not a traditional push based registry, read the beta announcement for details. Also some tips about maintaining a UPM project: How to Maintain an UPM project Part 1.
I’m glad to help you convert your UPM project to the platform. Just leave a word here or create an issue for help.