You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A library for patching, replacing and decorating<br>
5
5
.NET and Mono methods during runtime.
6
6
</p>
7
7
8
8
### About
9
9
10
-
Harmony gives you an elegant and high level way to alter the functionality in applications written in C#. It works great in games and is well established in titles like
11
-
12
-
• **Rust**
13
-
• **Rimworld**
14
-
• **7 Days To Die**
15
-
• **Stardew Valley**
16
-
• **Subnautica**
17
-
• **Oxygen Not Included**
18
-
• **Besiege**
19
-
• **Cities:Skylines**
20
-
• **Kerbal Space Program**
21
-
• **Resonite**
22
-
• **BattleTech**
23
-
• **Slime Rancher**
10
+
Harmony gives you an elegant and high level way to alter the functionality in applications written in C#. It works great in games and is well established in titles like
11
+
12
+
• **Rust**
13
+
• **Rimworld**
14
+
• **7 Days To Die**
15
+
• **Stardew Valley**
16
+
• **Subnautica**
17
+
• **Oxygen Not Included**
18
+
• **Besiege**
19
+
• **Cities:Skylines**
20
+
• **Kerbal Space Program**
21
+
• **Resonite**
22
+
• **BattleTech**
23
+
• **Slime Rancher**
24
24
25
25
and others like Ravenfield, Sheltered, Staxel, The Ultimate Nerd Game, Total Miner, Unturned, SCP: Secret Laboratory ...
26
26
@@ -30,10 +30,10 @@ It is also used in unit testing WPF controls at Microsoft and Google and in many
30
30
31
31
If you develop in C# and your code is loaded as a module/plugin into a host application, you can use Harmony to alter the functionality of all the available assemblies of that application. Where other patch libraries simply allow you to replace the original method, Harmony goes one step further and gives you:
32
32
33
-
• A way to keep the original method intact
34
-
• Execute your code before and/or after the original method
35
-
• Modify the original with IL code processors
36
-
• Multiple Harmony patches co-exist and don't conflict with each other
33
+
• A way to keep the original method intact
34
+
• Execute your code before and/or after the original method
35
+
• Modify the original with IL code processors
36
+
• Multiple Harmony patches co-exist and don't conflict with each other
37
37
• Works at runtime and does not touch any files
38
38
39
39
### Installation
@@ -50,8 +50,8 @@ Please check out the [documentation](https://harmony.pardeike.net) and join the
50
50
51
51
I put thousands of hours into this project and its support. So every little action helps:
52
52
53
-
• Become a [GitHub sponsor](https://github.com/sponsors/pardeike) or a [Patreon](https://www.patreon.com/pardeike)
54
-
• Upvote this [stackoverflow answer](https://stackoverflow.com/questions/7299097/dynamically-replace-the-contents-of-a-c-sharp-method/42043003#42043003)
53
+
• Become a [GitHub sponsor](https://github.com/sponsors/pardeike) or a [Patreon](https://www.patreon.com/pardeike)
54
+
• Upvote this [stackoverflow answer](https://stackoverflow.com/questions/7299097/dynamically-replace-the-contents-of-a-c-sharp-method/42043003#42043003)
55
55
• Spread the word in your developer communities
56
56
57
57
This project uses the great [MonoMod.Core](https://github.com/MonoMod) library by [0x0ade](https://github.com/0x0ade) and [nike4613](https://github.com/nike4613).
0 commit comments