CppExplorer
An in-game explorer and a suite of debugging tools for IL2CPP Unity games, using MelonLoader.
Known issue
Some games are experiencing MissingMethodException
s or exceptions about failed unstripping, which prevent the CppExplorer menu from showing properly or at all. This is a bug with Il2CppAssemblyUnhollower and there isn't much I can do about it myself.
If you're familiar with C# and Unity, one possibility for now is making a fork of this repo and manually fixing all the broken methods to ones which aren't broken (if possible). There may be another overload of the same method which wasn't stripped or was unstripped successfully, which you can use instead.
Features
- Scene hierarchy explorer
- Search loaded assets with filters
- Traverse and manipulate GameObjects
- Generic Reflection inspector
- C# REPL Console
- Inspect-under-mouse
How to install
Requires MelonLoader to be installed for your game.
- Download CppExplorer.zip from Releases.
- Unzip the file into the
Mods
folder in your game's installation directory, created by MelonLoader. - Make sure it's not in a sub-folder,
CppExplorer.dll
andmcs.dll
should be directly in theMods\
folder.
How to use
- Press F7 to show or hide the menu.
- Simply browse through the scene, search for objects, etc, it's pretty self-explanatory.
Mouse Control
CppExplorer can force the mouse to be visible and unlocked when the menu is open, if you have enabled "Force Unlock Mouse" (Left-Alt toggle). However, you may also want to prevent the mouse clicking-through onto the game behind CppExplorer, this is possible but it requires specific patches for that game.
- For VRChat, use VRCExplorerMouseControl
- You can create your own mini-plugin using one of the two plugins above as an example. Usually only 1 or 2 simple Harmony patches are needed to fix the problem (if you want to submit that here, feel free to make a PR to this Readme).
Images
Scene Explorer, GameObject Inspector, and Reflection Inspectors:
Object Search:
C# REPL console:
Credits
Written by Sinai.
Thanks to:
- ManlyMarco for their Runtime Unity Editor, which I used for the REPL Console and the "Find instances" snippet, and the UI style.
- denikson for mcs-unity. I commented out the
SkipVisibilityExt
constructor inmcs.dll
since it was causing an exception with the Hook it attempted.