You are viewing a potentially older version of this package. View all versions.
MrGlim-CrewMonitors-1.0.31 icon

CrewMonitors

4-panel crew OpenBodyCams stack: body/map/external cycle, click-to-focus radar, OBC-matched screens.

Date uploaded 3 weeks ago
Version 1.0.31
Download link MrGlim-CrewMonitors-1.0.31.zip
Downloads 699
Dependency string MrGlim-CrewMonitors-1.0.31

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
Zaggy1024-OpenBodyCams-3.0.5 icon
Zaggy1024-OpenBodyCams

An open-source implementation of a body/head camera that is displayed on the bottom right monitor in the ship, with the goal of appearing almost identical to the player's actual perspective while providing good performance.

Preferred version: 3.0.5

README

CrewMonitors

Lethal Company BepInEx mod that adds a fixed 4-panel crew monitor stack on the ship wall. Each panel shows OpenBodyCams body cams (and map / external views via the cycle button).

Thunderstore: MrGlim-CrewMonitors
Source: lc-crew-monitors
Game: Lethal Company (BepInEx)

Networking: Install with OpenBodyCams on host and clients for monitor feeds. This is display QoL on top of OpenBodyCams — no extra host-only gate beyond OBC itself.

Requirements

OpenBodyCams notes

  • If you use LethalLib, OpenBodyCams may require buying the antenna ship upgrade before body cams work.
  • GeneralImprovements “better monitors” remaps which panel OpenBodyCams claims; this mod skips any renderer already owned by an OpenBodyCams body cam and never steals Cube.001 (OBC’s default main panel).
  • This mod does not change OpenBodyCams quality settings (e.g. HorizontalResolution); configure those in the OpenBodyCams profile.
  • Screen look matches OpenBodyCams MonitorEmissiveColor. ScreenBrightness only scales night-vision fill on crew body cams (keeps interior feeds from going milky).

Behavior

  1. Always 4 panels (default MaxMonitors=4, vertical stack). Living players fill from the bottom up. Empty slots stay Off (black). There is no round-robin duplication past 4 players.
  2. By default (PreferReuseVanillaScreens=false) leaves vanilla door/internal cams alone and clones SingleScreen panels on the main monitor wall (Cube.001), flush via localBounds depth + WallInset.
  3. Cycle button (bottom-right of each panel): grey bezel cylinder with a white face. Uses the vanilla hand cursor. Cycle order per panel:
    • Off → player0 body → player0 map → player1 body → player1 map → … → External → Off
  4. Hover a panel: transparent cursor (no hand icon clutter). Tooltip shows the player name (and “Map” when on map feed). Tooltip is hidden for Off / External.
  5. Click a panel: focuses the ship main radar / teleporter target on that panel’s assigned player (mapScreen.SwitchRadarTargetAndSync).
  6. Optional world-space TMP nameplates under each monitor (ShowNameplates).
  7. AlwaysShowMonitors=true keeps all panel meshes visible; empty / Off slots stay black rather than hiding the frame.

Config (BepInEx/config/com.benhough.lethal.CrewMonitors.cfg)

Option Default Description
Enabled true Master toggle
MaxMonitors 4 Slots (1–8); default stack is 4
IncludeLocalPlayer true Include yourself in assignments
CloneSpacing 0.42 Local spacing on the Cube.001 wall plane
CloneScaleFactor 0.60 Panel size knob (localScale = SingleScreen.localScale * (CloneScaleFactor * 2.0 / 0.6); 0.6 ≈ prior good tile size)
WallInset 0.55 Flush inset into the wall along the thin depth axis
GridHorizontalOffset 3.68 Grid shift along wall-plane horizontal
GridVerticalOffset -0.45 Grid shift along wall-plane vertical
GridYawDegrees 20 Panel rotation around local Z (degrees)
GridColumns 1 Columns in the clone grid (1 = vertical stack)
RefreshSeconds 1.0 Re-assign interval (seconds)
PreferReuseVanillaScreens false Reuse whitelisted unused ship screens first (default: clone grid only)
ShowNameplates true Player name under monitor
AlwaysShowMonitors true Keep all panels visible; empty slots Off (black), no round-robin
ScreenBrightness 0.2 Night-vision fill scale only (1.0 = stock OBC); emissive uses OBC MonitorEmissiveColor

Install

  1. Install BepInEx Pack for Lethal Company.
  2. Install dependency Zaggy1024-OpenBodyCams from Thunderstore.
  3. Install MrGlim-CrewMonitors via Thunderstore / r2modman / Gale, or drop CrewMonitors.dll into BepInEx/plugins/.

License

MIT

CHANGELOG

Changelog

1.0.33

  • Clicking one crew panel to focus the big radar no longer leaves every panel on that player. Each slot keeps its own player; if a radar sync overwrites a body cam, that slot puts its own target back.
  • Each panel gets its own screen material, so one slot's feed texture cannot show up on the others.
  • A cycled panel remembers its player instead of a shared list index, so someone joining or leaving does not pin every cycled monitor to the same crewmate.

1.0.32

  • Per-player map feeds use dedicated follower cameras + private RenderTextures (no longer share mapScreen RT / radar target). Multiple panels can show different players' maps; main radar / click-to-focus unchanged.

1.0.31

  • Thunderstore polish: README/config table match live defaults; packaging synced to 1.0.31.

1.0.24 – 1.0.30

Feature arc since the early cycle-button builds:

  • Fixed 4-panel stack with bottom-up fill; empty slots Off; no round-robin past MaxMonitors.
  • Cycle order: Off → each living player body → that player’s map radar → … → External → Off.
  • Cycle button restyled as a grey bezel cylinder with white face (bottom-right); hand cursor on buttons.
  • Panel hover: transparent cursor; player-name tooltip (hidden for Off / External).
  • Click panel focuses main radar / teleport target.
  • Screen emissive matches OpenBodyCams MonitorEmissiveColor; ScreenBrightness only scales night-vision fill (default 0.2).
  • Placement defaults tuned (WallInset, grid offsets, CloneScaleFactor, yaw).
  • Map-feed restore so body-cam RenderTexture returns correctly after map view.

1.0.20

  • Darker default ScreenBrightness (earlier pass).
  • Cycle includes Off; AlwaysShowMonitors keeps panel mesh with black screen + nameplate "Off".

1.0.14

  • Cycle buttons are always a bright orange cube (unlit) — no longer clones tiny/invisible vanilla CameraMonitorSwitchButton meshes.
  • Placement uses the panel face (two largest localBounds axes) with bottom-right + cabin-facing depth push.
  • Larger default size; interact hitbox kept slightly larger than the visible mesh.

1.0.13

  • Per-monitor cycle button (bottom-right): cycles that panel among living controlled players.
  • Click the monitor panel to focus the ship's main radar / teleporter target.
  • Sticky living assignments so refresh no longer overwrites a cycled player until they die/disconnect.

1.0.7

  • Fix panels floating in the cabin: never clone Cube.001; prefer SingleScreen (Quad fallback).
  • Parent clones to Cube.001 with localRotation=identity; place on the wall plane using Cube.001 MeshRenderer.localBounds.
  • Does not change OpenBodyCams quality settings.

1.0.2

  • Whitelist real screens only; PreferReuseVanillaScreens default false; clone grid relative to Cube.001.

1.0.1

  • Host-gated networking where applicable, packaging polish.

1.0.0

  • Initial release: per-player OpenBodyCams feeds on ship monitors.