Unity Explorer
An in-game UI for exploring, debugging and modifying IL2CPP and Mono Unity games.
About this mod Author’s original text
🔍 An in-game UI for exploring, debugging and modifying Unity games.
✔️ Supports most Unity versions from 5.2 to 2021+ (IL2CPP and Mono).
Releases
⚡ releases: BepInEx Mono | BepInEx IL2CPP | MelonLoader IL2CPP
BepInEx
| Release | IL2CPP | Mono |
| ------- | ------ | ---- |
| BIE 6.X | ✅ link | ✅ link |
| BIE 5.X | ✖️ n/a | ✅ link |
- Take the UnityExplorer.BIE.[version].dll file and put it in BepInEx\plugins\
Note: BepInEx 6 is obtainable via BepisBuilds
MelonLoader
| Release | IL2CPP | Mono |
| ------- | ------ | ---- |
| ML 0.4+ | ✅ link | ✅ link |
- Take the UnityExplorer.ML.[version].dll file and put it in the Mods\ folder created by MelonLoader.
Standalone
| IL2CPP | Mono |
| ------ | ---- |
| ✅ link | ✅ link |
The standalone release can be used with any injector or loader of your choice, but it requires you to load the dependencies manually: HarmonyX, and the IL2CPP version also requires that you set up an Il2CppAssemblyUnhollower runtime.
- Load the required libs - HarmonyX, and Il2CppAssemblyUnhollower if IL2CPP
- Load the UnityExplorer DLL
- Create an instance of Unity Explorer with UnityExplorer.ExplorerStandalone.CreateInstance();
- Optionally subscribe to the ExplorerStandalone.OnLog event to handle logging if you wish
Common issues
These are some common fixes to issues which are present in some games, please create an issue in this repository if these fixes don't work.
Input not working properly
This can be caused by a number of issues, but most commonly by the Event System.
- Open the UnityExplorer config file. See the "Settings" section below if you're unsure where it is.
- For the "Disable EventSystem Override" option, set the value to true
- Restart the game.
UI not appearing or gets destroyed during startup
- Open the UnityExplorer config file. See the "Settings" section below if you're unsure where it is.
- For the "Startup Delay" option, set the value to something higher, at least as long as it takes to reach the main menu of the game.
- Restart the game.
Features
Object Explorer
- Use the Scene Explorer tab to traverse the active scenes, as well as the DontDestroyOnLoad and HideAndDontSave objects.
- The "HideAndDontSave" scene contains objects with that flag, as well as Assets and Resources which are not in any scene but behave the same way.
- You can use the Scene Loader to easily load any of the scenes in the build (may not work for Unity 5.X games)
- Use the Object Search tab to search for Unity objects (including GameObjects, Components, etc), C# Singletons or Static Classes.
- Use the UnityObject search to look for any objects which derive from UnityEngine.Object, with optional filters
- The singleton search will look for any classes with a typical "Instance" field, and check it for a current value. This may cause unexpected behaviour in some IL2CPP games as we cannot distinguish between true properties and field-properties, so some property accessors will be invoked.
Inspector
The inspector is used to see detailed information on objects of any type and manipulate their values, as well as to inspect C# Classes with static reflection.
- The GameObject Inspector (tab prefix [G]) is used to inspect a GameObject, and to see and manipulate its Transform and Components.
- You can edit any of the input fields in the inspector (excluding readonly fields) and press Enter to apply your changes. You can also do this to the GameObject path as a way to change the GameObject's parent. Press the Escape key to cancel your edits.
- note: When inspecting a GameObject with a Canvas, the transform controls may be overridden by the RectTransform anchors.
- The Reflection Inspectors (tab prefix [R] and [S]) are used for everything else
- Automatic updating is not enabled by default, and you must press Apply for any changes you make to take effect.
- Press the ▼ button to expand certain values such as strings, enums, lists, dictionaries, some structs, etc
- Use the filter
Install & use Install: follow the bundled instructions
- Unzip the archive from playbuff and read the bundled readme / instructions first.
- Most mods rely on the game's mod loader — the usual route is a community mod manager (such as r2modman): pick this game, install, and it handles the loader and dependencies.
- For a manual install, put the mod files into the matching Mod / plugins folder inside the game directory.
- Launch the game to confirm it loaded; mods with listed dependencies need those installed as well.
Install locations vary a lot between mods — the bundled readme is the most reliable guide.
Install these first, or the mod will not work: