AutoCameraSpectator
Smooth spectator camera for PEAK with automatic player selection, event framing, and camera settings you can adjust while playing.
By TactiKot
| Last updated | 2 weeks ago |
| Total downloads | 587 |
| Total rating | 1 |
| Categories | Quality Of Life Client Side Mods |
| Dependency string | TactiKot-AutoCameraSpectator-1.2.0 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
BepInEx-BepInExPack_PEAK
BepInEx pack for PEAK. Preconfigured and ready to use.
Preferred version: 5.4.75301README
Auto Camera Spectator
Stay with the action after death in PEAK. Auto Camera Spectator adds smooth camera movement, optional automatic player switching, and event framing to help you follow your teammates' climb.
This is a client-side BepInEx mod. It changes your spectator camera without changing player state or network physics.
Features
- Follow a player's view. The camera smoothly orbits your selected teammate in the direction they are looking. A small dead zone ignores mouse flicks, so the shot stays calm.
- Take over with the mouse. Move the mouse to steer any automatic camera; it hands back after a few idle seconds.
- See falls as falls. When the watched player falls, the camera stops chasing, follows the drop with rotation, and shows the landing.
- Automatically choose who to watch. The mod weighs recent damage, dangerous falls, collapse/revival, low-stamina climbing, nearby conversations, rescue interactions, item use, and threats. New urgent events can interrupt ordinary shots; comparable emergencies still use switching hysteresis.
- Frame nearby action. The event camera smoothly turns toward nearby participants from the watched player's chosen distance. When the group needs more room, it widens the lens a little, then dollies back; the widest lens is a last resort. It circles to an open side when a cliff blocks the view, and films climbers from higher up to show the drop.
- Move smoothly between nearby players. Manual and automatic switches preserve camera motion within 12 units by default; distant automatic switches use PEAK's own spectator fade.
- Tune the camera to your liking. Adjust tilt and height with hotkeys, or change follow speeds, rotation limits, and other settings in the config.
- Use cinematic rotation. Press S for slower acceleration, braking, and direction changes. Switching profiles preserves the camera's momentum.
- Avoid solid obstacles. F checks movement and terrain visibility by default, including a local search for a clearer angle. Player-look modes can enable the same collision probes separately.
- Apply settings while playing. Save the config file to update the camera without restarting PEAK.
Getting started
Player-look mode is enabled by default. Once you are dead and PEAK starts showing another player, the camera follows that player's view automatically.
Press A to enable automatic player selection, F for the event camera, or S for cinematic player-look rotation. These options start off. The F camera always uses its own cinematic profile, regardless of S.
Being unconscious is not the same as being dead. While your character is unconscious but alive, the camera stays on your own character and switching to other players is blocked. The mod also preserves PEAK's brief view of your own body after death. Automatic spectating starts once the game allows you to watch someone else.
Controls
Hotkeys work while spectating and are ignored when a menu or the action wheel is open.
| Default key | Action |
|---|---|
R |
Toggle player-look mode |
A |
Toggle automatic player selection |
F |
Toggle event framing |
S |
Toggle the cinematic player-look profile |
+ / - |
Adjust camera tilt for the current mode |
9 / 6 |
Raise / lower the camera |
L |
Reload the config manually |
Player-look and event framing are alternative camera modes: selecting one replaces the other. Pressing its key again turns that camera mode off. Automatic player selection and eased rotation are separate toggles.
Manually switching players with PEAK's normal controls turns automatic player selection off. Press A to enable it again. Player switching is only available after death and the game's initial view of your own body.
Every mod hotkey can be rebound in Controls, including tilt, height, and their keypad alternatives. Modifier chords are supported, for example PitchDownKey = F8 + LeftControl. Use None to disable a binding. PitchStepDegrees and HeightStepUnits change the amount applied per press. Invalid key names reject the whole config save; duplicate assignments log a warning and only the first matching action runs. PEAK's own player-switch and zoom controls remain game controls.
Installation
With a mod manager
Install Auto Camera Spectator and BepInExPack_PEAK in your PEAK profile, then launch the game through your mod manager.
Manual installation
- Install BepInExPack_PEAK following its instructions.
- Copy
AutoCameraSpectator.dllfrom the download intoPEAK/BepInEx/plugins/AutoCameraSpectator/. - Launch the game once to generate the config file.
Change settings while playing
Open the following file in your mod manager's profile folder, or in the PEAK folder for a manual installation:
BepInEx/config/com.tactikot.peak.autocameraspectator.cfg
Edit a value and save the file. Changes normally apply in under a second, including while you are in menus or are not spectating. There is no need to restart the game or press L.
The motion controls use seconds: larger values give a slower, smoother response. A response time is approximately the time to remove 90% of a stationary error from rest, before speed/acceleration limits intervene. Moving targets can produce additional lag and a short continuation of motion when they reverse.
| Setting | What it changes |
|---|---|
General / PlayerPitchDegrees |
Player-look tilt; positive values look further down |
General / EventPitchDegrees |
Preferred event tilt; automatically reduced when it would crop subjects |
General / CameraVerticalOffset |
Additional camera height in PEAK units |
General / RotationResponseSeconds |
Normal rotation response; default 0.3 s |
General / PositionResponseSeconds |
Player-look position response; default 0.4 s |
General / TargetTransitionDistance |
Maximum player separation for a smooth target switch; default 12 units, 0 disables blending |
General / LookDeadZoneDegrees |
Player-look ignores glances within this angle; default 10 degrees, 0 follows every movement |
Cinematic / FallShot |
Hold the camera and follow a fall with rotation; default true |
General / RotationMaxSpeedDegrees |
Normal rotation speed limit; default 120 degrees/s |
General / InstantRotation, InstantPosition |
Explicit instant following in normal/player-look modes |
Cinematic / RotationResponseSeconds |
S rotation response; default 0.9 s |
Cinematic / MaxSpeedDegrees |
S rotation speed limit; default 90 degrees/s |
EventLook / RotationResponseSeconds, PositionResponseSeconds |
F rotation and position responses; defaults 0.8 s and 0.9 s |
EventLook / ScreenMargin |
Image margin on each side; default 0.12 means 12% |
EventLook / MaxDistance, MaxFieldOfView |
Available room for composing shots; defaults 40 units and 95 degrees vertical FOV |
EventLook / MinSubjectScore, SecondaryScoreRatio |
Filter idle subjects and weak extras; defaults 24 and 0.45 |
EventLook / LensWidenDegrees |
Lens widening accepted before F dollies back; default 15 degrees |
EventLook / FindOpenSide |
Circle to an open side when a cliff blocks F's camera; default true |
EventLook / ClimbingElevationDegrees |
Extra F elevation while the player climbs; default 15 degrees |
EventLook / AvoidOcclusion |
F collision and terrain-view protection; default true |
EventLook / OcclusionGraceSeconds |
Hold a briefly hidden event and wait before seeking another camera placement; default 1 s |
TargetSelection / EmergencySwitchInterval |
Shorter delay for a new urgent event; default 0.65 s |
TargetSelection / ShowSwitchReason |
Show the player's name and why A switched to them; default true |
Controls / MouseOverrideSeconds |
Idle time before the automatic camera resumes after mouse control; default 3 s, 0 ignores the mouse |
Obstacles / Enabled |
Collision avoidance in player-look modes; default false |
Use a dot for decimals, such as 0.5. Response times range from 0.05 to 3 seconds; rotation speed limits range from 0 to 720 degrees/s, with 0 removing the speed limit. Speed changes brake continuously; lowering a cap does not instantly truncate motion already in flight. Live changes preserve pose and velocity. Nearby player switches ease even with instant following enabled. Distant switches, a new spectator session, and teleports cut.
The F camera's position is independent of head turns. It follows live subject bounds, keeps outgoing subjects during feasible transitions, and tolerates brief occlusion before searching for another placement. Tilt, elevation, and height are composition preferences. It solves the viewing angle before requesting extra distance, and bases lens widening on the composed group rather than turning lag. Acquiring or losing a subject preserves smooth position, rotation and lens motion; a new participant can remain outside the frame while the camera turns. The game's original FOV is restored when the camera releases control.
F favors a primary event and meaningful nearby participants, with rescue partners and attacking threats receiving priority. Idle neighbors and unused held items do not fill the shot by default. Recent damage and fall history work even with A switched off. With AvoidOcclusion, body visibility is checked after camera movement; a blocked orbit is constrained and a moving subject behind cover can trigger a small, eased search for a reachable clear angle. The watched player and primary event take priority when the full group cannot fit.
Collision probes recover initial overlaps, sweep actual movement, slide along walls, and recheck corners. They ignore characters, triggers, and held items, while retaining loose solid props. Probe radius also covers the near clipping plane. To disable movement protection in every mode, set both Obstacles / Enabled and EventLook / AvoidOcclusion to false. Telemetry / LineOfSightChecks separately controls scene scoring and candidate filtering.
Version 1.1 automatically migrates the old smoothing coefficients and S settings on startup, only when corresponding new settings are absent. The original config is saved beside it as .cfg.pre-1.1.0.bak; obsolete controls are removed from the active file. Position/normal exponential smoothing is converted to its approximate 90% response time. The old spring algorithm has no exact equivalent, so its conversion preserves the preference for faster/slower motion approximately. New defaults apply to newly generated configs, not over existing preferences.
See the Russian camera settings guide for examples.
EnabledByDefault controls the startup camera mode only. Use R, F, S, and A to change the active modes during play. Setting Enabled = false under EventLook switches active event framing back to player-look mode; doing so under TargetSelection stops automatic player switching.
If the file contains an invalid value or an incomplete entry, the mod keeps the last working settings and writes the reason to the BepInEx log. Values outside their allowed ranges are clamped. Reloading does not overwrite your edited file.
Other config sections
Telemetry: scene analysis frequency, voice threshold, threat detection range, and line-of-sight checks.TargetSelection: switch timing, score thresholds, and preference for the current player.EventLook: subject selection, hold/transition times, independent cinematic motion, framing margin, camera elevation, distance, and lens limits.Obstacles: enable collision probes, set their radius, and adjust the return time after an obstruction clears.Controls: all mod hotkeys, modifier chords, keypad alternatives, and tilt/height step sizes.
Current limitations
Tracked threats include Scoutmaster, zombies, angry bees, active scorpions, spiders, tornadoes, and a condor carrying a player. Proximity, cover, active state, and known attack targets affect scoring. This does not predict every environmental hazard: many untracked dangers become visible to the director only through a fall or a worsening character status.
Voice detection uses recent audio delivered to this client; it cannot understand conversation content or reliably detect muted/unavailable distant voices. Fresh audio expires instead of leaving a silent player permanently marked as speaking. Scene sampling defaults to 0.2 s, and hazard discovery cycles through hazard types in about 1.4 s; events entirely between samples can be missed. Automatic selection is an event heuristic, not a guarantee of the most interesting moment.
PEAK's special camera overrides, including GodCam, remain under the game's control.
No camera can show subjects through solid walls or keep an arbitrarily wide/teleporting group visible within finite distance and FOV limits. In an infeasible shot the watched player stays the anchor and never leaves the image. Collision avoidance uses colliders, not texture transparency, and can reduce the space available to frame events. Body bounds and visibility samples are estimates, not a full rendered-mesh or mutual-character-occlusion test. F's local visibility search is not pathfinding through an entire level.