diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 607d191..2188fbc 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,3 +1,4 @@ # These are supported funding model platforms -ko_fi: sinaidev +github: originalnicodr + diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 262e200..4af3005 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -22,9 +22,14 @@ body: description: Please select your environment for UnityExplorer. options: - BepInEx IL2CPP + - BepInEx IL2CPP CoreCLR + - BepInEx Unity IL2CPP CoreCLR - BepInEx 6.X Mono + - BepInEx 6.X Unity Mono - BepInEx 5.X Mono - MelonLoader IL2CPP + - MelonLoader IL2CPP net6preview + - MelonLoader IL2CPP CoreCLR - MelonLoader Mono - Standalone IL2CPP - Standalone Mono @@ -57,4 +62,4 @@ body: * Standalone: `{DLL_Location}\UnityExplorer\Logs\` (pick the most recent one) render: shell validations: - required: false \ No newline at end of file + required: false diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index d890149..114b8ea 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -1,6 +1,6 @@ name: Build UnityExplorer -# Controls when the action will run. +# Controls when the action will run. on: push: branches: [master] @@ -15,78 +15,93 @@ jobs: steps: # Setup - - name: Checkout latest - uses: actions/checkout@v2 - - - name: Setup dotnet - uses: actions/setup-dotnet@v2 + - name: Checkout latest + uses: actions/checkout@v3 with: - dotnet-version: '6.0.x' - include-prerelease: true - + submodules: true + - name: Setup dotnet + uses: actions/setup-dotnet@v3 + with: + dotnet-version: '6.x' # Run build script - - run: | - ./build.ps1 - + - name: Build UE + run: ./build.ps1 + # Upload artifacts - - # BepInEx IL2CPP - - uses: actions/upload-artifact@v2 + - name: Upload BepInEx.IL2CPP + uses: actions/upload-artifact@v3 with: name: UnityExplorer.BepInEx.IL2CPP.zip path: ./Release/UnityExplorer.BepInEx.IL2CPP/ - - # BepInEx IL2CPP CoreCLR - - uses: actions/upload-artifact@v2 + + - name: Upload BepInEx.IL2CPP.CoreCLR + uses: actions/upload-artifact@v3 with: name: UnityExplorer.BepInEx.IL2CPP.CoreCLR.zip path: ./Release/UnityExplorer.BepInEx.IL2CPP.CoreCLR/ - - # BepInEx 5 Mono - - uses: actions/upload-artifact@v2 + + - name: Upload BepInEx.Unity.IL2CPP.CoreCLR + uses: actions/upload-artifact@v3 + with: + name: UnityExplorer.BepInEx.Unity.IL2CPP.CoreCLR.zip + path: ./Release/UnityExplorer.BepInEx.Unity.IL2CPP.CoreCLR/ + + - name: Upload BepInEx5.Mono + uses: actions/upload-artifact@v3 with: name: UnityExplorer.BepInEx5.Mono.zip path: ./Release/UnityExplorer.BepInEx5.Mono/ - - # BepInEx 6 Mono - - uses: actions/upload-artifact@v2 + + - name: Upload BepInEx6.Mono + uses: actions/upload-artifact@v3 with: name: UnityExplorer.BepInEx6.Mono.zip path: ./Release/UnityExplorer.BepInEx6.Mono/ - - # Editor - - uses: actions/upload-artifact@v2 + + - name: Upload BepInEx6.Unity.Mono + uses: actions/upload-artifact@v3 with: - name: UnityExplorer.Editor.zip - path: ./UnityEditorPackage/ - - # MelonLoader IL2CPP net6preview - - uses: actions/upload-artifact@v2 - with: - name: UnityExplorer.MelonLoader.IL2CPP.net6preview.zip - path: ./Release/UnityExplorer.MelonLoader.IL2CPP.net6preview/ - - # MelonLoader IL2CPP net472 - - uses: actions/upload-artifact@v2 + name: UnityExplorer.BepInEx6.Unity.Mono.zip + path: ./Release/UnityExplorer.BepInEx6.Unity.Mono/ + + - name: Upload MelonLoader.IL2CPP + uses: actions/upload-artifact@v3 with: name: UnityExplorer.MelonLoader.IL2CPP.zip path: ./Release/UnityExplorer.MelonLoader.IL2CPP/ - - # MelonLoader Mono - - uses: actions/upload-artifact@v2 + + - name: Upload MelonLoader.IL2CPP.net6preview + uses: actions/upload-artifact@v3 + with: + name: UnityExplorer.MelonLoader.IL2CPP.net6preview.zip + path: ./Release/UnityExplorer.MelonLoader.IL2CPP.net6preview/ + + - name: Upload MelonLoader.IL2CPP.CoreCLR + uses: actions/upload-artifact@v3 + with: + name: UnityExplorer.MelonLoader.IL2CPP.CoreCLR.zip + path: ./Release/UnityExplorer.MelonLoader.IL2CPP.CoreCLR/ + + - name: Upload MelonLoader.Mono + uses: actions/upload-artifact@v3 with: name: UnityExplorer.MelonLoader.Mono.zip path: ./Release/UnityExplorer.MelonLoader.Mono/ - - # Standalone Il2Cpp - - uses: actions/upload-artifact@v2 + + - name: Upload Standalone.IL2CPP + uses: actions/upload-artifact@v3 with: name: UnityExplorer.Standalone.IL2CPP.zip path: ./Release/UnityExplorer.Standalone.IL2CPP/ - - # Standalone Mono - - uses: actions/upload-artifact@v2 + + - name: Upload Standalone.Mono + uses: actions/upload-artifact@v3 with: name: UnityExplorer.Standalone.Mono.zip path: ./Release/UnityExplorer.Standalone.Mono/ - + + - name: Upload Editor + uses: actions/upload-artifact@v3 + with: + name: UnityExplorer.Editor.zip + path: ./UnityEditorPackage/ diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..b75476a --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "UniverseLib"] + path = UniverseLib + url = https://github.com/yukieiji/UniverseLib diff --git a/README.md b/README.md index ed03626..05fec73 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ ✔️ Supports most Unity versions from 5.2 to 2021+ (IL2CPP and Mono).

- ✨ Powered by UniverseLib + ✨ Powered by UniverseLib

