Skip to content

This package extends the UI of Unity Package Manager (UPM) for the packages installed from git repository.

License

Notifications You must be signed in to change notification settings

mob-sakai/UpmGitExtension

UPM Git Extension

This package enhances the user interface (UI) of the Unity Package Manager (UPM) specifically for packages installed from a git repository.


PRs Welcome

<< πŸ“ Description | βš™ Installation | πŸš€ Usage | πŸ›  Development Note | 🀝 Contributing >>

πŸ“ Description

In Unity 2018.3, the Unity Package Manager (UPM) introduced Git support, providing a convenient way to install packages from code hosting services such as GitHub. However, certain limitations and shortcomings were identified, including:

  • Incorrect links to documents (readme, changelog, license)
  • Lack of a direct link to the repository URL
  • Limited functionality for adding, updating, and removing packages through the UI

This project addresses these issues by extending the UI of the Unity Package Manager for packages installed using Git.

Features

  • Direct link to the Git repository URL
  • Links to offline documents, including:
    • Documentations
    • Changelog
    • License
  • Support for various Git hosting platforms such as GitHub, GitLab, Bitbucket, Azure DevOps, etc.
  • Installation of packages from Git repository URLs using the UI
  • Updating packages with a specific tag/branch
  • Removing packages
  • Compatibility with Unity 2018.3 or later
  • Support for .Net 3.5, .Net 4.x, and .Net Standard 2.0
  • Version filtering
  • Support for path query parameters (for Unity 2019.3.4f or later)
  • (Version 2.0.0) Git repositories are cached, and installed/searched packages are automatically indexed:
    • Cached repositories are shared between different projects
    • Cached repository URLs are displayed as history in the installation window
    • Indexed packages are shown in My Registries
  • (Version 2.0.0) Additional menu options to open manifest.json with a code editor, open the cache directory, clear the cache, and fetch packages:



βš™ Installation

This package requires as following:

  • v1.x: Unity 2018.3 to 2019.4
  • v2.x: Unity 2020.1 or later

Install via OpenUPM

  • This package is available on OpenUPM package registry.
  • This is the preferred method of installation, as you can easily receive updates as they're released.
  • If you have openupm-cli installed, then run the following command in your project's directory:
    # for Unity 2020 or later
    openupm add com.coffee.upm-git-extension
    # for Unity 2018 or 2019
    openupm add com.coffee.upm-git-extension@v1
    
  • To update the package, use Package Manager UI (Window > Package Manager) or run the following command with @{version}:
    openupm add [email protected]
    

Install via UPM (with Package Manager UI)

  • Click Window > Package Manager to open Package Manager UI.
  • Click + > Add package from git URL... and input the repository URL: https://github.com/mob-sakai/UpmGitExtension.git
  • To update the package, change suffix #{version} to the target version.
    • e.g. https://github.com/mob-sakai/UpmGitExtension.git#2.2.0

Install via UPM (Manually)

  • Open the Packages/manifest.json file in your project. Then add this package somewhere in the dependencies block:

    {
      "dependencies": {
        // for Unity 2020 or later
        "com.coffee.upm-git-extension": "https://github.com/mob-sakai/UpmGitExtension.git",
        // for Unity 2018 or 2019
        "com.coffee.upm-git-extension": "https://github.com/mob-sakai/UpmGitExtension.git#v1",
        ...
      }
    }
  • To update the package, change suffix #{version} to the target version.

    • e.g. "com.coffee.upm-git-extension": "https://github.com/mob-sakai/UpmGitExtension.git#2.2.0",

Install as Embedded Package

  1. Download the Source code (zip) file from Releases and extract it.
  2. Move the <extracted_dir>/Packages/src directory into your project's Packages directory.
    • You can rename the src directory if needed.
    • If you intend to fix bugs or add features, installing it as an embedded package is recommended.
    • To update the package, re-download it and replace the existing contents.



πŸš€ Usage

Install a Package from a Git Repository

Click giticon button in the package manager UI to open the Install Package Window.

  1. Input a git repository URL and click the Find Versions button. In Unity 2019.3.4 or later, you can specify a subdirectory.

  2. Select a tag or branch and click the Find Package button.

  3. Wait a few seconds for validation.

  4. Click the Install Package button to install the package.

Update Package with a Specific Tag or Branch as Version

You can update or remove the package in your project, just as you would for official packages.



πŸ›  Development Note

Develop a package for UPM

See https://www.patreon.com/posts/25070968, https://www.jianshu.com/u/275cca6e5f17 (Chinese)



🀝 Contributing

Issues

Issues are incredibly valuable to this project:

  • Ideas provide a valuable source of contributions that others can make.
  • Problems help identify areas where this project needs improvement.
  • Questions indicate where contributors can enhance the user experience.

Pull Requests

Pull requests offer a fantastic way to contribute your ideas to this repository.
Please refer to CONTRIBUTING.md and develop branch for guidelines.

Support

This is an open-source project developed during my spare time.
If you appreciate it, consider supporting me.
Your support allows me to dedicate more time to development. 😊




License

  • MIT

Author

See Also

About

This package extends the UI of Unity Package Manager (UPM) for the packages installed from git repository.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks