Git Product home page Git Product logo

upmgitextension's Introduction

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 

Install via UPM (using Git URL)

Navigate to your project's Packages folder and open the manifest.json file. 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.1.0",



๐Ÿš€ 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

upmgitextension's People

Contributors

mob-sakai avatar semantic-release-bot avatar andrewcarvalho avatar chikacc avatar jzapdot avatar laicasaane avatar github-actions[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.