

Hides only the local first-person flashlight hand model while keeping the flashlight illumination behavior intact
This mod patches FlashlightController using Harmony
FlashlightController.Start Postfix
Applies the hide once during initialization for the local player instance
FlashlightController.Update Postfix
Re-applies the hide every frame so that even if vanilla logic re-enables renderers (e.g. intro/state changes), the hand model stays invisible
Important implementation choices
spotlight (the Light component) to guarantee illumination remains unchangedFlashlightController.mesh (fast, minimal)UseRendererScan=true) scans GetComponentsInChildren<Renderer>(true) and disables them, as a fallback for future game updates where references might change__instance.PlayerAvatar != null and __instance.PlayerAvatar.isLocalConfig file: BepInEx/config/REPOJP.HideFlashlightHand.cfg
EnableMod
Enable/disable the mod
HideHalo
Also hide halo/flare visuals
UseRendererScan
Disable all Renderers under the flashlight object (fallback mode)
BepInEx/plugins/UseRendererScan=trueHideHalo=false一人称の手元懐中電灯モデルだけを非表示にし 照射挙動はそのまま維持します
Harmonyで FlashlightController をパッチします
FlashlightController.Start Postfix
初期化時にローカル個体へ非表示を適用します
FlashlightController.Update Postfix
毎フレーム再適用します
バニラ側が状態遷移などでRendererを再度有効化しても 最終的に必ず非表示に戻すためです
重要な実装方針
spotlight(Light)には一切触れませんFlashlightController.mesh のみを無効化(軽量 最小改変)UseRendererScan=true で GetComponentsInChildren<Renderer>(true) を取得しRendererを一括停止できます(将来の参照変更対策)PlayerAvatar.isLocal で厳密に判定します設定ファイル: BepInEx/config/REPOJP.HideFlashlightHand.cfg
EnableMod
MOD有効/無効
HideHalo
halo/flare も非表示にする
UseRendererScan
懐中電灯配下のRendererを全停止する(保険モード)
BepInEx/plugins/ に配置UseRendererScan=true を試してくださいHideHalo=false にしてください