Skip to content

About

Github Package Manager for Unity. Installed package sources and safe Git submodule management in the native Package Manager.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

138 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Github Package Manager for Unity

Github Package Manager

See which installed Unity packages are Git submodules and where your packages come from, directly in Unity's Package Manager.

Sanity Checks Published release Editor only MIT License

main provides installed package status and sources, plus direct submodule installation, update, and removal in Package Manager. The previous manager, including remote discovery and conversion workflows, is preserved on legacy.

What You Get

  • Submodule labels for installed package submodules.
  • Repository as the first link beside Unity's Documentation, Changelog, and Licenses links when a safe repository URL is available.
  • Sources > GitHub for the project's installed GitHub submodules and UPM Git dependencies, using Unity's native package list, search, and selection.
  • + > Install package as Git submodule... to install from a Git repository URL.
  • Manage > Update to move a clean submodule package to the latest commit on its tracked branch and stage the new gitlink.
  • Window > Package Management > Update Git Packages to fetch the newest commit of every Git dependency in the project manifest and report what moved.
  • Submodule removal that removes the package and its Git registration together, while protecting local changes and unpublished commits.

Review the resulting project changes in your Git client. Status shows how a package is installed; it does not indicate whether local changes are committed, pushed, or up to date.

Install the Current Version

In Window > Package Management > Package Manager, choose + > Install package from git URL... and enter:

https://github.com/martincalander/GithubPackageManager.git#main

The Git URL follows the current main branch. Local checkouts and submodule installations are covered in the installation guide.

Version 0.9.0 introduces the renamed package and simplified workflow. Signed archives are available from GitHub Releases. The OpenUPM rename request updates the package ID, repository, cover, and old-page redirect. Once that request is merged and the registry has published the archive, install with:

openupm add com.martincalander.githubpackagemanager

Use the Git URL above while registry publication is pending.

Existing 0.8.1 downloads and the legacy bootstrap contain the earlier workflow under the old package name. Follow the migration instructions when updating an existing installation.

The old bootstrap installer is preserved on legacy. Current main uses standard UPM installation and no longer builds a separate installer.

Use It

  1. Open Window > Package Management > Package Manager.
  2. Look for Submodule labels on installed package submodules.
  3. Choose Sources > GitHub for installed GitHub packages.
  4. Select an installed package and use Repository in its links row to open the repository when the link is available.
  5. Use + > Install package as Git submodule... with a repository URL to add a package, or select an installed submodule and use Manage > Update or Remove.
  6. Review the resulting .gitmodules and gitlink changes in your Git client.

Package status and the GitHub source read local installed state. They do not browse your GitHub account, contact GitHub, or require GitHub CLI or account setup. An empty GitHub list is expected when no installed package uses GitHub. The Repository link uses the same cached installed state and adds no remote checks.

Editor Overhead

The extension has no continuous window scan or remote discovery. Closing Package Manager releases its status observers and scheduled attachment work, cancels an active local read, and stops its update callback when that read drains. While open, it checks Git metadata every two seconds; ordinary asset edits do not trigger Git reads, and unchanged status does not rebuild package views. Background refreshes reuse unchanged Git metadata after content and repository identity checks, reducing repeated Git process launches.

Native integration checks are cached, sidebar icons use 64-pixel imports, and the unused Newtonsoft dependency has been removed. Measurements show lower allocation and icon-memory costs; isolated startup measurements did not establish a meaningful Editor launch speedup. See the performance measurements.

Unity Compatibility

See the verification records for the exact commits, Unity versions, platforms, and checks exercised locally. These records distinguish prior status-view validation from subsequent feature changes.

The compatibility gate retains exact Unity 6000.3.22f1, 6000.5.*f1 final releases, exact 6000.6.0f1 and 6000.6.2f1, exact 6000.7.0b1 and 6000.7.0b2 betas. All 7000.0.0a* alpha revisions are eligible when * is a positive integer without leading zeros. Each native feature still checks its required Package Manager APIs at runtime and stays disabled if they have changed. This avoids a package update solely to recognize the next alpha number; it does not establish that every alpha has been tested. Other version families remain unsupported. The package is Editor-only.

Moving from the Earlier Manager

The legacy branch preserves the former main and its fuller management workflow. Existing v0.8.1 releases remain available. Switching to the simplified version leaves your installed packages in place, but removes the previous management actions.

Finish pending operations before switching and retain any recovery files until you have inspected them. See the migration guidance and legacy documentation.

Documentation

License

Distributed under the MIT License. See Third Party Notices, NOTICE.md, and AUTHORS.md for attribution.

Games Made Using This Package

Cave Expedition Steam capsule Big Boy Boxing Steam capsule
Cave Expedition Big Boy Boxing

Made a game using this package? Email martin.calander@gmail.com to have it added to the showcase.

About

Github Package Manager for Unity. Installed package sources and safe Git submodule management in the native Package Manager.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages