diff --git a/.gitmodules b/.gitmodules
index 8d242b8..f433f06 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,6 @@
[submodule "submodules/BepInEx.Harmony"]
path = submodules/BepInEx.Harmony
url = https://github.com/BepInEx/BepInEx.Harmony
+[submodule "submodules/MonoMod"]
+ path = submodules/MonoMod
+ url = https://github.com/0x0ade/MonoMod.git
diff --git a/BepInEx.Preloader/BepInEx.Preloader.csproj b/BepInEx.Preloader/BepInEx.Preloader.csproj
index e3e7bd9..b6d5234 100644
--- a/BepInEx.Preloader/BepInEx.Preloader.csproj
+++ b/BepInEx.Preloader/BepInEx.Preloader.csproj
@@ -60,6 +60,14 @@
{a15d6ee6-f954-415b-8605-8a8470cc87dc}
Harmony
+
+ {d0c584c0-81d7-486e-b70e-d7f9256e0909}
+ MonoMod.RuntimeDetour
+
+
+ {1839cfe2-3db0-45a8-b03d-9aa797479a3a}
+ MonoMod.Utils
+
diff --git a/BepInEx.sln b/BepInEx.sln
index 76a5332..9d302f8 100644
--- a/BepInEx.sln
+++ b/BepInEx.sln
@@ -23,6 +23,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Patcher", "Patcher", "{A907
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BepInEx.Preloader", "BepInEx.Preloader\BepInEx.Preloader.csproj", "{F7ABBE07-C02F-4F7C-BF6E-C6656BF588CA}"
EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MonoMod.RuntimeDetour", "submodules\MonoMod\MonoMod.RuntimeDetour\MonoMod.RuntimeDetour.csproj", "{D0C584C0-81D7-486E-B70E-D7F9256E0909}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MonoMod.Utils", "submodules\MonoMod\MonoMod.Utils\MonoMod.Utils.csproj", "{1839CFE2-3DB0-45A8-B03D-9AA797479A3A}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Legacy|Any CPU = Legacy|Any CPU
@@ -53,6 +57,14 @@ Global
{F7ABBE07-C02F-4F7C-BF6E-C6656BF588CA}.Legacy|Any CPU.Build.0 = Legacy|Any CPU
{F7ABBE07-C02F-4F7C-BF6E-C6656BF588CA}.v2018|Any CPU.ActiveCfg = v2018|Any CPU
{F7ABBE07-C02F-4F7C-BF6E-C6656BF588CA}.v2018|Any CPU.Build.0 = v2018|Any CPU
+ {D0C584C0-81D7-486E-B70E-D7F9256E0909}.Legacy|Any CPU.ActiveCfg = Release|Any CPU
+ {D0C584C0-81D7-486E-B70E-D7F9256E0909}.Legacy|Any CPU.Build.0 = Release|Any CPU
+ {D0C584C0-81D7-486E-B70E-D7F9256E0909}.v2018|Any CPU.ActiveCfg = Release|Any CPU
+ {D0C584C0-81D7-486E-B70E-D7F9256E0909}.v2018|Any CPU.Build.0 = Release|Any CPU
+ {1839CFE2-3DB0-45A8-B03D-9AA797479A3A}.Legacy|Any CPU.ActiveCfg = Release|Any CPU
+ {1839CFE2-3DB0-45A8-B03D-9AA797479A3A}.Legacy|Any CPU.Build.0 = Release|Any CPU
+ {1839CFE2-3DB0-45A8-B03D-9AA797479A3A}.v2018|Any CPU.ActiveCfg = Release|Any CPU
+ {1839CFE2-3DB0-45A8-B03D-9AA797479A3A}.v2018|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -62,6 +74,8 @@ Global
{6E6BC1E5-5BE8-4566-B3AE-52C4CB218AEB} = {A9071994-3533-4C1B-89DC-D817B676AB41}
{54161CFE-FF42-4DDE-B161-3A49545DB5CD} = {BAC58F7E-AAD8-4D0C-9490-9765ACBBA6FB}
{A15D6EE6-F954-415B-8605-8A8470CC87DC} = {BAC58F7E-AAD8-4D0C-9490-9765ACBBA6FB}
+ {D0C584C0-81D7-486E-B70E-D7F9256E0909} = {BAC58F7E-AAD8-4D0C-9490-9765ACBBA6FB}
+ {1839CFE2-3DB0-45A8-B03D-9AA797479A3A} = {BAC58F7E-AAD8-4D0C-9490-9765ACBBA6FB}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {55AC11EF-F568-4C79-A356-7ED9510145B1}
diff --git a/submodules/MonoMod b/submodules/MonoMod
new file mode 160000
index 0000000..934a8ae
--- /dev/null
+++ b/submodules/MonoMod
@@ -0,0 +1 @@
+Subproject commit 934a8ae921affac0093757d23c6f3ead34e996ac