See which installed Unity packages are Git submodules and where your packages come from, directly in Unity's Package Manager.
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.
- 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.
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.githubpackagemanagerUse 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.
- Open Window > Package Management > Package Manager.
- Look for Submodule labels on installed package submodules.
- Choose Sources > GitHub for installed GitHub packages.
- Select an installed package and use Repository in its links row to open the repository when the link is available.
- 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.
- Review the resulting
.gitmodulesand 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.
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.
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.
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.
- Installation and compatibility
- User guide
- Troubleshooting
- Architecture and safety model
- Roadmap
- Changelog
- Contributing
- Support
Distributed under the MIT License. See Third Party Notices, NOTICE.md, and AUTHORS.md for attribution.
![]() |
![]() |
|---|---|
| Cave Expedition | Big Boy Boxing |
Made a game using this package? Email martin.calander@gmail.com to have it added to the showcase.