# Releases [![](https://img.shields.io/github/downloads/originalnicodr/UnityExplorer/total.svg)](../../releases) @@ -27,11 +27,11 @@ Nightly builds can be found [here](https://github.com/originalnicodr/UnityExplor ## BepInEx -| Release | IL2CPP | Mono | -| ------- | ------ | ---- | -| BIE 6.X | ✅ [link](https://github.com/originalnicodr/UnityExplorer/releases/latest/download/UnityExplorer.BepInEx.IL2CPP.zip) | ✅ [link](https://github.com/originalnicodr/UnityExplorer/releases/latest/download/UnityExplorer.BepInEx6.Mono.zip) | -| BIE 6.X (CoreCLR) | ✅ [link](https://github.com/originalnicodr/UnityExplorer/releases/latest/download/UnityExplorer.BepInEx.IL2CPP.CoreCLR.zip) | ✖ | -| BIE 5.X | ✖️ n/a | ✅ [link](https://github.com/originalnicodr/UnityExplorer/releases/latest/download/UnityExplorer.BepInEx5.Mono.zip) | +| Release | IL2CPP(CoreCLR) | IL2CPP(Unhollower) | Mono | +| ------- | ------ | ------ | ---- | +| BIE 6.X be.647+ | ✅ [link](https://github.com/originalnicodr/UnityExplorer/releases/latest/download/UnityExplorer.BepInEx.Unity.IL2CPP.CoreCLR.zip) | ✖️ n/a | ✅ [link](https://github.com/originalnicodr/UnityExplorer/releases/latest/download/UnityExplorer.BepInEx6.Unity.Mono.zip) | +| BIE 6.X be.472 to be.577 | ✅ [link](https://github.com/originalnicodr/UnityExplorer/releases/latest/download/UnityExplorer.BepInEx.IL2CPP.CoreCLR.zip) | ✅ [link](https://github.com/originalnicodr/UnityExplorer/releases/latest/download/UnityExplorer.BepInEx.IL2CPP.zip) | ✅ [link](https://github.com/originalnicodr/UnityExplorer/releases/latest/download/UnityExplorer.BepInEx6.Mono.zip) | +| BIE 5.X | ✖️ n/a | ✖️ n/a | ✅ [link](https://github.com/originalnicodr/UnityExplorer/releases/latest/download/UnityExplorer.BepInEx5.Mono.zip) | 1. Unzip the release file into a folder 2. Take the `plugins/originalnicodr-UnityExplorer` folder and place it in `BepInEx/plugins/` @@ -42,8 +42,9 @@ Nightly builds can be found [here](https://github.com/originalnicodr/UnityExplor | Release | IL2CPP | Mono | | ------- | ------ | ---- | +| ML 0.6.x | ✅ [link](https://github.com/originalnicodr/UnityExplorer/releases/latest/download/UnityExplorer.MelonLoader.IL2CPP.CoreCLR.zip) | ✖️ | +| ML 0.6(only alpha build) | ✅ [link](https://github.com/originalnicodr/UnityExplorer/releases/latest/download/UnityExplorer.MelonLoader.IL2CPP.net6preview.zip) | ✖️ | | ML 0.5 | ✅ [link](https://github.com/originalnicodr/UnityExplorer/releases/latest/download/UnityExplorer.MelonLoader.IL2CPP.zip) | ✅ [link](https://github.com/originalnicodr/UnityExplorer/releases/latest/download/UnityExplorer.MelonLoader.Mono.zip) | -| ML 0.6 | ✅ [link](https://github.com/originalnicodr/UnityExplorer/releases/latest/download/UnityExplorer.MelonLoader.IL2CPP.net6preview.zip) | ✖️ | 1. Unzip the release file into a folder 2. Copy the DLL inside the `Mods` folder into your MelonLoader `Mods` folder diff --git a/UnityEditorPackage/Runtime/UnityExplorer.STANDALONE.Mono.dll b/UnityEditorPackage/Runtime/UnityExplorer.STANDALONE.Mono.dll index 42a4e06..707214b 100644 Binary files a/UnityEditorPackage/Runtime/UnityExplorer.STANDALONE.Mono.dll and b/UnityEditorPackage/Runtime/UnityExplorer.STANDALONE.Mono.dll differ diff --git a/UnityEditorPackage/Runtime/UniverseLib.Mono.dll b/UnityEditorPackage/Runtime/UniverseLib.Mono.dll index 4cfb1a5..846ae74 100644 Binary files a/UnityEditorPackage/Runtime/UniverseLib.Mono.dll and b/UnityEditorPackage/Runtime/UniverseLib.Mono.dll differ diff --git a/UniverseLib b/UniverseLib new file mode 160000 index 0000000..3dc1aba --- /dev/null +++ b/UniverseLib @@ -0,0 +1 @@ +Subproject commit 3dc1aba123650cf829cc2ea828aff737f197a4a9 diff --git a/build.ps1 b/build.ps1 index 476ec05..af4564f 100644 --- a/build.ps1 +++ b/build.ps1 @@ -1,8 +1,13 @@ -# ----------- MelonLoader IL2CPP Unhollower (net6) ----------- -dotnet build src/UnityExplorer.sln -c Release_ML_Cpp_net6 +cd UniverseLib +.\build.ps1 +cd .. + + +# ----------- MelonLoader IL2CPP (net6) ----------- +dotnet build src/UnityExplorer.sln -c Release_ML_Cpp_net6preview $Path = "Release\UnityExplorer.MelonLoader.IL2CPP.net6preview" # ILRepack -lib/ILRepack.exe /target:library /lib:lib/net6 /lib:lib/unhollowed /lib:$Path /internalize /out:$Path/UnityExplorer.ML.IL2CPP.net6preview.dll $Path/UnityExplorer.ML.IL2CPP.net6preview.dll $Path/mcs.dll +lib/ILRepack.exe /target:library /lib:lib/net6 /lib:lib/unhollowed /lib:$Path /internalize /out:$Path/UnityExplorer.ML.IL2CPP.net6preview.dll $Path/UnityExplorer.ML.IL2CPP.net6preview.dll $Path/mcs.dll # (cleanup and move files) Remove-Item $Path/UnityExplorer.ML.IL2CPP.net6preview.deps.json Remove-Item $Path/Tomlet.dll @@ -15,15 +20,15 @@ New-Item -Path "$Path" -Name "UserLibs" -ItemType "directory" -Force Move-Item -Path $Path/UniverseLib.IL2CPP.Unhollower.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\* +compress-archive .\$Path\* $Path/../UnityExplorer.MelonLoader.IL2CPP.net6preview.zip -# ----------- MelonLoader IL2CPP Interop (net6) ----------- -dotnet build src/UnityExplorer.sln -c Release_ML_Cpp_net6_interop -$Path = "Release\UnityExplorer.MelonLoader.IL2CPP.net6preview.interop" +# ----------- MelonLoader IL2CPP CoreCLR (net6) ----------- +dotnet build src/UnityExplorer.sln -c Release_ML_Cpp_CoreCLR +$Path = "Release\UnityExplorer.MelonLoader.IL2CPP.CoreCLR" # 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 +lib/ILRepack.exe /target:library /lib:lib/net6 /lib:lib/interop /lib:$Path /internalize /out:$Path/UnityExplorer.ML.IL2CPP.CoreCLR.dll $Path/UnityExplorer.ML.IL2CPP.CoreCLR.dll $Path/mcs.dll # (cleanup and move files) -Remove-Item $Path/UnityExplorer.ML.IL2CPP.net6preview.interop.deps.json +Remove-Item $Path/UnityExplorer.ML.IL2CPP.CoreCLR.deps.json Remove-Item $Path/Tomlet.dll Remove-Item $Path/mcs.dll Remove-Item $Path/Iced.dll @@ -31,18 +36,18 @@ 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 +Move-Item -Path $Path/UnityExplorer.ML.IL2CPP.CoreCLR.dll -Destination $Path/Mods -Force New-Item -Path "$Path" -Name "UserLibs" -ItemType "directory" -Force -Move-Item -Path $Path/UniverseLib.IL2CPP.Interop.ML.dll -Destination $Path/UserLibs -Force +Move-Item -Path $Path/UniverseLib.ML.IL2CPP.Interop.dll -Destination $Path/UserLibs -Force # (create zip archive) -Remove-Item $Path/../UnityExplorer.MelonLoader.IL2CPP.net6preview.interop.zip -ErrorAction SilentlyContinue -7z a $Path/../UnityExplorer.MelonLoader.IL2CPP.net6preview.interop.zip .\$Path\* +Remove-Item $Path/../UnityExplorer.MelonLoader.IL2CPP.CoreCLR.zip -ErrorAction SilentlyContinue +compress-archive .\$Path\* $Path/../UnityExplorer.MelonLoader.IL2CPP.CoreCLR.zip # ----------- MelonLoader IL2CPP (net472) ----------- dotnet build src/UnityExplorer.sln -c Release_ML_Cpp_net472 $Path = "Release/UnityExplorer.MelonLoader.IL2CPP" # ILRepack -lib/ILRepack.exe /target:library /lib:lib/net472 /lib:lib/net35 /lib:lib/unhollowed /lib:$Path /internalize /out:$Path/UnityExplorer.ML.IL2CPP.dll $Path/UnityExplorer.ML.IL2CPP.dll $Path/mcs.dll +lib/ILRepack.exe /target:library /lib:lib/net472 /lib:lib/net35 /lib:lib/unhollowed /lib:$Path /internalize /out:$Path/UnityExplorer.ML.IL2CPP.dll $Path/UnityExplorer.ML.IL2CPP.dll $Path/mcs.dll # (cleanup and move files) Remove-Item $Path/Tomlet.dll Remove-Item $Path/mcs.dll @@ -54,13 +59,13 @@ New-Item -Path "$Path" -Name "UserLibs" -ItemType "directory" -Force Move-Item -Path $Path/UniverseLib.IL2CPP.Unhollower.dll -Destination $Path/UserLibs -Force # (create zip archive) Remove-Item $Path/../UnityExplorer.MelonLoader.IL2CPP.zip -ErrorAction SilentlyContinue -7z a $Path/../UnityExplorer.MelonLoader.IL2CPP.zip .\$Path\* +compress-archive .\$Path\* $Path/../UnityExplorer.MelonLoader.IL2CPP.zip # ----------- MelonLoader Mono ----------- dotnet build src/UnityExplorer.sln -c Release_ML_Mono $Path = "Release/UnityExplorer.MelonLoader.Mono" # ILRepack -lib/ILRepack.exe /target:library /lib:lib/net35 /lib:$Path /internalize /out:$Path/UnityExplorer.ML.Mono.dll $Path/UnityExplorer.ML.Mono.dll $Path/mcs.dll +lib/ILRepack.exe /target:library /lib:lib/net35 /lib:$Path /internalize /out:$Path/UnityExplorer.ML.Mono.dll $Path/UnityExplorer.ML.Mono.dll $Path/mcs.dll # (cleanup and move files) Remove-Item $Path/Tomlet.dll Remove-Item $Path/mcs.dll @@ -70,13 +75,13 @@ New-Item -Path "$Path" -Name "UserLibs" -ItemType "directory" -Force Move-Item -Path $Path/UniverseLib.Mono.dll -Destination $Path/UserLibs -Force # (create zip archive) Remove-Item $Path/../UnityExplorer.MelonLoader.Mono.zip -ErrorAction SilentlyContinue -7z a $Path/../UnityExplorer.MelonLoader.Mono.zip .\$Path\* +compress-archive .\$Path\* $Path/../UnityExplorer.MelonLoader.Mono.zip # ----------- BepInEx IL2CPP ----------- dotnet build src/UnityExplorer.sln -c Release_BIE_Cpp $Path = "Release/UnityExplorer.BepInEx.IL2CPP" # ILRepack -lib/ILRepack.exe /target:library /lib:lib/net472 /lib:lib/unhollowed /lib:$Path /internalize /out:$Path/UnityExplorer.BIE.IL2CPP.dll $Path/UnityExplorer.BIE.IL2CPP.dll $Path/mcs.dll $Path/Tomlet.dll +lib/ILRepack.exe /target:library /lib:lib/net472/BepInEx/build423~577 /lib:lib/unhollowed /lib:$Path /internalize /out:$Path/UnityExplorer.BIE.IL2CPP.dll $Path/UnityExplorer.BIE.IL2CPP.dll $Path/mcs.dll $Path/Tomlet.dll # (cleanup and move files) Remove-Item $Path/Tomlet.dll Remove-Item $Path/mcs.dll @@ -88,13 +93,13 @@ Move-Item -Path $Path/UnityExplorer.BIE.IL2CPP.dll -Destination $Path/plugins/si Move-Item -Path $Path/UniverseLib.IL2CPP.Unhollower.dll -Destination $Path/plugins/sinai-dev-UnityExplorer -Force # (create zip archive) Remove-Item $Path/../UnityExplorer.BepInEx.IL2CPP.zip -ErrorAction SilentlyContinue -7z a $Path/../UnityExplorer.BepInEx.IL2CPP.zip .\$Path\* +compress-archive .\$Path\* $Path/../UnityExplorer.BepInEx.IL2CPP.zip # ----------- BepInEx IL2CPP CoreCLR ----------- dotnet build src/UnityExplorer.sln -c Release_BIE_CoreCLR $Path = "Release/UnityExplorer.BepInEx.IL2CPP.CoreCLR" # ILRepack -lib/ILRepack.exe /target:library /lib:lib/net472 /lib:lib/net6/ /lib:lib/interop/ /lib:$Path /internalize /out:$Path/UnityExplorer.BIE.IL2CPP.CoreCLR.dll $Path/UnityExplorer.BIE.IL2CPP.CoreCLR.dll $Path/mcs.dll $Path/Tomlet.dll +lib/ILRepack.exe /target:library /lib:lib/net472/BepInEx/build423~577 /lib:lib/net6/ /lib:lib/interop/ /lib:$Path /internalize /out:$Path/UnityExplorer.BIE.IL2CPP.CoreCLR.dll $Path/UnityExplorer.BIE.IL2CPP.CoreCLR.dll $Path/mcs.dll $Path/Tomlet.dll # (cleanup and move files) Remove-Item $Path/Tomlet.dll Remove-Item $Path/mcs.dll @@ -106,16 +111,37 @@ Remove-Item $Path/UnityExplorer.BIE.IL2CPP.CoreCLR.deps.json New-Item -Path "$Path" -Name "plugins" -ItemType "directory" -Force New-Item -Path "$Path" -Name "plugins/sinai-dev-UnityExplorer" -ItemType "directory" -Force Move-Item -Path $Path/UnityExplorer.BIE.IL2CPP.CoreCLR.dll -Destination $Path/plugins/sinai-dev-UnityExplorer -Force -Move-Item -Path $Path/UniverseLib.IL2CPP.Interop.dll -Destination $Path/plugins/sinai-dev-UnityExplorer -Force +Move-Item -Path $Path/UniverseLib.BIE.IL2CPP.Interop.dll -Destination $Path/plugins/sinai-dev-UnityExplorer -Force # (create zip archive) Remove-Item $Path/../UnityExplorer.BepInEx.IL2CPP.CoreCLR.zip -ErrorAction SilentlyContinue -7z a $Path/../UnityExplorer.BepInEx.IL2CPP.CoreCLR.zip .\$Path\* +compress-archive .\$Path\* $Path/../UnityExplorer.BepInEx.IL2CPP.CoreCLR.zip + +# ----------- BepInEx Unity IL2CPP CoreCLR ----------- +dotnet build src/UnityExplorer.sln -c Release_BIE_Unity_Cpp +$Path = "Release/UnityExplorer.BepInEx.Unity.IL2CPP.CoreCLR" +# ILRepack +lib/ILRepack.exe /target:library /lib:lib/net472/BepInEx/build647+ /lib:lib/net6/ /lib:lib/interop/ /lib:$Path /internalize /out:$Path/UnityExplorer.BIE.Unity.IL2CPP.CoreCLR.dll $Path/UnityExplorer.BIE.Unity.IL2CPP.CoreCLR.dll $Path/mcs.dll $Path/Tomlet.dll +# (cleanup and move files) +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 +Remove-Item $Path/UnityExplorer.BIE.Unity.IL2CPP.CoreCLR.deps.json +New-Item -Path "$Path" -Name "plugins" -ItemType "directory" -Force +New-Item -Path "$Path" -Name "plugins/sinai-dev-UnityExplorer" -ItemType "directory" -Force +Move-Item -Path $Path/UnityExplorer.BIE.Unity.IL2CPP.CoreCLR.dll -Destination $Path/plugins/sinai-dev-UnityExplorer -Force +Move-Item -Path $Path/UniverseLib.BIE.IL2CPP.Interop.dll -Destination $Path/plugins/sinai-dev-UnityExplorer -Force +# (create zip archive) +Remove-Item $Path/../UnityExplorer.BepInEx.Unity.IL2CPP.CoreCLR.zip -ErrorAction SilentlyContinue +compress-archive .\$Path\* $Path/../UnityExplorer.BepInEx.Unity.IL2CPP.CoreCLR.zip # ----------- BepInEx 5 Mono ----------- dotnet build src/UnityExplorer.sln -c Release_BIE5_Mono $Path = "Release/UnityExplorer.BepInEx5.Mono" # ILRepack -lib/ILRepack.exe /target:library /lib:lib/net35 /lib:$Path /internalize /out:$Path/UnityExplorer.BIE5.Mono.dll $Path/UnityExplorer.BIE5.Mono.dll $Path/mcs.dll $Path/Tomlet.dll +lib/ILRepack.exe /target:library /lib:lib/net35 /lib:lib/net35/BepInEx /lib:$Path /internalize /out:$Path/UnityExplorer.BIE5.Mono.dll $Path/UnityExplorer.BIE5.Mono.dll $Path/mcs.dll $Path/Tomlet.dll # (cleanup and move files) Remove-Item $Path/Tomlet.dll Remove-Item $Path/mcs.dll @@ -125,13 +151,13 @@ Move-Item -Path $Path/UnityExplorer.BIE5.Mono.dll -Destination $Path/plugins/sin Move-Item -Path $Path/UniverseLib.Mono.dll -Destination $Path/plugins/sinai-dev-UnityExplorer -Force # (create zip archive) Remove-Item $Path/../UnityExplorer.BepInEx5.Mono.zip -ErrorAction SilentlyContinue -7z a $Path/../UnityExplorer.BepInEx5.Mono.zip .\$Path\* +compress-archive .\$Path\* $Path/../UnityExplorer.BepInEx5.Mono.zip # ----------- BepInEx 6 Mono ----------- dotnet build src/UnityExplorer.sln -c Release_BIE6_Mono $Path = "Release/UnityExplorer.BepInEx6.Mono" # ILRepack -lib/ILRepack.exe /target:library /lib:lib/net35 /lib:$Path /internalize /out:$Path/UnityExplorer.BIE6.Mono.dll $Path/UnityExplorer.BIE6.Mono.dll $Path/mcs.dll $Path/Tomlet.dll +lib/ILRepack.exe /target:library /lib:lib/net35 /lib:lib/net35/BepInEx/build423~577 /lib:$Path /internalize /out:$Path/UnityExplorer.BIE6.Mono.dll $Path/UnityExplorer.BIE6.Mono.dll $Path/mcs.dll $Path/Tomlet.dll # (cleanup and move files) Remove-Item $Path/Tomlet.dll Remove-Item $Path/mcs.dll @@ -141,7 +167,23 @@ Move-Item -Path $Path/UnityExplorer.BIE6.Mono.dll -Destination $Path/plugins/sin Move-Item -Path $Path/UniverseLib.Mono.dll -Destination $Path/plugins/sinai-dev-UnityExplorer -Force # (create zip archive) Remove-Item $Path/../UnityExplorer.BepInEx6.Mono.zip -ErrorAction SilentlyContinue -7z a $Path/../UnityExplorer.BepInEx6.Mono.zip .\$Path\* +compress-archive .\$Path\* $Path/../UnityExplorer.BepInEx6.Mono.zip + +# ----------- BepInEx 6 Unity Mono ----------- +dotnet build src/UnityExplorer.sln -c Release_BIE6_Unity_Mono +$Path = "Release/UnityExplorer.BepInEx6.Unity.Mono" +# ILRepack +lib/ILRepack.exe /target:library /lib:lib/net35 /lib:lib/net35/BepInEx/build647+ /lib:$Path /internalize /out:$Path/UnityExplorer.BIE6.Unity.Mono.dll $Path/UnityExplorer.BIE6.Unity.Mono.dll $Path/mcs.dll $Path/Tomlet.dll +# (cleanup and move files) +Remove-Item $Path/Tomlet.dll +Remove-Item $Path/mcs.dll +New-Item -Path "$Path" -Name "plugins" -ItemType "directory" -Force +New-Item -Path "$Path" -Name "plugins/sinai-dev-UnityExplorer" -ItemType "directory" -Force +Move-Item -Path $Path/UnityExplorer.BIE6.Unity.Mono.dll -Destination $Path/plugins/sinai-dev-UnityExplorer -Force +Move-Item -Path $Path/UniverseLib.Mono.dll -Destination $Path/plugins/sinai-dev-UnityExplorer -Force +# (create zip archive) +Remove-Item $Path/../UnityExplorer.BepInEx6.Unity.Mono.zip -ErrorAction SilentlyContinue +compress-archive .\$Path\* $Path/../UnityExplorer.BepInEx6.Unity.Mono.zip # ----------- Standalone Mono ----------- dotnet build src/UnityExplorer.sln -c Release_STANDALONE_Mono @@ -152,7 +194,7 @@ lib/ILRepack.exe /target:library /lib:lib/net35 /lib:$Path /internalize /out:$Pa Remove-Item $Path/Tomlet.dll Remove-Item $Path/mcs.dll Remove-Item $Path/../UnityExplorer.Standalone.Mono.zip -ErrorAction SilentlyContinue -7z a $Path/../UnityExplorer.Standalone.Mono.zip .\$Path\* +compress-archive .\$Path\* $Path/../UnityExplorer.Standalone.Mono.zip # ----------- Standalone IL2CPP ----------- dotnet build src/UnityExplorer.sln -c Release_STANDALONE_Cpp @@ -165,7 +207,7 @@ Remove-Item $Path/mcs.dll Remove-Item $Path/Iced.dll Remove-Item $Path/UnhollowerBaseLib.dll Remove-Item $Path/../UnityExplorer.Standalone.IL2CPP.zip -ErrorAction SilentlyContinue -7z a $Path/../UnityExplorer.Standalone.IL2CPP.zip .\$Path\* +compress-archive .\$Path\* $Path/../UnityExplorer.Standalone.IL2CPP.zip # ----------- Editor (mono) ----------- $Path1 = "Release/UnityExplorer.Standalone.Mono" @@ -173,4 +215,4 @@ $Path2 = "UnityEditorPackage/Runtime" Copy-Item $Path1/UnityExplorer.STANDALONE.Mono.dll -Destination $Path2 Copy-Item $Path1/UniverseLib.Mono.dll -Destination $Path2 Remove-Item Release/UnityExplorer.Editor.zip -ErrorAction SilentlyContinue -7z a Release/UnityExplorer.Editor.zip .\UnityEditorPackage\* \ No newline at end of file +compress-archive .\UnityEditorPackage\* Release/UnityExplorer.Editor.zip \ No newline at end of file diff --git a/lib/net35/BepInEx.dll b/lib/net35/BepInEx/BepInEx.dll similarity index 100% rename from lib/net35/BepInEx.dll rename to lib/net35/BepInEx/BepInEx.dll diff --git a/lib/net35/BepInEx.Core.dll b/lib/net35/BepInEx/build423~577/BepInEx.Core.dll similarity index 100% rename from lib/net35/BepInEx.Core.dll rename to lib/net35/BepInEx/build423~577/BepInEx.Core.dll diff --git a/lib/net35/BepInEx.Unity.dll b/lib/net35/BepInEx/build423~577/BepInEx.Unity.dll similarity index 100% rename from lib/net35/BepInEx.Unity.dll rename to lib/net35/BepInEx/build423~577/BepInEx.Unity.dll diff --git a/lib/net35/BepInEx/build647+/BepInEx.Core.dll b/lib/net35/BepInEx/build647+/BepInEx.Core.dll new file mode 100644 index 0000000..d68f178 Binary files /dev/null and b/lib/net35/BepInEx/build647+/BepInEx.Core.dll differ diff --git a/lib/net35/BepInEx/build647+/BepInEx.Unity.Mono.dll b/lib/net35/BepInEx/build647+/BepInEx.Unity.Mono.dll new file mode 100644 index 0000000..d101293 Binary files /dev/null and b/lib/net35/BepInEx/build647+/BepInEx.Unity.Mono.dll differ diff --git a/lib/net472/BepInEx.Core.dll b/lib/net472/BepInEx/build423~577/BepInEx.Core.dll similarity index 100% rename from lib/net472/BepInEx.Core.dll rename to lib/net472/BepInEx/build423~577/BepInEx.Core.dll diff --git a/lib/net472/BepInEx.IL2CPP.dll b/lib/net472/BepInEx/build423~577/BepInEx.IL2CPP.dll similarity index 100% rename from lib/net472/BepInEx.IL2CPP.dll rename to lib/net472/BepInEx/build423~577/BepInEx.IL2CPP.dll diff --git a/lib/net472/BepInEx/build647+/BepInEx.Core.dll b/lib/net472/BepInEx/build647+/BepInEx.Core.dll new file mode 100644 index 0000000..431e266 Binary files /dev/null and b/lib/net472/BepInEx/build647+/BepInEx.Core.dll differ diff --git a/lib/net472/BepInEx/build647+/BepInEx.Unity.Common.dll b/lib/net472/BepInEx/build647+/BepInEx.Unity.Common.dll new file mode 100644 index 0000000..6330615 Binary files /dev/null and b/lib/net472/BepInEx/build647+/BepInEx.Unity.Common.dll differ diff --git a/lib/net472/BepInEx/build647+/BepInEx.Unity.IL2CPP.dll b/lib/net472/BepInEx/build647+/BepInEx.Unity.IL2CPP.dll new file mode 100644 index 0000000..e1c5da8 Binary files /dev/null and b/lib/net472/BepInEx/build647+/BepInEx.Unity.IL2CPP.dll differ diff --git a/src/Config/ConfigManager.cs b/src/Config/ConfigManager.cs index dfccdeb..ee3ac52 100644 --- a/src/Config/ConfigManager.cs +++ b/src/Config/ConfigManager.cs @@ -22,6 +22,7 @@ namespace UnityExplorer.Config public static ConfigElement Default_Output_Path; public static ConfigElement DnSpy_Path; public static ConfigElement Log_Unity_Debug; + public static ConfigElement Log_To_Disk; public static ConfigElement Main_Navbar_Anchor; public static ConfigElement World_MouseInspect_Keybind; public static ConfigElement UI_MouseInspect_Keybind; @@ -80,7 +81,8 @@ namespace UnityExplorer.Config InternalHandler.LoadConfig(); #if STANDALONE - Loader.Standalone.ExplorerEditorBehaviour.Instance?.LoadConfigs(); + if (Loader.Standalone.ExplorerEditorBehaviour.Instance) + Loader.Standalone.ExplorerEditorBehaviour.Instance.LoadConfigs(); #endif } @@ -147,6 +149,10 @@ namespace UnityExplorer.Config "Should UnityEngine.Debug.Log messages be printed to UnityExplorer's log?", false); + Log_To_Disk = new("Log To Disk", + "Should UnityExplorer save log files to the disk?", + true); + World_MouseInspect_Keybind = new("World Mouse-Inspect Keybind", "Optional keybind to being a World-mode Mouse Inspect.", KeyCode.None); diff --git a/src/ExplorerBehaviour.cs b/src/ExplorerBehaviour.cs index 6b5492c..87e8bf8 100644 --- a/src/ExplorerBehaviour.cs +++ b/src/ExplorerBehaviour.cs @@ -53,8 +53,8 @@ namespace UnityExplorer { if (quitting) return; quitting = true; - - TryDestroy(UIManager.UIRoot?.transform.root.gameObject); + if (UIManager.UIRoot) + TryDestroy(UIManager.UIRoot.transform.root.gameObject); TryDestroy((typeof(Universe).Assembly.GetType("UniverseLib.UniversalBehaviour") .GetProperty("Instance", BindingFlags.Static | BindingFlags.NonPublic) diff --git a/src/ExplorerCore.cs b/src/ExplorerCore.cs index 221bd7b..9fce091 100644 --- a/src/ExplorerCore.cs +++ b/src/ExplorerCore.cs @@ -20,8 +20,8 @@ namespace UnityExplorer public static class ExplorerCore { public const string NAME = "UnityExplorer"; - public const string VERSION = "4.9.0"; - public const string AUTHOR = "Sinai"; + public const string VERSION = "4.11.1"; + public const string AUTHOR = "Sinai, yukieiji"; public const string GUID = "com.sinai.unityexplorer"; public static IExplorerLoader Loader { get; private set; } diff --git a/src/Inspectors/GameObjectInspector.cs b/src/Inspectors/GameObjectInspector.cs index 8116deb..dd1442b 100644 --- a/src/Inspectors/GameObjectInspector.cs +++ b/src/Inspectors/GameObjectInspector.cs @@ -11,7 +11,7 @@ namespace UnityExplorer.Inspectors { public class GameObjectInspector : InspectorBase { - public new GameObject Target => base.Target as GameObject; + public new GameObject Target => base.Target.TryCast(); public GameObject Content; @@ -31,7 +31,7 @@ namespace UnityExplorer.Inspectors { base.OnBorrowedFromPool(target); - base.Target = target as GameObject; + base.Target = target.TryCast(); Controls.UpdateGameObjectInfo(true, true); Controls.TransformControl.UpdateTransformControlValues(true); diff --git a/src/Inspectors/InspectorManager.cs b/src/Inspectors/InspectorManager.cs index 53e8656..614078e 100644 --- a/src/Inspectors/InspectorManager.cs +++ b/src/Inspectors/InspectorManager.cs @@ -27,7 +27,7 @@ namespace UnityExplorer if (TryFocusActiveInspector(obj)) return; - if (obj is GameObject) + if (obj.TryCast() != null) CreateInspector(obj); else CreateInspector(obj, false, parent); diff --git a/src/Loader/BepInEx/ExplorerBepInPlugin.cs b/src/Loader/BepInEx/ExplorerBepInPlugin.cs index ab9ad33..0ade428 100644 --- a/src/Loader/BepInEx/ExplorerBepInPlugin.cs +++ b/src/Loader/BepInEx/ExplorerBepInPlugin.cs @@ -5,8 +5,17 @@ using HarmonyLib; using UnityExplorer.Config; using UnityExplorer.Loader.BIE; #if CPP +#if BIPUNITY +using BepInEx.Unity.IL2CPP; +#else using BepInEx.IL2CPP; #endif +#endif +#if MONO +#if BIPUNITY +using BepInEx.Unity.Mono; +#endif +#endif namespace UnityExplorer { diff --git a/src/Loader/MelonLoader/ExplorerMelonMod.cs b/src/Loader/MelonLoader/ExplorerMelonMod.cs index e7882d7..d203a0f 100644 --- a/src/Loader/MelonLoader/ExplorerMelonMod.cs +++ b/src/Loader/MelonLoader/ExplorerMelonMod.cs @@ -23,10 +23,15 @@ namespace UnityExplorer public string ExplorerFolderName => ExplorerCore.DEFAULT_EXPLORER_FOLDER_NAME; public string ExplorerFolderDestination => MelonHandler.ModsDirectory; +#if INTEROP public string UnhollowedModulesFolder => Path.Combine( Path.GetDirectoryName(MelonHandler.ModsDirectory), Path.Combine("MelonLoader", "Il2CppAssemblies")); - +#else + public string UnhollowedModulesFolder => Path.Combine( + Path.GetDirectoryName(MelonHandler.ModsDirectory), + Path.Combine("MelonLoader", "Managed")); +#endif public ConfigHandler ConfigHandler => _configHandler; public MelonLoaderConfigHandler _configHandler; diff --git a/src/ObjectExplorer/SearchProvider.cs b/src/ObjectExplorer/SearchProvider.cs index e372ef5..9cd5ef1 100644 --- a/src/ObjectExplorer/SearchProvider.cs +++ b/src/ObjectExplorer/SearchProvider.cs @@ -80,8 +80,10 @@ namespace UnityExplorer.ObjectExplorer if (type == typeof(GameObject)) go = obj.TryCast(); - else if (typeof(Component).IsAssignableFrom(type)) - go = obj.TryCast()?.gameObject; + else if ( + typeof(Component).IsAssignableFrom(type) && + obj is Component comp) + go = comp.gameObject; if (go) { diff --git a/src/Tests/TestClass.cs b/src/Tests/TestClass.cs index 9fa0faf..f3eab22 100644 --- a/src/Tests/TestClass.cs +++ b/src/Tests/TestClass.cs @@ -117,9 +117,9 @@ namespace UnityExplorer.Tests Type type, GameObject go) { - ExplorerCore.Log($"_string: {_string}, integer: {integer}, color: {color.ToString()}, flags: {flags}, " + - $"vector: {vector.ToString()}, quaternion: {quaternion.ToString()}, obj: {obj?.ToString() ?? "null"}," + - $"type: {type?.FullName ?? "null"}, go: {go?.ToString() ?? "null"}"); + ExplorerCore.Log($"_string: {_string}, integer: {integer}, color: {color}, flags: {flags}, " + + $"vector: {vector}, quaternion: {quaternion}, obj: {obj?.ToString() ?? "null"}," + + $"type: {type?.FullName ?? "null"}, go: {go}"); } private static void Init_Mono() diff --git a/src/UI/Panels/LogPanel.cs b/src/UI/Panels/LogPanel.cs index 7a010b8..ed70757 100644 --- a/src/UI/Panels/LogPanel.cs +++ b/src/UI/Panels/LogPanel.cs @@ -73,7 +73,8 @@ namespace UnityExplorer.UI.Panels File.Delete(files[i]); } - File.WriteAllLines(CurrentStreamPath, Logs.Select(it => it.message).ToArray()); + if (ConfigManager.Log_To_Disk.Value) + File.WriteAllLines(CurrentStreamPath, Logs.Select(it => it.message).ToArray()); } // Logging @@ -82,7 +83,7 @@ namespace UnityExplorer.UI.Panels { Logs.Add(new LogInfo(message, type)); - if (CurrentStreamPath != null) + if (CurrentStreamPath != null && ConfigManager.Log_To_Disk.Value) File.AppendAllText(CurrentStreamPath, '\n' + message); if (logScrollPool != null) diff --git a/src/UI/Widgets/UnityObjects/MaterialWidget.cs b/src/UI/Widgets/UnityObjects/MaterialWidget.cs index aea0a9f..d473240 100644 --- a/src/UI/Widgets/UnityObjects/MaterialWidget.cs +++ b/src/UI/Widgets/UnityObjects/MaterialWidget.cs @@ -49,7 +49,7 @@ namespace UnityExplorer.UI.Widgets { if (material.GetTexture(property) is Texture texture) { - if (texture.TryCast() is null && texture.TryCast() is null) + if (texture.TryCast() == null && texture.TryCast() == null) continue; textures.Add(property, texture); diff --git a/src/UI/Widgets/UnityObjects/UnityObjectWidget.cs b/src/UI/Widgets/UnityObjects/UnityObjectWidget.cs index 967d55f..ad9a24d 100644 --- a/src/UI/Widgets/UnityObjects/UnityObjectWidget.cs +++ b/src/UI/Widgets/UnityObjects/UnityObjectWidget.cs @@ -28,7 +28,7 @@ namespace UnityExplorer.UI.Widgets { Texture2D or Cubemap => Pool.Borrow(), Sprite s when s.texture => Pool.Borrow(), - Image i when i.sprite?.texture => Pool.Borrow(), + Image i when i.sprite && i.sprite.texture => Pool.Borrow(), Material when MaterialWidget.MaterialWidgetSupported => Pool.Borrow(), diff --git a/src/UnityExplorer.csproj b/src/UnityExplorer.csproj index 12ed5ee..49b9d57 100644 --- a/src/UnityExplorer.csproj +++ b/src/UnityExplorer.csproj @@ -1,268 +1,349 @@  - - Library - AnyCPU - true - false - true - false - none - true - embedded - UnityExplorer - latest - 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 - ..\Release\UnityExplorer.MelonLoader.IL2CPP\ - CPP,ML,UNHOLLOWER - UnityExplorer.ML.IL2CPP - - - - net35 - ..\Release\UnityExplorer.MelonLoader.Mono\ - MONO,ML - UnityExplorer.ML.Mono - - - - net472 - ..\Release\UnityExplorer.BepInEx.IL2CPP\ - CPP,BIE,BIE6,UNHOLLOWER - UnityExplorer.BIE.IL2CPP - - - - net6 - ..\Release\UnityExplorer.BepInEx.IL2CPP.CoreCLR\ - CPP,BIE,BIE6,INTEROP - UnityExplorer.BIE.IL2CPP.CoreCLR - - - - net35 - ..\Release\UnityExplorer.BepInEx6.Mono\ - MONO,BIE,BIE6 - UnityExplorer.BIE6.Mono - - - - net35 - ..\Release\UnityExplorer.BepInEx5.Mono\ - MONO,BIE,BIE5 - UnityExplorer.BIE5.Mono - - - - net35 - ..\Release\UnityExplorer.Standalone.Mono\ - MONO,STANDALONE - UnityExplorer.STANDALONE.Mono - - - - net472 - ..\Release\UnityExplorer.Standalone.IL2CPP\ - CPP,STANDALONE,UNHOLLOWER - UnityExplorer.STANDALONE.IL2CPP - + + Library + AnyCPU + true + false + true + false + none + false + none + UnityExplorer + 10.0 + false + BIE_Cpp;BIE_Cpp_CoreCLR;BIE_Unity_Cpp_CoreCLR;BIE5_Mono;BIE6_Mono;BIE6_Unity_Mono;ML_Cpp_net6;ML_Cpp_CoreCLR;ML_Cpp_net472;ML_Mono;STANDALONE_Mono;STANDALONE_Cpp + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ..\lib\net6\mcs.dll - True - - - - - - ..\lib\net35\mcs.dll - True - - - - - - ..\lib\net6\MelonLoader.dll - False - - - - - - ..\lib\net35\MelonLoader.dll - False - - - - - - ..\lib\net35\BepInEx.dll - False - - - - - - ..\lib\net35\BepInEx.Core.dll - False - - - ..\lib\net35\BepInEx.Unity.dll - False - - - - - - ..\lib\net472\BepInEx.Core.dll - False - - - ..\lib\net472\BepInEx.IL2CPP.dll - False - - - - - - ..\lib\net35\UnityEngine.dll - False - - - ..\lib\net35\UnityEngine.UI.dll - False - - - + - - ..\lib\unhollowed\Il2Cppmscorlib.dll - False - - - ..\lib\unhollowed\Il2CppSystem.Core.dll - False - - - ..\lib\unhollowed\UnityEngine.dll - False - - - ..\lib\unhollowed\UnityEngine.AudioModule.dll - False - - - ..\lib\unhollowed\UnityEngine.CoreModule.dll - False - - - ..\lib\unhollowed\UnityEngine.PhysicsModule.dll - False - - - ..\lib\unhollowed\UnityEngine.TextRenderingModule.dll - False - - - ..\lib\unhollowed\UnityEngine.UI.dll - False - - - ..\lib\unhollowed\UnityEngine.UIModule.dll - False - - - ..\lib\unhollowed\UnityEngine.IMGUIModule.dll - False - + - - - - ..\lib\interop\Il2Cppmscorlib.dll - False - - - ..\lib\interop\Il2CppSystem.Core.dll - False - - - ..\lib\interop\UnityEngine.dll - False - - - ..\lib\interop\UnityEngine.AudioModule.dll - False - - - ..\lib\interop\UnityEngine.CoreModule.dll - False - - - ..\lib\interop\UnityEngine.PhysicsModule.dll - False - - - ..\lib\interop\UnityEngine.TextRenderingModule.dll - False - - - ..\lib\interop\UnityEngine.UI.dll - False - - - ..\lib\interop\UnityEngine.UIModule.dll - False - - - ..\lib\interop\UnityEngine.IMGUIModule.dll - False - + + + + + + + + + + + + + + + + + + net6 + ..\Release\UnityExplorer.MelonLoader.IL2CPP.net6preview\ + CPP,ML,UNHOLLOWER + UnityExplorer.ML.IL2CPP.net6preview + + + + net472 + ..\Release\UnityExplorer.MelonLoader.IL2CPP\ + CPP,ML,UNHOLLOWER + UnityExplorer.ML.IL2CPP + + + + net6 + ..\Release\UnityExplorer.MelonLoader.IL2CPP.CoreCLR\ + CPP,ML,INTEROP + UnityExplorer.ML.IL2CPP.CoreCLR + + + + net35 + ..\Release\UnityExplorer.MelonLoader.Mono\ + MONO,ML + UnityExplorer.ML.Mono + + + + net472 + ..\Release\UnityExplorer.BepInEx.IL2CPP\ + CPP,BIE,BIE6,UNHOLLOWER + UnityExplorer.BIE.IL2CPP + + + + net6 + ..\Release\UnityExplorer.BepInEx.IL2CPP.CoreCLR\ + CPP,BIE,BIE6,INTEROP + UnityExplorer.BIE.IL2CPP.CoreCLR + + + + net6 + ..\Release\UnityExplorer.BepInEx.Unity.IL2CPP.CoreCLR\ + CPP,BIE,BIE6,BIPUNITY,INTEROP + UnityExplorer.BIE.Unity.IL2CPP.CoreCLR + + + + net35 + ..\Release\UnityExplorer.BepInEx6.Mono\ + MONO,BIE,BIE6 + UnityExplorer.BIE6.Mono + + + + net35 + ..\Release\UnityExplorer.BepInEx6.Unity.Mono\ + MONO,BIE,BIPUNITY,BIE6 + UnityExplorer.BIE6.Unity.Mono + + + + net35 + ..\Release\UnityExplorer.BepInEx5.Mono\ + MONO,BIE,BIE5 + UnityExplorer.BIE5.Mono + + + + net35 + ..\Release\UnityExplorer.Standalone.Mono\ + MONO,STANDALONE + UnityExplorer.STANDALONE.Mono + + + + net472 + ..\Release\UnityExplorer.Standalone.IL2CPP\ + CPP,STANDALONE,UNHOLLOWER + UnityExplorer.STANDALONE.IL2CPP + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + ..\UniverseLib\Release\UniverseLib.Il2Cpp.Unhollower\UniverseLib.IL2CPP.Unhollower.dll + True + + + + + + + + + + + + + ..\UniverseLib\Release\UniverseLib.Il2Cpp.Interop\UniverseLib.BIE.IL2CPP.Interop.dll + True + + + + + + + ..\UniverseLib\Release\UniverseLib.Il2Cpp.Interop\UniverseLib.ML.IL2CPP.Interop.dll + True + + + + + + + ..\UniverseLib\Release\UniverseLib.Mono\UniverseLib.Mono.dll + True + + + + + + + + ..\lib\net6\mcs.dll + True + + + + + + ..\lib\net35\mcs.dll + True + + + + + + ..\lib\net6\MelonLoader.dll + False + + + + + + ..\lib\net35\MelonLoader.dll + False + + + + + + ..\lib\net35\BepInEx\BepInEx.dll + False + + + + + + ..\lib\net35\BepInEx\build423~577\BepInEx.Core.dll + False + + + ..\lib\net35\BepInEx\build423~577\BepInEx.Unity.dll + False + + + + + + ..\lib\net35\BepInEx\build647+\BepInEx.Core.dll + False + + + ..\lib\net35\BepInEx\build647+\BepInEx.Unity.Mono.dll + False + + + + + + ..\lib\net472\BepInEx\build423~577\BepInEx.Core.dll + False + + + ..\lib\net472\BepInEx\build423~577\BepInEx.IL2CPP.dll + False + + + + + ..\lib\net472\BepInEx\build647+\BepInEx.Core.dll + False + + + ..\lib\net472\BepInEx\build647+\BepInEx.Unity.IL2CPP.dll + False + + + + + + ..\lib\net35\UnityEngine.dll + False + + + ..\lib\net35\UnityEngine.UI.dll + False + + + + + + ..\lib\unhollowed\Il2Cppmscorlib.dll + False + + + ..\lib\unhollowed\Il2CppSystem.Core.dll + False + + + ..\lib\unhollowed\UnityEngine.dll + False + + + ..\lib\unhollowed\UnityEngine.AudioModule.dll + False + + + ..\lib\unhollowed\UnityEngine.CoreModule.dll + False + + + ..\lib\unhollowed\UnityEngine.PhysicsModule.dll + False + + + ..\lib\unhollowed\UnityEngine.TextRenderingModule.dll + False + + + ..\lib\unhollowed\UnityEngine.UI.dll + False + + + ..\lib\unhollowed\UnityEngine.UIModule.dll + False + + + ..\lib\unhollowed\UnityEngine.IMGUIModule.dll + False + + + + + + ..\lib\interop\Il2Cppmscorlib.dll + False + + + ..\lib\interop\Il2CppSystem.Core.dll + False + + + ..\lib\interop\UnityEngine.dll + False + + + ..\lib\interop\UnityEngine.AudioModule.dll + False + + + ..\lib\interop\UnityEngine.CoreModule.dll + False + + + ..\lib\interop\UnityEngine.PhysicsModule.dll + False + + + ..\lib\interop\UnityEngine.TextRenderingModule.dll + False + + + ..\lib\interop\UnityEngine.UI.dll + False + + + ..\lib\interop\UnityEngine.UIModule.dll + False + + + ..\lib\interop\UnityEngine.IMGUIModule.dll + False + + \ No newline at end of file diff --git a/src/UnityExplorer.sln b/src/UnityExplorer.sln index dca061c..4773e46 100644 --- a/src/UnityExplorer.sln +++ b/src/UnityExplorer.sln @@ -7,32 +7,38 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UnityExplorer", "UnityExplo EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution - Release_BIE_Cpp|Any CPU = Release_BIE_Cpp|Any CPU Release_BIE_CoreCLR|Any CPU = Release_BIE_CoreCLR|Any CPU + Release_BIE_Cpp|Any CPU = Release_BIE_Cpp|Any CPU + Release_BIE_Unity_Cpp|Any CPU = Release_BIE_Unity_Cpp|Any CPU Release_BIE5_Mono|Any CPU = Release_BIE5_Mono|Any CPU Release_BIE6_Mono|Any CPU = Release_BIE6_Mono|Any CPU + Release_BIE6_Unity_Mono|Any CPU = Release_BIE6_Unity_Mono|Any CPU + Release_ML_Cpp_CoreCLR|Any CPU = Release_ML_Cpp_CoreCLR|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_Cpp_net6preview|Any CPU = Release_ML_Cpp_net6preview|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 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {B21DBDE3-5D6F-4726-93AB-CC3CC68BAE7D}.Release_BIE_Cpp|Any CPU.ActiveCfg = BIE_Cpp|Any CPU - {B21DBDE3-5D6F-4726-93AB-CC3CC68BAE7D}.Release_BIE_Cpp|Any CPU.Build.0 = BIE_Cpp|Any CPU {B21DBDE3-5D6F-4726-93AB-CC3CC68BAE7D}.Release_BIE_CoreCLR|Any CPU.ActiveCfg = BIE_Cpp_CoreCLR|Any CPU {B21DBDE3-5D6F-4726-93AB-CC3CC68BAE7D}.Release_BIE_CoreCLR|Any CPU.Build.0 = BIE_Cpp_CoreCLR|Any CPU + {B21DBDE3-5D6F-4726-93AB-CC3CC68BAE7D}.Release_BIE_Cpp|Any CPU.ActiveCfg = BIE_Cpp|Any CPU + {B21DBDE3-5D6F-4726-93AB-CC3CC68BAE7D}.Release_BIE_Cpp|Any CPU.Build.0 = BIE_Cpp|Any CPU + {B21DBDE3-5D6F-4726-93AB-CC3CC68BAE7D}.Release_BIE_Unity_Cpp|Any CPU.ActiveCfg = BIE_Unity_Cpp_CoreCLR|Any CPU + {B21DBDE3-5D6F-4726-93AB-CC3CC68BAE7D}.Release_BIE_Unity_Cpp|Any CPU.Build.0 = BIE_Unity_Cpp_CoreCLR|Any CPU {B21DBDE3-5D6F-4726-93AB-CC3CC68BAE7D}.Release_BIE5_Mono|Any CPU.ActiveCfg = BIE5_Mono|Any CPU {B21DBDE3-5D6F-4726-93AB-CC3CC68BAE7D}.Release_BIE5_Mono|Any CPU.Build.0 = BIE5_Mono|Any CPU {B21DBDE3-5D6F-4726-93AB-CC3CC68BAE7D}.Release_BIE6_Mono|Any CPU.ActiveCfg = BIE6_Mono|Any CPU {B21DBDE3-5D6F-4726-93AB-CC3CC68BAE7D}.Release_BIE6_Mono|Any CPU.Build.0 = BIE6_Mono|Any CPU + {B21DBDE3-5D6F-4726-93AB-CC3CC68BAE7D}.Release_BIE6_Unity_Mono|Any CPU.ActiveCfg = BIE6_Unity_Mono|Any CPU + {B21DBDE3-5D6F-4726-93AB-CC3CC68BAE7D}.Release_BIE6_Unity_Mono|Any CPU.Build.0 = BIE6_Unity_Mono|Any CPU + {B21DBDE3-5D6F-4726-93AB-CC3CC68BAE7D}.Release_ML_Cpp_CoreCLR|Any CPU.ActiveCfg = ML_Cpp_CoreCLR|Any CPU + {B21DBDE3-5D6F-4726-93AB-CC3CC68BAE7D}.Release_ML_Cpp_CoreCLR|Any CPU.Build.0 = ML_Cpp_CoreCLR|Any CPU {B21DBDE3-5D6F-4726-93AB-CC3CC68BAE7D}.Release_ML_Cpp_net472|Any CPU.ActiveCfg = ML_Cpp_net472|Any CPU {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_Cpp_net6preview|Any CPU.ActiveCfg = ML_Cpp_net6|Any CPU + {B21DBDE3-5D6F-4726-93AB-CC3CC68BAE7D}.Release_ML_Cpp_net6preview|Any CPU.Build.0 = ML_Cpp_net6|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