UPM Git Extension
This package enhances the user interface (UI) of the Unity Package Manager (UPM) specifically for packages installed
from a git repository.
<< ๐ 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.jsonwith 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 com.coffee.upm-git-extension@2.2.0
Install via UPM (with Package Manager UI)
- Click
Window > Package Managerto 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
- e.g.
Install via UPM (Manually)
-
Open the
Packages/manifest.jsonfile in your project. Then add this package somewhere in thedependenciesblock:{ "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",
- e.g.
Install as Embedded Package
- Download the
Source code (zip)file from Releases and
extract it. - Move the
<extracted_dir>/Packages/srcdirectory into your project'sPackagesdirectory.
- You can rename the
srcdirectory 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.
- You can rename the
๐ Usage
Install a Package from a Git Repository
Click 
button in the package manager UI to open the Install Package Window.


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

-
Wait a few seconds for validation.
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
- GitHub page : https://github.com/mob-sakai/UpmGitExtension
- Releases : https://github.com/mob-sakai/UpmGitExtension/releases
- Issue tracker : https://github.com/mob-sakai/UpmGitExtension/issues
- Current project : https://github.com/mob-sakai/UpmGitExtension/projects/1
- Change log : https://github.com/mob-sakai/UpmGitExtension/blob/main/CHANGELOG.md





