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
{{ message }}
This repository was archived by the owner on May 9, 2023. It is now read-only.
Copy file name to clipboardExpand all lines: README.md
+36-61Lines changed: 36 additions & 61 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,8 +3,9 @@
3
3
</p>
4
4
5
5
<palign="center">
6
-
An in-game explorer and a suite of debugging tools for <ahref="https://docs.unity3d.com/Manual/IL2CPP.html">IL2CPP</a> and <b>Mono</b> Unity games, using <ahref="https://github.com/HerpDerpinstine/MelonLoader">MelonLoader</a> and <ahref="https://github.com/BepInEx/BepInEx">BepInEx</a>.<br><br>
7
-
6
+
An in-game explorer and a suite of debugging tools for <ahref="https://docs.unity3d.com/Manual/IL2CPP.html">IL2CPP</a> and <b>Mono</b> Unity games, to aid with modding development.
* <b>Scene Explorer</b>: Simple menu to traverse the Transform heirarchy of the scene.
@@ -47,79 +47,54 @@
47
47
48
48
## How to install
49
49
50
-
### MelonLoader
51
-
Requires [MelonLoader](https://github.com/HerpDerpinstine/MelonLoader) to be installed for your game.
50
+
### BepInEx
52
51
53
-
1. Download the relevant release from above.
54
-
2. Unzip the file into the `Mods` folder in your game's installation directory, created by MelonLoader.
55
-
3. Make sure it's not in a sub-folder, `Explorer.dll` should be directly in the `Mods\` folder.
52
+
0. Install [BepInEx](https://github.com/BepInEx/BepInEx) for your game.
53
+
1. Download the UnityExplorer release for BepInEx IL2CPP or Mono above.
54
+
2. Take the `UnityExplorer.dll` file and put it in `[GameFolder]\BepInEx\plugins\`
55
+
3. Take the `UnityExplorer\` folder (with `explorerui.bundle`) and put it in `[GameFolder]\Mods\`, so it looks like `[GameFolder]\Mods\UnityExplorer\explorerui.bundle`.
56
+
4. In IL2CPP, it is highly recommended to get the base Unity libs for the game's Unity version and put them in the `BepInEx\unhollowed\base\` folder.
56
57
57
-
### BepInEx
58
-
Requires [BepInEx](https://github.com/BepInEx/BepInEx) to be installed for your game.
58
+
### MelonLoader
59
59
60
-
1. Download the relevant release from above.
61
-
2. Unzip the file into the `BepInEx\plugins\` folder in your game's installation directory, created by BepInEx.
62
-
3. Make sure it's not in a sub-folder, `Explorer.dll` should be directly in the `plugins\` folder.
60
+
0. Install [MelonLoader](https://github.com/HerpDerpinstine/MelonLoader) for your game.
61
+
1. Download the UnityExplorer release for MelonLoader IL2CPP or Mono above.
62
+
2. Take the contents of the release and put it in the `[GameFolder]\Mods\` folder. It should look like `[GameFolder]\Mods\UnityExplorer.dll` and `[GameFolder]\Mods\UnityExplorer\explorerui.bundle`.
63
63
64
64
## Mod Config
65
65
66
-
There is a simple Mod Config for the Explorer. You can access the settings via the "Options" page of the main menu.
66
+
You can access the settings via the "Options" page of the main menu, or directly from the config at `Mods\UnityExplorer\config.xml` (generated after first launch).
67
67
68
-
`Main Menu Toggle` (KeyCode) | Default: `F7`
68
+
`Main Menu Toggle` (KeyCode)
69
+
* Default: `F7`
69
70
* See [this article](https://docs.unity3d.com/ScriptReference/KeyCode.html) for a full list of all accepted KeyCodes.
* Where output is generated to, by default (for Texture PNG saving, etc).
85
84
86
-
## Mouse Control
87
-
88
-
Explorer can force the mouse to be visible and unlocked when the menu is open, if you have enabled "Force Unlock Mouse" (Left-Alt toggle). Explorer also attempts to prevent clicking-through onto the game behind the Explorer menu.
89
-
90
-
If you need more mouse control:
91
-
92
-
* For VRChat, use [VRCExplorerMouseControl](https://github.com/sinai-dev/VRCExplorerMouseControl)
93
-
* For Hellpoint, use [HPExplorerMouseControl](https://github.com/sinai-dev/Hellpoint-Mods/tree/master/HPExplorerMouseControl/HPExplorerMouseControl)
94
-
* You can create your own plugin using one of the two plugins above as an example. Usually only a few simple Harmony patches are needed to fix the problem.
95
-
96
-
For example:
97
-
```csharp
98
-
usingExplorer;
99
-
usingHarmony; // or 'using HarmonyLib;' for BepInEx
100
-
// ...
101
-
// You will need to figure out the relevant Class and Method for your game using dnSpy.
// prevent method running if menu open, let it run if not.
109
-
return!ExplorerCore.ShowMenu;
110
-
}
111
-
}
112
-
```
85
+
`Log Unity Debug` (bool)
86
+
* Default: `false`
87
+
* Listens for Unity `Debug.Log` messages and prints them to UnityExplorer's log.
113
88
114
89
## Building
115
90
116
-
If you'd like to build this yourself, you will need to have installed BepInEx and/or MelonLoader for at least one Unity game. If you want to build all 4 versions, you will need at least one Il2Cpp and one Mono game, with BepInEx and MelonLoader installed for both.
91
+
If you'd like to build this yourself, you will need to have installed BepInEx and/or MelonLoader for at least one Unity game. If you want to build all 4 versions, you will need at least one IL2CPP and one Mono game, with BepInEx and MelonLoader installed for both.
117
92
118
93
1. Install MelonLoader or BepInEx for your game.
119
94
2. Open the `src\Explorer.csproj` file in a text editor.
120
-
3. Set the relevant `GameFolder` values for the versions you want to build, eg. set `MLCppGameFolder` if you want to build for a MelonLoader Il2Cpp game.
95
+
3. Set the relevant `GameFolder` values for the versions you want to build, eg. set `MLCppGameFolder` if you want to build for a MelonLoader IL2CPP game.
121
96
4. Open the `src\Explorer.sln` project.
122
-
5. Select `Solution 'Explorer' (1 of 1 project)` in the Solution Explorer panel, and set the <b>Active config</b> property to the version you want to build, then build it.
97
+
5. Select `Solution 'UnityExplorer' (1 of 1 project)` in the Solution Explorer panel, and set the <b>Active config</b> property to the version you want to build, then build it.
123
98
5. The DLLs are built to the `Release\` folder in the root of the repository.
124
99
6. If ILRepack fails or is missing, use the NuGet package manager to re-install `ILRepack.Lib.MSBuild.Task`, then re-build.
125
100
@@ -128,5 +103,5 @@ If you'd like to build this yourself, you will need to have installed BepInEx an
128
103
Written by Sinai.
129
104
130
105
Thanks to:
131
-
*[ManlyMarco](https://github.com/ManlyMarco) for their [Runtime Unity Editor](https://github.com/ManlyMarco/RuntimeUnityEditor), which I used for the REPL Console and the "Find instances" snippet, and the UI style.
132
-
*[denikson](https://github.com/denikson) for [mcs-unity](https://github.com/denikson/mcs-unity). I commented out the `SkipVisibilityExt` constructor since it was causing an exception with the Hook it attempted.
106
+
*[ManlyMarco](https://github.com/ManlyMarco) for their [Runtime Unity Editor](https://github.com/ManlyMarco/RuntimeUnityEditor), which I used for some aspects of the C# Console and Auto-Complete features.
107
+
*[denikson](https://github.com/denikson)(aka Horse) for [mcs-unity](https://github.com/denikson/mcs-unity). I commented out the `SkipVisibilityExt` constructor since it was causing an exception with the Hook it attempted in IL2CPP.
0 commit comments