From d7008db22e8a9bc7969a38e0a07b191de286d209 Mon Sep 17 00:00:00 2001 From: Sinai <49360850+sinai-dev@users.noreply.github.com> Date: Wed, 2 Jun 2021 16:25:12 +1000 Subject: [PATCH] Update README.md --- README.md | 89 +++++++++++++++++++++++++++---------------------------- 1 file changed, 43 insertions(+), 46 deletions(-) diff --git a/README.md b/README.md index 9925d71..1c59512 100644 --- a/README.md +++ b/README.md @@ -6,46 +6,42 @@ 🔍 An in-game UI for exploring, debugging and modifying Unity games.

- ✔️ Supports most Unity games from versions 5.2 to 2020+ (IL2CPP and Mono). + ✔️ Supports most Unity versions from 5.2 to >2020 (IL2CPP and Mono).

💜 Enjoy this tool? Consider supporting me on ko-fi!

-## Releases [![](https://img.shields.io/github/downloads/sinai-dev/UnityExplorer/total.svg)](../../releases) +# Releases [![](https://img.shields.io/github/downloads/sinai-dev/UnityExplorer/total.svg)](../../releases) -[![](https://img.shields.io/github/release/sinai-dev/UnityExplorer.svg?label=version)](../../releases/latest) [![](https://img.shields.io/github/downloads/sinai-dev/UnityExplorer/latest/total.svg)](../../releases/latest) -| Mod Loader | IL2CPP | Mono | -| ----------- | ------ | ---- | -| [BepInEx](https://github.com/BepInEx/BepInEx) 6.X | ✅ [link](https://github.com/sinai-dev/UnityExplorer/releases/latest/download/UnityExplorer.BepInEx.Il2Cpp.zip) | ✅ [link](https://github.com/sinai-dev/UnityExplorer/releases/latest/download/UnityExplorer.BepInEx6.Mono.zip) | -| [BepInEx](https://github.com/BepInEx/BepInEx) 5.X | ✖️ n/a | ✅ [link](https://github.com/sinai-dev/UnityExplorer/releases/latest/download/UnityExplorer.BepInEx5.Mono.zip) | -| [MelonLoader](https://github.com/HerpDerpinstine/MelonLoader) 0.3.1 | ✅ [link](https://github.com/sinai-dev/UnityExplorer/releases/latest/download/UnityExplorer.MelonLoader.Il2Cpp.zip) | ✅ [link](https://github.com/sinai-dev/UnityExplorer/releases/latest/download/UnityExplorer.MelonLoader.Mono.zip) | -| [MelonLoader](https://github.com/HerpDerpinstine/MelonLoader) 0.3.0 | ✅ [link](https://github.com/sinai-dev/UnityExplorer/releases/latest/download/UnityExplorer.MelonLoader_Legacy.Il2Cpp.zip) | ✅ [link](https://github.com/sinai-dev/UnityExplorer/releases/latest/download/UnityExplorer.MelonLoader_Legacy.Mono.zip) | -| Standalone | ✅ [link](https://github.com/sinai-dev/UnityExplorer/releases/latest/download/UnityExplorer.Standalone.Il2Cpp.zip) | ✅ [link](https://github.com/sinai-dev/UnityExplorer/releases/latest/download/UnityExplorer.Standalone.Mono.zip) | +[![](https://img.shields.io/github/release/sinai-dev/UnityExplorer.svg?label=version)](../../releases/latest) [![](https://img.shields.io/github/workflow/status/sinai-dev/UnityExplorer/Build%20UnityExplorer)](https://github.com/sinai-dev/UnityExplorer/actions) [![](https://img.shields.io/github/downloads/sinai-dev/UnityExplorer/latest/total.svg)](../../releases/latest) -* [Click here for Bleeding Edge releases](https://github.com/sinai-dev/UnityExplorer/actions) (click on the latest workflow and scroll down to Artifacts) +## BepInEx -### Known issues -* Any `MissingMethodException` or `NotSupportedException`: please report the issue and provide a copy of your mod loader log and/or Unity log. -* In IL2CPP, some IEnumerable and IDictionary types may fail enumeration. Waiting for the Unhollower rewrite to address this any further. -* The C# Console's completions have some minor issues such as not suggestion global classes which have no namespace, and erronously suggesting classes from using directives when they shouldn't be suggested. These are issues with mcs itself which I am looking into. +| Release | IL2CPP | Mono | +| ------- | ------ | ---- | +| BIE 6.X | ✅ [link](https://github.com/sinai-dev/UnityExplorer/releases/latest/download/UnityExplorer.BepInEx.Il2Cpp.zip) | ✅ [link](https://github.com/sinai-dev/UnityExplorer/releases/latest/download/UnityExplorer.BepInEx6.Mono.zip) | +| BIE 5.X | ✖️ n/a | ✅ [link](https://github.com/sinai-dev/UnityExplorer/releases/latest/download/UnityExplorer.BepInEx5.Mono.zip) | -## How to install +1. Take the `UnityExplorer.BIE.[version].dll` file and put it in `BepInEx\plugins\` +2. In IL2CPP, you will need to download the [Unity libs](https://github.com/LavaGang/Unity-Runtime-Libraries) for the game's Unity version, create a folder `BepInEx\unity-libs\`, then extract the Unity libs into this folder. -### BepInEx +Note: BepInEx 6 is obtainable via [BepisBuilds](https://builds.bepis.io/projects/bepinex_be) -1. Install [BepInEx](https://github.com/BepInEx/BepInEx) for your game. IL2CPP currently requires a [Bleeding Edge](https://builds.bepis.io/projects/bepinex_be) release. -2. Download the UnityExplorer release for BepInEx IL2CPP or Mono above. -3. Take the `UnityExplorer.BIE.___.dll` file and put it in `[GameFolder]\BepInEx\plugins\` -4. In IL2CPP, you will need to download the [Unity libs](https://github.com/LavaGang/Unity-Runtime-Libraries) for the game's Unity version and put them in the `BepInEx\unity-libs\` folder. +## MelonLoader -### MelonLoader +| Release | IL2CPP | Mono | +| ------- | ------ | ---- | +| ML 0.3.1+ | ✅ [link](https://github.com/sinai-dev/UnityExplorer/releases/latest/download/UnityExplorer.MelonLoader.Il2Cpp.zip) | ✅ [link](https://github.com/sinai-dev/UnityExplorer/releases/latest/download/UnityExplorer.MelonLoader.Mono.zip) | +| ML 0.3.0 | ✅ [link](https://github.com/sinai-dev/UnityExplorer/releases/latest/download/UnityExplorer.MelonLoader_Legacy.Il2Cpp.zip) | ✅ [link](https://github.com/sinai-dev/UnityExplorer/releases/latest/download/UnityExplorer.MelonLoader_Legacy.Mono.zip) | -1. Install [MelonLoader](https://github.com/HerpDerpinstine/MelonLoader) 0.3.1+ for your game (or use `MelonLoader_Legacy` for `0.3.0`). This version can currently be obtained from [here](https://github.com/LavaGang/MelonLoader/actions). -2. Download the UnityExplorer release for MelonLoader IL2CPP or Mono above. -3. Take the `UnityExplorer.ML.___.dll` file and put it in the `[GameFolder]\Mods\` folder. +1. Take the `UnityExplorer.ML.[version].dll` file and put it in the `Mods\` folder created by MelonLoader. -### Standalone +## Standalone + +| IL2CPP | Mono | +| ------ | ---- | +| ✅ [link](https://github.com/sinai-dev/UnityExplorer/releases/latest/download/UnityExplorer.Standalone.Il2Cpp.zip) | ✅ [link](https://github.com/sinai-dev/UnityExplorer/releases/latest/download/UnityExplorer.Standalone.Mono.zip) | 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](https://github.com/knah/Il2CppAssemblyUnhollower#required-external-setup). @@ -54,7 +50,12 @@ The standalone release can be used with any injector or loader of your choice, b 3. Create an instance of Unity Explorer with `UnityExplorer.ExplorerStandalone.CreateInstance();` 4. Optionally subscribe to the `ExplorerStandalone.OnLog` event to handle logging if you wish -## Features +# Known issues +* Any `MissingMethodException` or `NotSupportedException`: please report the issue and provide a copy of your mod loader log and/or Unity log. +* In IL2CPP, some IEnumerable and IDictionary types may fail enumeration. Waiting for the Unhollower rewrite to address this any further. +* The C# Console's completions have some minor issues such as not suggestion global classes which have no namespace, and erronously suggesting classes from using directives when they shouldn't be suggested. These are issues with mcs itself which I am looking into. + +# Features

@@ -69,34 +70,30 @@ The standalone release can be used with any injector or loader of your choice, b ### Inspector -The inspector is used to see detailed information on GameObjects (GameObject Inspector), C# objects (Reflection Inspector) and C# classes (Static Inspector). - -* In the GameObject Inspector, 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. -* In the Reflection Inspectors, automatic updating is not enabled by default, and you must press Apply for any changes you make to take effect. +* The inspector is used to see detailed information on GameObjects (GameObject Inspector), C# objects (Reflection Inspector) and C# classes (Static Inspector). + * In the GameObject Inspector, 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. + * In the Reflection Inspectors, automatic updating is not enabled by default, and you must press Apply for any changes you make to take effect. ### C# Console -The C# Console uses the `Mono.CSharp.Evaluator` to define temporary classes or run immediate REPL code. - -See the "Help" dropdown in the C# console menu for more detailed information. +* The C# Console uses the `Mono.CSharp.Evaluator` to define temporary classes or run immediate REPL code. +* See the "Help" dropdown in the C# console menu for more detailed information. ### Mouse-Inspect -The "Mouse Inspect" dropdown on the main UnityExplorer navbar allows you to inspect objects under the mouse. - -* World: uses Physics.Raycast to look for Colliders -* UI: uses GraphicRaycasters to find UI objects +* The "Mouse Inspect" dropdown on the main UnityExplorer navbar allows you to inspect objects under the mouse. + * World: uses Physics.Raycast to look for Colliders + * UI: uses GraphicRaycasters to find UI objects ### Settings -You can change the settings via the "Options" page of the main menu, or directly from the config file. +* You can change the settings via the "Options" page of the main menu, or directly from the config file. +* Depending on the release you are using, the config file will be found at: + * BepInEx: `BepInEx\config\com.sinai.unityexplorer.cfg` + * MelonLoader: `UserData\MelonPreferences.cfg` + * Standalone `{DLL_location}\UnityExplorer\config.ini` -Depending on the release you are using, the config file will be found at: -* BepInEx: `BepInEx\config\com.sinai.unityexplorer.cfg` -* MelonLoader: `UserData\MelonPreferences.cfg` -* Standalone `{DLL_location}\UnityExplorer\config.ini` - -## Building +# Building If you fork the repository on GitHub you can build using the [dotnet workflow](https://github.com/sinai-dev/UnityExplorer/blob/master/.github/workflows/dotnet.yml): @@ -111,7 +108,7 @@ For Visual Studio: 2. Build `mcs`, and if using IL2CPP then build `UnhollowerBaseLib` as well. 3. Build the UnityExplorer release(s) you want to use, either by selecting the config as the Active Config, or batch-building. -## Acknowledgments +# Acknowledgments * [ManlyMarco](https://github.com/ManlyMarco) for [Runtime Unity Editor](https://github.com/ManlyMarco/RuntimeUnityEditor) \[[license](THIRDPARTY_LICENSES.md#runtimeunityeditor-license)\], the ScriptEvaluator from RUE's REPL console was used as the base for UnityExplorer's C# console. * [denikson](https://github.com/denikson) (aka Horse) for [mcs-unity](https://github.com/denikson/mcs-unity) \[no license\], used as the `Mono.CSharp` reference for the C# Console.