REPO_JP-HideFlashlightHand icon

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-5.4.2100 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2100

README

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.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

  • The mod never modifies spotlight (the Light component) to guarantee illumination remains unchanged
  • Default mode disables only FlashlightController.mesh (fast, minimal)
  • Renderer-scan mode (UseRendererScan=true) scans GetComponentsInChildren<Renderer>(true) and disables them, as a fallback for future game updates where references might change
  • Local-only targeting is enforced with __instance.PlayerAvatar != null and __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.Start Postfix
    初期化時にローカル個体へ非表示を適用します

  • FlashlightController.Update Postfix
    毎フレーム再適用します
    バニラ側が状態遷移などでRendererを再度有効化しても 最終的に必ず非表示に戻すためです

重要な実装方針

  • 照射維持のため spotlight(Light)には一切触れません
  • デフォルトは FlashlightController.mesh のみを無効化(軽量 最小改変)
  • 保険として UseRendererScan=trueGetComponentsInChildren<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 にしてください