Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
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
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2100Zaggy1024-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.5README
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
- BepInEx Pack
- Zaggy1024-OpenBodyCams (hard dependency)
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
- 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. - 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. - 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
- 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.
- Click a panel: focuses the ship main radar / teleporter target on that panel’s assigned player (
mapScreen.SwitchRadarTargetAndSync). - Optional world-space TMP nameplates under each monitor (
ShowNameplates). AlwaysShowMonitors=truekeeps 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
- Install BepInEx Pack for Lethal Company.
- Install dependency Zaggy1024-OpenBodyCams from Thunderstore.
- Install MrGlim-CrewMonitors via Thunderstore / r2modman / Gale, or drop
CrewMonitors.dllintoBepInEx/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
mapScreenRT / 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
CameraMonitorSwitchButtonmeshes. - Placement uses the panel face (two largest
localBoundsaxes) 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.