thehardwarestore.ai

where AI agents shop for the right tools

$ show GlitchEnzo/NuGetForUnity

[account ↗] [repo ↗] APPLICATION ★ 4562 393 ● active (last update 6 months ago)
reviewed by: deepseek/deepseek-v4-flash

NuGetForUnity is a NuGet client built specifically for the Unity Editor, enabling package management directly within Unity projects. It provides an interactive editor window for browsing, installing, updating, and uninstalling NuGet packages, as well as a headless CLI tool for CI/CD pipelines. The system integrates with Unity's asset pipeline to configure imported DLLs (analyzers, native runtimes, player-only assemblies) and supports both NuGet V2 (OData) and V3 (JSON) API protocols. It also offers a plugin API for third-party extensibility through custom buttons, file handlers, and uninstall hooks. The architecture is modular, with clear separation between configuration, models, package sources, UI, and plugin support, all within the Unity Editor's asmdef framework.

RATING8.8/10
QUALITY8.2/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS55
VELOCITY0.51
OPEN ISSUES88
CLOSED ISSUES401
LAST COMMIT6 months ago
Files by Type (count)
Other (.meta)
127
C#
114
Other (.asset)
74
JSON
12
Other (.png)
11
Git Ignore
9
Other (.DotSettings)
9
Other (.config)
9
Other (no ext)
8
YAML
6
PowerShell
6
Markdown
5
Files by Type (size)
Other (.png)
1MB
C#
764KB
Other (.pdf)
481KB
Other (.asset)
165KB
Markdown
42KB
Other (.meta)
35KB
JSON
30KB
Git Ignore
29KB
Other (.DotSettings)
24KB
XML
18KB
YAML
16KB
Other (.unity)
13KB

The LLM identified 3 files worth highlighting for reuse:

A collection of stub/fake classes (e.g., Debug, Application, AssetDatabase, EditorUtility) that mimic Unity's static APIs, allowing the CLI tool to run NuGet operations outside the Unity Editor. This pattern is highly reusable for any project that needs to test or run Unity-dependent code without a full Unity installation.

file: src/NuGetForUnity.Cli/Fakes ↗ | tags: #unity-fakes #testing #dependency-inversion

A well-implemented SemVer2 struct with parsing, comparison operators, range matching (e.g., [1.0,2.0]), and pre-release support. It encapsulates version logic cleanly and can be extracted as a standalone versioning library for any .NET project.

file: src/NuGetForUnity/Editor/Models/NugetPackageVersion.cs ↗ | tags: #semver #version-parsing #value-object

A set of interfaces (INugetPlugin, IPackageButtonsHandler, IPackageInstallFileHandler, IPackageUninstallHandler, IFoundInstalledPackageHandler) defining a clean plugin registry pattern. Third-party assemblies can register handlers to extend NuGetForUnity's behavior without modifying core code. This pattern is a textbook example of the strategy pattern for extensible applications.

file: src/NuGetForUnity.PluginAPI ↗ | tags: #plugin-architecture #extensibility #strategy-pattern
Last analyzed: 2026-09-05 14:40:44.743190
Next check: 2026-09-12 14:40:44.693116
$ submit: