UnityExplorer
An in-game UI for exploring, debugging and modifying Unity games
模組介紹 作者原文
🔍 An in-game UI for exploring, debugging and modifying Unity games.
⭐ This is an unofficial release intended.
Links
Official release:
Original project:
Features
Inspector API
If you want to inspect an object or Type from outside the C# console, use the InspectorManager class:
To inspect an object:
UnityExplorer.InspectorManager.Inspect(theObject);
To inspect a Type:
UnityExplorer.InspectorManager.Inspect(typeof(SomeClass));
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 filters at the top to quickly find the members you are looking for
- For Texture2D, Image, Sprite and Material objects, there is a View Texture button at the top of the inspector which lets you view the Texture(s) and save them as a PNG file.
- For AudioClip objects there is a Show Player button which opens an audio player widget. For clips which are loaded as DecompressOnLoad, there is also a button to save them to a.wav file.
C# Console
- The C# Console uses the Mono.CSharp.Evaluator to define temporary classes or run immediate REPL code.
- You can execute a script automatically on startup by naming it startup.cs and placing it in the sinai-dev-UnityExplorer\Scripts\ folder (this folder will be created where you placed the DLL file).
- See the "Help" dropdown in the C# console menu for more detailed information.
Hook Manager
- The Hooks panel allows you to hook methods at the click of a button for debugging purposes.
- Simply enter any class and hook the methods you want from the menu.
- You can edit the source code of the generated hook with the "Edit Hook Source" button. Accepted method names are Prefix (which can return bool or void), Postfix, Finalizer (which can return Exception or void), and Transpiler (which must return IEnumerable). You can define multiple patches if you wish.
Mouse-Inspect
- The "Mouse Inspect" dropdown in the "Inspector" panel allows you to inspect objects under the mouse.
- World: uses Physics.Raycast to look for Colliders
- UI: uses Graphic
安裝與使用 安裝:BepInEx 外掛
- 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
- 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
- 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
- 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。
帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。
下面這些內容需要先安裝,否則該模組不會生效: