diff --git a/IllusionInjector/IllusionInjector.csproj b/IllusionInjector/IllusionInjector.csproj
index 47c790bd..7aa1a08f 100644
--- a/IllusionInjector/IllusionInjector.csproj
+++ b/IllusionInjector/IllusionInjector.csproj
@@ -82,6 +82,7 @@
+
diff --git a/IllusionInjector/PluginManager.cs b/IllusionInjector/PluginManager.cs
index 5ccbe5aa..39bab3da 100644
--- a/IllusionInjector/PluginManager.cs
+++ b/IllusionInjector/PluginManager.cs
@@ -1,4 +1,5 @@
using IllusionInjector.Logging;
+using IllusionInjector.Utilities;
using IllusionPlugin;
using IllusionPlugin.BeatSaber;
using System;
@@ -11,6 +12,7 @@ using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
+using LoggerBase = IllusionPlugin.Logging.Logger;
namespace IllusionInjector
{
@@ -182,12 +184,37 @@ namespace IllusionInjector
IBeatSaberPlugin bsPlugin = OptionalGetPlugin(t);
if (bsPlugin != null)
{
- bsPlugins.Add(new BSPluginMeta
+ try
{
- Plugin = bsPlugin,
- Filename = file,
- ModsaberInfo = bsPlugin.ModInfo
- });
+ var init = t.GetMethod("Init", BindingFlags.Instance | BindingFlags.Public);
+ if (init != null)
+ {
+ var initArgs = new List