Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
RoomInfoOverlay
Debug overlay that displays room/module/player/inventory/economy/director/shop/extraction/photon/environment/map/details/internal values on screen.検証用オーバーレイとして部屋/モジュール/プレイヤー/インベントリ/経済/ディレクター/ショップ/納品/Photon/環境/マップ/詳細/内部値を画面表示
By REPO_JP
| Last updated | 2 months ago |
| Total downloads | 469 |
| Total rating | 7 |
| Categories | Mods Tools Client-side |
| Dependency string | REPO_JP-RoomInfoOverlay-1.0.0 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2100README
RoomInfoOverlay
A debug overlay that prints many internal runtime values on screen for troubleshooting and reverse-engineering.
Features
- On-screen overlay with anchor, padding, font, colors, and background alpha
- Section-based output with per-section enable toggles
- Performance-focused update model:
- Disabled sections are not fetched
- Enabled sections are refreshed sequentially (round-robin) to spread load
- Cached section text is concatenated into a snapshot for drawing
- Supported sections (configurable)
- Module, Room, Player, Inventory, Economy/Run, GameDirector, ShopManager, Extraction/Cart, Photon, Environment, Map, Details, Debug
- DeepDump: Player, Inventory, GameDirector, ShopManager, ExtractionCart, Photon, Economy
- DeepScan: Economy keyword scan
How it works
- Uses Unity OnGUI for rendering
- Builds GUIStyle inside OnGUI and reuses it via a computed style key
- Measures text with CalcSize per line and caches panel size by a measurement key
- Uses reflection for internal/private fields
- Caches FieldInfo for frequently accessed internal fields (Module, RoomVolumeCheck, PlayerAvatar, PlayerHealth, RunManager)
- Finds singleton-like objects by type name and common static member names (instance/Instance/Singleton/etc.)
- Implements sequential refresh
- Maintains an active section order based on config hash
- Updates only N sections per tick (SectionsPerTick), round-robin
- Stores each section output in a dictionary cache and rebuilds snapshot text from the cache
- DeepDump / keyword scan
- DeepDump traverses object graphs with recursion depth, member count limits, and optional private/field/property inclusion
- Keyword scan performs a breadth-first traversal and prints matching member names/values
Configuration
All settings are in BepInEx config.
A General
- EnableMod
- UpdateIntervalSeconds
- ShowSectionHeaders
- SectionsPerTick
B Appearance
- Anchor (TopLeft/TopRight/BottomLeft/BottomRight/Center/CenterTop)
- OffsetX / OffsetY
- FontSize / LineSpacing
- PaddingX / PaddingY
- TextColorR/G/B/A
- BackgroundColorR/G/B
- BackgroundAlpha
B2 Deep
- MaxListEntries
- SortDictionaries
C Contents
- Per-section toggles for each displayed line group
- DeepDump toggles for each DeepDump section
- Economy scan/deep-dump toggles
D DeepDump
- MaxDepth
- MaxMembersPerObject
- IncludePrivate
- IncludeFields
- IncludeProperties
- MaxStringLength
- EconomyKeywords
- EconomyMaxTypes
Notes / Caveats
- Intended for debugging. Enabling many sections, especially DeepDump/Scan, can be expensive
- Some values may show as "Unknown" when fields/properties are unavailable in a specific game version
- Photon info is obtained via reflection (Photon.Pun.PhotonNetwork) and may be unavailable if assemblies/types differ
RoomInfoOverlay
内部値の調査やデバッグ向けに、ゲーム実行中の各種情報を画面上に表示するオーバーレイです。
機能
- 表示位置、余白、フォント、色、背景透明度などを設定可能
- セクション単位で表示項目をON/OFF可能
- 軽量化のための更新方式
- OFFのセクションは取得処理を行わない
- ONのセクションをラウンドロビンで順次更新して負荷を分散
- 各セクションの文字列をキャッシュし、描画時は結合だけで表示
- 対応セクション(設定で切替)
- Module, Room, Player, Inventory, Economy/Run, GameDirector, ShopManager, Extraction/Cart, Photon, Environment, Map, Details, Debug
- DeepDump: Player, Inventory, GameDirector, ShopManager, ExtractionCart, Photon, Economy
- DeepScan: Economy キーワードスキャン
実装概要
- 描画は Unity の OnGUI
- GUIStyle は OnGUI 内で生成し、キー計算で再利用
- 行ごとに CalcSize してパネルサイズを算出し、キーでキャッシュ
- 内部値はリフレクションで取得
- 頻出フィールドは FieldInfo をキャッシュ(Module/RoomVolumeCheck/PlayerAvatar/PlayerHealth/RunManager)
- 型名でシングルトンを探索し instance/Instance/Singleton などの静的メンバーを参照
- 順次更新
- 設定の有効状態からアクティブセクション順を構築
- 1tickあたり N セクションだけ更新(SectionsPerTick)
- セクションごとの結果は辞書キャッシュし、スナップショット文字列を再生成
- DeepDump / キーワードスキャン
- DeepDump は再帰深度、メンバー数、private/field/property などを制御してオブジェクトを辿る
- キーワードスキャンはBFSで探索して一致したメンバー名/値を出力
設定
BepInEx の設定ファイルで変更します。
A General
- EnableMod
- UpdateIntervalSeconds
- ShowSectionHeaders
- SectionsPerTick
B Appearance
- Anchor(TopLeft/TopRight/BottomLeft/BottomRight/Center/CenterTop)
- OffsetX / OffsetY
- FontSize / LineSpacing
- PaddingX / PaddingY
- TextColorR/G/B/A
- BackgroundColorR/G/B
- BackgroundAlpha
B2 Deep
- MaxListEntries
- SortDictionaries
C Contents
- 各セクションの表示トグル
- DeepDump/Scan の各トグル
D DeepDump
- MaxDepth
- MaxMembersPerObject
- IncludePrivate
- IncludeFields
- IncludeProperties
- MaxStringLength
- EconomyKeywords
- EconomyMaxTypes
注意
- デバッグ用途です。DeepDump/Scan や多数セクションONは重くなります
- ゲーム側の型/フィールド差異により "Unknown" 表示になる場合があります
- Photon情報は Photon.Pun.PhotonNetwork をリフレクションで参照するため、環境により取得できない場合があります