You are viewing a potentially older version of this package. View all versions.
gugger-LethalSpectator-0.2.0 icon

LethalSpectator

Auto spectate whoever is talking while you are dead: the camera follows the active speaker, holds on groups, and steps aside while SpectateEnemies is in use. Toggle with H.

By gugger
Date uploaded 4 hours ago
Version 0.2.0
Download link gugger-LethalSpectator-0.2.0.zip
Downloads 27
Dependency string gugger-LethalSpectator-0.2.0

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
Rune580-LethalCompany_InputUtils-0.7.13 icon
Rune580-LethalCompany_InputUtils

API/Library for creating Unity InputActions with in-game re-binding support. Provides an alternative UI that allows for supporting mods to have in-game re-bindable keybinds.

Preferred version: 0.7.13

README

LethalSpectator

Auto spectate whoever is talking. When you are dead, the spectator camera follows the teammate who is actively speaking, stays on them until they go quiet or someone else is clearly louder, and prefers to stay on a player who is standing near several others, so you watch the action instead of clicking through corpses-to-be.

  • Follows the speaker. Voice activity from the game's own voice chat decides who the camera is on. Short blips and background noise do not steal the camera from someone talking — but after silence, the camera snaps to the first voice instantly so you hear the word from its start.
  • Knows where the danger is. A speaker with an enemy closing in wins the camera and holds it longer, and when everyone is quiet the camera moves to whoever is about to be in trouble.
  • Killer cam. When the player you are watching dies to an enemy, the camera follows the killer for a moment before moving on.
  • Holds the shot. A minimum hold time, an inactivity timeout, and a "clearly louder" margin keep the camera from ping-ponging between people.
  • Likes groups. A speaker who is near other players is worth staying on a bit longer.
  • You stay in control. Left-click cycles players exactly as in vanilla; after a manual pick the mod waits a few seconds before taking over again. Press H (rebindable in the Keybinds menu through InputUtils) to turn auto spectate on or off. The HUD shows the current state next to the spectator controls.
  • Plays nice with SpectateEnemies. While you are spectating an enemy the camera is never touched; swap back to players and auto spectate resumes.
  • Client-side. Nothing changes for other players or the host; no lobby version changes.

Config

BepInEx/config/Haaylo.LethalSpectator.cfg (editable in r2modman's config editor). The important knobs:

Setting Default What it does
General / EnabledByDefault true Auto spectate starts on when the game launches.
General / ToggleKey H Fallback key when InputUtils is not installed.
General / ShowHudStatus true Status line under the spectator controls.
Voice / SpeakingAmplitudeThreshold see cfg Minimum smoothed voice level to count as talking.
Switching / MinHoldSeconds see cfg Never switch away sooner than this after a switch.
Switching / InactivityTimeoutSeconds see cfg Quiet time before another speaker can take over.
Switching / LouderSwitchRatio see cfg How much louder someone must be to take the camera early.
Switching / ManualHoldSeconds see cfg Grace period after you cycle manually.
Grouping / GroupRadiusMeters see cfg Players within this distance count as a group.

Every threshold used by the decision is exposed in the file with a one-line description.

Requirements

  • BepInEx 5 (BepInExPack).
  • InputUtils (Rune580) for the rebindable key. The mod still works without it using the ToggleKey from the config.
  • Optional: SpectateEnemies (AllToasters). Detected automatically when installed.

Notes

The mod only acts while you are dead and spectating. It never picks enemies, never changes what other players see, and never sends network messages.

CHANGELOG

Changelog

0.2.0

  • Snap to the first speaker. After silence, the camera jumps to whoever starts talking the instant their voice arrives, so you hear the word from the start (Switching/SnapToFirstSpeaker).
  • Danger priority. Players with an enemy closing in are preferred: an endangered speaker wins ties and holds longer, and during total silence the camera switches to whoever has an enemy within a few meters (Danger/*).
  • Killer cam. When the player you are watching is killed by an enemy, the camera follows that enemy for a moment before moving on (KillerCam/*). Never active while SpectateEnemies is spectating enemies.

0.1.0

  • First release: activity-based auto spectate. While dead, the camera follows whoever is talking, holds on the current player until they go quiet or someone else is clearly louder, and prefers to stay on a player who is near several others.
  • H (rebindable in the in-game Keybinds menu via InputUtils) toggles auto spectate on/off.
  • Stays out of the way of SpectateEnemies: while you are spectating an enemy the camera is never touched, and auto spectate resumes when you swap back to players.
  • Every threshold (speaking level, hold times, "clearly louder" ratio, group radius/bonus, manual-cycle grace) is exposed in BepInEx/config/Haaylo.LethalSpectator.cfg.