HideFlashlightHand
Hide only the local first-person flashlight hand model while keeping the light behavior intact.一人称の手元懐中電灯モデルだけを非表示にし 照射挙動はそのまま維持
By REPO_JP
| Last updated | a day ago |
| Total downloads | 40 |
| Total rating | 1 |
| Categories | Mods Client-side |
| Dependency string | REPO_JP-HideFlashlightHand-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
HideFlashlightHand
Overview
Hides only the local first-person flashlight hand model while keeping the flashlight illumination behavior intact
Features
- Hides the local flashlight model renderers without touching the Light component
- Keeps the spotlight behavior (enable/disable, intensity, flicker) fully vanilla
- Local-only effect (does not change what other players see)
- Optional halo/flare visual hiding
- Optional renderer-scan mode to hide all model parts under the flashlight object
How it works
This mod patches FlashlightController using Harmony
-
FlashlightController.StartPostfix
Applies the hide once during initialization for the local player instance -
FlashlightController.UpdatePostfix
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
- The mod never modifies
spotlight(theLightcomponent) to guarantee illumination remains unchanged - Default mode disables only
FlashlightController.mesh(fast, minimal) - Renderer-scan mode (
UseRendererScan=true) scansGetComponentsInChildren<Renderer>(true)and disables them, as a fallback for future game updates where references might change - Local-only targeting is enforced with
__instance.PlayerAvatar != nulland__instance.PlayerAvatar.isLocal
Configuration
Config 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)
Installation
- Install BepInEx 5.4.x
- Put the compiled DLL into
BepInEx/plugins/ - Launch the game once to generate the config, then adjust if needed
Notes
- If you notice any remaining flashlight model parts, set
UseRendererScan=true - If halo hiding causes issues in your environment, set
HideHalo=false
HideFlashlightHand
概要
一人称の手元懐中電灯モデルだけを非表示にし 照射挙動はそのまま維持します
機能
- Lightコンポーネントには触れず モデル側Rendererのみを非表示化
- 点灯/消灯 光量 フリッカーなどの照射挙動は完全にバニラのまま
- ローカルのみの見た目変更(他プレイヤー視点は変更しない)
- halo/flare の見た目も任意で非表示化
- 懐中電灯配下Rendererを一括停止する保険モードを搭載
仕組み
Harmonyで FlashlightController をパッチします
-
FlashlightController.StartPostfix
初期化時にローカル個体へ非表示を適用します -
FlashlightController.UpdatePostfix
毎フレーム再適用します
バニラ側が状態遷移などで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 5.4.x を導入
- ビルドしたDLLを
BepInEx/plugins/に配置 - 1回起動して設定ファイルを生成し 必要に応じて調整
注意
- まだモデルの一部が見える場合は
UseRendererScan=trueを試してください - halo非表示で問題が出る場合は
HideHalo=falseにしてください