mirror of
https://github.com/GrahamKracker/UnityExplorer.git
synced 2025-07-01 19:13:03 +08:00
Compare commits
16 Commits
Author | SHA1 | Date | |
---|---|---|---|
ca172189be | |||
308966e664 | |||
0a08dbc495 | |||
13d54477a3 | |||
359f6e6f5c | |||
4f000c5494 | |||
e7866f56fe | |||
ab2770327e | |||
f568be2d3b | |||
3c374f3903 | |||
d5e22e8156 | |||
8bece453e3 | |||
692a721840 | |||
ef73cce92f | |||
2030b5309d | |||
142a75bbbb |
74
README.md
74
README.md
@ -2,48 +2,48 @@
|
||||
|
||||
[]()
|
||||
|
||||
Universal Runtime Inspector/Explorer for Unity IL2CPP games.
|
||||
Simple in-game explorer and debugging tool for IL2CPP Unity games, using MelonLoader.
|
||||
|
||||
## Features
|
||||
* Scene exploration (traverse in the same way as the Unity Editor)
|
||||
* Inspect GameObjects/Transforms and manipulate them
|
||||
* Inspect any object with Reflection, set primitive values, etc
|
||||
* REPL Console for executing on-the-fly code
|
||||
* Scene hierarchy explorer
|
||||
* Search loaded assets with filters
|
||||
* Traverse and manipulate GameObjects
|
||||
* Generic Reflection inspector
|
||||
* REPL Console
|
||||
* Inspect-under-mouse
|
||||
|
||||
## How to install
|
||||
|
||||
Requires [MelonLoader](https://github.com/HerpDerpinstine/MelonLoader) to be installed for your game.
|
||||
|
||||
1. Download <b>CppExplorer.zip</b> from [Releases](https://github.com/sinaioutlander/CppExplorer/releases).
|
||||
2. Unzip the file into the `Mods` folder in your game's installation directory, created by MelonLoader.
|
||||
3. Make sure it's not in a sub-folder, `CppExplorer.dll` and `mcs.dll` should be directly in the `Mods\` 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.
|
||||
|
||||
## Images
|
||||
|
||||
Scene explorer, and inspection of a MonoBehaviour object:
|
||||
|
||||
[](https://i.imgur.com/Yxizwcz.png)
|
||||
|
||||
Search feature:
|
||||
|
||||
[](https://i.imgur.com/F9ZfMvz.png)
|
||||
|
||||
|
||||
REPL console:
|
||||
|
||||
[](https://i.imgur.com/14Dbtf8.png)
|
||||
|
||||
## Credits
|
||||
|
||||
Written by Sinai.
|
||||
|
||||
Credits to ManlyMarco for his [Runtime Unity Editor](https://github.com/ManlyMarco/RuntimeUnityEditor), which I used for the REPL Console and the "Find instances" snippet, and used the same MCS that he uses*.
|
||||
Credits to 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 MCS* version.
|
||||
|
||||
<i>* note: I commented out the `SkipVisibilityExt` constructor since it was causing an exception for some reason.</i>
|
||||
|
||||
## How to install
|
||||
|
||||
This requires [MelonLoader](https://github.com/HerpDerpinstine/MelonLoader) to be installed for your game.
|
||||
|
||||
1. Download <b>CppExplorer.dll</b> from the Releases folder.
|
||||
2. Put the file in your `MyGame/Mods/` folder.
|
||||
|
||||
## How to use
|
||||
|
||||
* Press F7 to show or hide the menu.
|
||||
* Currently does <b>not</b> grant locked mouse or prevent clicking-through the menu, be careful of this.
|
||||
* Simply browse through the scene, search for objects, etc, it's pretty self-explanatory.
|
||||
|
||||
If you have any specific questions about it you can contact me here, on NexusMods (Sinaioutlander), or on Discord (Sinai#4637, in MelonLoader discord).
|
||||
|
||||
## Images
|
||||
|
||||
Scene explorer, and inspection of a MonoBehaviour object.
|
||||
|
||||
[]()
|
||||
|
||||
Advanced search feature.
|
||||
|
||||
[]()
|
||||
|
||||
|
||||
REPL console.
|
||||
|
||||
[]()
|
||||
<i>* note: I commented out the `SkipVisibilityExt` constructor in `mcs.dll` since it was causing an exception with the Hook it attempted.</i>
|
||||
|
BIN
lib/mcs.dll
Normal file
BIN
lib/mcs.dll
Normal file
Binary file not shown.
@ -4,15 +4,8 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using UnityEngine;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using MelonLoader;
|
||||
using Harmony;
|
||||
using UnhollowerBaseLib.Runtime;
|
||||
using UnhollowerRuntimeLib;
|
||||
using UnhollowerBaseLib;
|
||||
using System.Runtime.CompilerServices;
|
||||
using UnhollowerBaseLib.Attributes;
|
||||
|
||||
namespace Explorer
|
||||
{
|
||||
@ -20,9 +13,9 @@ namespace Explorer
|
||||
{
|
||||
// consts
|
||||
|
||||
public const string ID = "com.sinai.explorer";
|
||||
public const string ID = "com.sinai.cppexplorer";
|
||||
public const string NAME = "IL2CPP Runtime Explorer";
|
||||
public const string VERSION = "0.91";
|
||||
public const string VERSION = "1.0.0";
|
||||
public const string AUTHOR = "Sinai";
|
||||
|
||||
// fields
|
||||
@ -65,32 +58,16 @@ namespace Explorer
|
||||
|
||||
Instance = this;
|
||||
|
||||
LoadMCS();
|
||||
|
||||
new MainMenu();
|
||||
new WindowManager();
|
||||
|
||||
var harmony = HarmonyInstance.Create(ID);
|
||||
harmony.PatchAll();
|
||||
//var harmony = HarmonyInstance.Create(ID);
|
||||
//harmony.PatchAll();
|
||||
|
||||
// done init
|
||||
ShowMenu = true;
|
||||
}
|
||||
|
||||
private void LoadMCS()
|
||||
{
|
||||
var mcsPath = @"Mods\mcs.dll";
|
||||
if (File.Exists(mcsPath))
|
||||
{
|
||||
Assembly.Load(File.ReadAllBytes(mcsPath));
|
||||
MelonLogger.Log("Loaded mcs.dll");
|
||||
}
|
||||
else
|
||||
{
|
||||
MelonLogger.LogError("Could not find mcs.dll!");
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnLevelWasLoaded(int level)
|
||||
{
|
||||
if (ScenePage.Instance != null)
|
||||
|
@ -44,10 +44,9 @@
|
||||
<HintPath>..\..\..\..\..\Steam\steamapps\common\Hellpoint\MelonLoader\Managed\Il2CppSystem.Core.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="mcs, Version=1.0.0.0, Culture=neutral, processorArchitecture=AMD64">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\Release\mcs.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
<Reference Include="mcs">
|
||||
<HintPath>..\lib\mcs.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="MelonLoader.ModHandler">
|
||||
<HintPath>..\..\..\..\..\Steam\steamapps\common\Hellpoint\MelonLoader\MelonLoader.ModHandler.dll</HintPath>
|
||||
|
@ -10,12 +10,12 @@ using MelonLoader;
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("CppExplorer")]
|
||||
[assembly: AssemblyTitle(CppExplorer.NAME)]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("CppExplorer")]
|
||||
[assembly: AssemblyCopyright("By Sinai")]
|
||||
[assembly: AssemblyCompany(CppExplorer.AUTHOR)]
|
||||
[assembly: AssemblyProduct(CppExplorer.NAME)]
|
||||
[assembly: AssemblyCopyright("")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
|
Reference in New Issue
Block a user