Skip to content

Latest commit

 

History

History
62 lines (45 loc) · 2.89 KB

README.md

File metadata and controls

62 lines (45 loc) · 2.89 KB

Originer

The package for Unity3d after the addition of which makes it possible to automatically resolve and enable the "Unity package manager" system dependencies on projects located on Github.

The essence of the problem

Unity package manager allow include packages from git repositories together with default upm repository.

It looks like this:
./Packages/manifest.json

{
  "dependencies": {
    "bindingrx": "https://github.com/k0dep/bindingrx.git#2.1.1",
    "com.unity.package-manager-ui": "2.1.2",
    "com.unity.some-default-packages-from-upm": "1.0.0"
  },
}

This feature is described in the UPM dedicated UPM forum.

But if the BuindingRx package will have dependencies on the packages not added to manifest.json inside it, this will result in Unity not resolving this dependency.

This problem can be solved with the help of scoped registries. This feature is described in this thread.

But this method requires certain package naming (the package must have a certain prefix, for example com.unity.*) And deploy its own solution for storing and distributing npm packages, for example Verdaccio, which is not a convenient solution for small and/or open source projects.

This package solve this issue. If the project has the Originer package in dependencies, then after starting the unity, the package will try to find unresolved dependencies in the installed projects, try to find them in Github according to certain rules described below and install them in manifest.json

Repository requirements

  • In order for Originer to be able to find your repository in github as a dependency and successfully include it in the proget, you need to add a repository with a topic named upm-package
  • The repository should be named the same as the package name.

Еxamples of repositories as packages:

Full list of available repositories for use as upm package by Originer

More about Github topics

Using

For start using this package add lines into ./Packages/manifest.json like next sample:

{
  "dependencies": {
    "originer": "https://github.com/k0dep/originer.git"
  }
}

After this step, just add your package in ./Packages/manifest.json and open Unity editor. Originer will ask you for permission to make changes to manifest.json. Enjoy!