diff --git a/build.ps1 b/build.ps1
index 4da82c7..b7a0d22 100644
--- a/build.ps1
+++ b/build.ps1
@@ -1,4 +1,4 @@
-# ----------- MelonLoader IL2CPP (net6) -----------
+# ----------- MelonLoader IL2CPP Unhollower (net6) -----------
dotnet build src/UnityExplorer.sln -c Release_ML_Cpp_net6
$Path = "Release\UnityExplorer.MelonLoader.IL2CPP.net6preview"
# ILRepack
@@ -17,6 +17,27 @@ Move-Item -Path $Path/UniverseLib.IL2CPP.Unhollower.dll -Destination $Path/UserL
Remove-Item $Path/../UnityExplorer.MelonLoader.IL2CPP.net6preview.zip -ErrorAction SilentlyContinue
7z a $Path/../UnityExplorer.MelonLoader.IL2CPP.net6preview.zip .\$Path\*
+# ----------- MelonLoader IL2CPP Interop (net6) -----------
+dotnet build src/UnityExplorer.sln -c Release_ML_Cpp_net6_interop
+$Path = "Release\UnityExplorer.MelonLoader.IL2CPP.net6preview.interop"
+# ILRepack
+lib/ILRepack.exe /target:library /lib:lib/net6 /lib:lib/interop /lib:$Path /internalize /out:$Path/UnityExplorer.ML.IL2CPP.net6preview.interop.dll $Path/UnityExplorer.ML.IL2CPP.net6preview.interop.dll $Path/mcs.dll
+# (cleanup and move files)
+Remove-Item $Path/UnityExplorer.ML.IL2CPP.net6preview.interop.deps.json
+Remove-Item $Path/Tomlet.dll
+Remove-Item $Path/mcs.dll
+Remove-Item $Path/Iced.dll
+Remove-Item $Path/Il2CppInterop.Common.dll
+Remove-Item $Path/Il2CppInterop.Runtime.dll
+Remove-Item $Path/Microsoft.Extensions.Logging.Abstractions.dll
+New-Item -Path "$Path" -Name "Mods" -ItemType "directory" -Force
+Move-Item -Path $Path/UnityExplorer.ML.IL2CPP.net6preview.interop.dll -Destination $Path/Mods -Force
+New-Item -Path "$Path" -Name "UserLibs" -ItemType "directory" -Force
+Move-Item -Path $Path/UniverseLib.IL2CPP.Interop.dll -Destination $Path/UserLibs -Force
+# (create zip archive)
+Remove-Item $Path/../UnityExplorer.MelonLoader.IL2CPP.net6preview.zip -ErrorAction SilentlyContinue
+7z a $Path/../UnityExplorer.MelonLoader.IL2CPP.net6preview.zip .\$Path\*
+
# ----------- MelonLoader IL2CPP (net472) -----------
dotnet build src/UnityExplorer.sln -c Release_ML_Cpp_net472
$Path = "Release/UnityExplorer.MelonLoader.IL2CPP"
diff --git a/src/UnityExplorer.csproj b/src/UnityExplorer.csproj
index aa7594a..3804749 100644
--- a/src/UnityExplorer.csproj
+++ b/src/UnityExplorer.csproj
@@ -11,16 +11,23 @@
none
UnityExplorer
10.0
- BIE_Cpp;BIE_Cpp_CoreCLR;BIE5_Mono;BIE6_Mono;ML_Cpp_net6;ML_Cpp_net472;ML_Mono;STANDALONE_Mono;STANDALONE_Cpp
+ BIE_Cpp;BIE_Cpp_CoreCLR;BIE5_Mono;BIE6_Mono;ML_Cpp_net6;ML_Cpp_net6_interop;ML_Cpp_net472;ML_Mono;STANDALONE_Mono;STANDALONE_Cpp
-
+
net6
..\Release\UnityExplorer.MelonLoader.IL2CPP.net6preview\
CPP,ML,UNHOLLOWER
UnityExplorer.ML.IL2CPP.net6preview
+
+
+ net6
+ ..\Release\UnityExplorer.MelonLoader.IL2CPP.net6preview.interop\
+ CPP,ML,INTEROP
+ UnityExplorer.ML.IL2CPP.net6preview.interop
+
net472
@@ -88,7 +95,7 @@
-
+
@@ -114,7 +121,7 @@
-
+
..\lib\net6\MelonLoader.dll
False
@@ -211,7 +218,7 @@
-
+
..\lib\interop\Il2Cppmscorlib.dll
False
diff --git a/src/UnityExplorer.sln b/src/UnityExplorer.sln
index ef2e7e6..592065d 100644
--- a/src/UnityExplorer.sln
+++ b/src/UnityExplorer.sln
@@ -13,6 +13,7 @@ Global
Release_BIE6_Mono|Any CPU = Release_BIE6_Mono|Any CPU
Release_ML_Cpp_net472|Any CPU = Release_ML_Cpp_net472|Any CPU
Release_ML_Cpp_net6|Any CPU = Release_ML_Cpp_net6|Any CPU
+ Release_ML_Cpp_net6_interop|Any CPU = Release_ML_Cpp_net6_interop|Any CPU
Release_ML_Mono|Any CPU = Release_ML_Mono|Any CPU
Release_STANDALONE_Cpp|Any CPU = Release_STANDALONE_Cpp|Any CPU
Release_STANDALONE_Mono|Any CPU = Release_STANDALONE_Mono|Any CPU
@@ -30,6 +31,8 @@ Global
{B21DBDE3-5D6F-4726-93AB-CC3CC68BAE7D}.Release_ML_Cpp_net472|Any CPU.Build.0 = ML_Cpp_net472|Any CPU
{B21DBDE3-5D6F-4726-93AB-CC3CC68BAE7D}.Release_ML_Cpp_net6|Any CPU.ActiveCfg = ML_Cpp_net6|Any CPU
{B21DBDE3-5D6F-4726-93AB-CC3CC68BAE7D}.Release_ML_Cpp_net6|Any CPU.Build.0 = ML_Cpp_net6|Any CPU
+ {B21DBDE3-5D6F-4726-93AB-CC3CC68BAE7D}.Release_ML_Cpp_net6_interop|Any CPU.ActiveCfg = ML_Cpp_net6_interop|Any CPU
+ {B21DBDE3-5D6F-4726-93AB-CC3CC68BAE7D}.Release_ML_Cpp_net6_interop|Any CPU.Build.0 = ML_Cpp_net6_interop|Any CPU
{B21DBDE3-5D6F-4726-93AB-CC3CC68BAE7D}.Release_ML_Mono|Any CPU.ActiveCfg = ML_Mono|Any CPU
{B21DBDE3-5D6F-4726-93AB-CC3CC68BAE7D}.Release_ML_Mono|Any CPU.Build.0 = ML_Mono|Any CPU
{B21DBDE3-5D6F-4726-93AB-CC3CC68BAE7D}.Release_STANDALONE_Cpp|Any CPU.ActiveCfg = STANDALONE_Cpp|Any CPU