pardeike/Harmony

A library for patching, replacing and decorating .NET and Mono methods during runtime

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 31 minutes ago
Added to GitGenius on September 9th, 2026
Created on January 4th, 2017
Open Issues & Pull Requests: 17 (+0)
GitHub issues: Enabled
Number of forks: 574
Total Stargazers: 6,652 (+0)
Total Subscribers: 105 (+0)

Repository Insights (GitGenius)

Median issue/PR response: N/A
Mean response time: 11.2 days
90th percentile: 3.3 hours
Tracked items: 63

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 7% of issues opened in the past year have been closed. Three people close 85% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 17
New in 7 days: 13
Closed in 7 days: 0
Avg open age: 98 days
Stale 30+ days: 3
Stale 90+ days: 2

Recent activity

Opened in 7 days: 13
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (18)
  • needs more info/work (12)
  • wontfix (6)
  • help wanted (5)
  • bug (3)
  • documentation (2)
  • needs verify (2)
  • cannot reproduce (1)

Detailed Description

Harmony is a library for patching, replacing and decorating .NET and Mono methods during runtime.

Harmony solves the problem of modifying application behavior in C# without access to source code or the ability to recompile. It enables runtime method patching through a high-level API that preserves the original method while allowing you to execute custom code before and after it, modify the method body using IL code processors, and apply multiple patches that coexist without conflicts. The library works entirely in memory without touching files on disk.

The tool suits developers building plugins or mods for host applications written in C#, particularly games built with Unity or other .NET-based engines. It is also used in unit testing scenarios at major technology companies. Harmony is well-established in commercial game titles and has proven stability in production environments. The library offers two installation paths: a single merged assembly through the preferred NuGet package for simplicity, or a thin package for developers who want to manage dependencies themselves.

The project maintains active development on the current branch while Harmony 3 development, including new Infix patching capabilities, proceeds on a separate branch. The maintainer has invested substantial effort into the project and actively solicits community support through sponsorship and contribution channels. Documentation and community discussion are available through dedicated resources including a Discord server.