Please disclose if your mod was created primarily using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
HideFlashlightHand
Hide only the local first-person flashlight hand model while keeping the light behavior intact.一人称の手元懐中電灯モデルだけを非表示にし 照射挙動はそのまま維持
By REPO_JP
| Last updated | a month ago |
| Total downloads | 752 |
| Total rating | 6 |
| 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にしてください