Lethal Company
Install with App

Details

Latest version
1.3.1
Last Updated
First Uploaded
Downloads
4.6K
Likes
3
Size
25MB
Dependants

LethalCCTV changelog

1.3.1

  • While you are not seated at the CCTV station, the ship monitors now stay within the Unmanned Idle Render Hz budget, and the radar no longer rescans dungeon rooms whenever unrelated objects spawn, for fewer frame spikes during Blacksite raids (#1433).
  • The vanilla ship monitor cameras (radar map, head cam, front-door and interior cams) no longer render while none of their screens is in view, for about 2 ms more per frame away from the ship; the Vanilla Monitor Render Gate setting turns this off (#1433).
  • Interior support cameras now spread their placement search across frames, a few milliseconds each, instead of stalling one frame for 130-176 ms, and interior support placement now uses its full per-frame budget instead of one step per frame; placements are unchanged (#1433).
  • Security cameras keep detecting Y4NGZDebugTools dummies while the host's mob ignore is on (Y4NGZPerformance#48).
  • Hosting a lobby no longer stutters twice for about 100 ms: the CCTV focus HUD scan now runs in small slices over several frames, the CCTV controls note does its full search once per round instead of every quarter second, and the CCTV monitor loads its shaders on earlier frames (#1433).
  • Diagnostic logging during normal play is now off unless Performance Timing Logging is on: station pose and focus entry/exit timings, and the repeating monitor and camera-guard suppression warnings (now one Info line when suppression starts); spawn timings warn only above 20 ms (#1405, #1433).
  • Reloading a save no longer loses the ship's items when the CCTV controls note is in it (#1418).
  • After reloading a save, the CCTV controls note stays attached to the ship again instead of being left behind when the ship flies (#1418).
  • Sitting down at the CCTV station no longer trips the Interactions camera-movement safety stop, since CCTV moves the camera itself during the sit-down (#1418).
  • The sit-down camera can only pull back a short, fixed distance to frame the monitor and ignores a misread monitor position, instead of flinging the view across the ship (#1418).
  • If the operator animation is stopped by another mod or Interactions while you are at the station, you now stand up cleanly instead of being left half-seated (#1418).
  • Requires Y4NGZCore 1.0.11 (#1418).

1.3.0

  • A lockdown gate closing at the main entrance now also shuts the main-entrance door if it was open, and the door cannot be opened until the gate lifts (#1367).
  • Config now has eight plain-English sections (General, Camera Placement, Security Systems, Company Stashes, Mainframe, Radar, Ship Monitor, Diagnostics) with spaced key names and rewritten descriptions; existing settings move automatically once, with a .pre-config-v3.bak backup, and a leftover unused Interior Support entry is removed (#1367).
  • Facility cameras no longer mount on bookshelves, cabinets, panels or other surfaces standing in front of a wall, corners count only between two real walls, and wall cameras prefer the higher mount spots (#1367).
  • Added a host-controlled all-passive camera switch and separate physical mainframe and Company Stash enables, preserving old fixture-off settings (#1367).
  • The ship now starts with a free CCTV terminal for everyone; hosts can turn this off to restore store purchases at the existing price (#1367).
  • Detailed the bullet camera with recessed glass, vents, mounting hardware and worn painted-metal textures while keeping its existing mounting and aiming rig (#1367).
  • Automatic mainframes prefer dead-end rooms with a structural wall, a complete, direct doorway NavMesh route, and a clear interaction endpoint, relaxing room size before an explicitly logged unsafe last resort; authored poses are unchanged (#1313).
  • Facility cameras now mount only on flat structural walls and ceilings (about a 1.2 m patch), never on railings, pipes, beams or trim; a room without such a surface gets no camera instead of a guessed pose (#1313).
  • Replaced the facility camera's open dome with a closed, low-poly bullet camera, named yaw/pitch pivots and a socket-mounted status light (#1313).
  • Wall alarms now sit centred above doorway sockets at a consistent clearance, require a structural wall patch, and skip unsupported doorways instead of mounting beside the jamb (#1313).
  • Replaced the package icon and animated promotional logo with new camera-pan corridor footage and an OCR-A terminal wordmark, LETHAL over CCTV in cool white on dark bands (#1402).
  • Company Stashes are 15% taller with a raised keypad and matching placement clearance, and scan only within 12 metres (#1313).
  • The facility camera pass now runs inside the level-loading freeze instead of as a ~1 s hitch after generation, and reads entrance, fire-exit and apparatus positions from the dungeon's spawn markers so those cameras place on every peer; wall alarms now wait for the facility's inside doors on every landing, not only the first (#1283).
  • Facility cameras and their props are now placed in one faster pass before the ship starts to descend, instead of over the ten seconds around landing, removing the landing and door-open stutter; placements are unchanged (#1271).
  • Interior placements no longer skip tall tiles whose floor the reachability check missed, and support cameras and alarms may use the entrance room (#1271).
  • CCTV monitor renders no longer scan the whole scene for the main entrance on every repaint, the compositor's first pass waits until the monitor can be seen, a stale feed snapshot is dropped after leaving focus, and the focused-frame profiler census is removed (#1262).
  • Feed pings now overlay the image without changing its HDRP settings, with a blackout guard (#1219).
  • Manual CCTV renders share a one-per-frame budget (#1219).
  • Camera target refreshes use spawn/despawn registries (#1219).
  • The page indicator's legacy-font fallback uses Unity's supported built-in font instead of aborting monitor creation when TMP fonts are unavailable (#1219).
  • A newly bound dark feed no longer loses its healthy outline because the blackout guard compared its first frame against an unmeasured exposure default (#1219).
  • Raw feeds keep a separate display image, so HDRP cannot erase the ping outline after the camera callback when the night-vision bundle is unavailable (#1219).
  • The blackout guard no longer loses a replacement overlay's first two images while older GPU brightness reads are still pending (#1219).
  • The mainframe is no longer placed on a tile far below every facility entrance unless a complete walking route to its console is proven, so a mineshaft raid stops putting it under the elevator (#1156).
  • In Rubber Rooms, no camera, mainframe or stash is placed in the padded cells, including authored and guaranteed-coverage cameras (#874).
  • Restored the entry button press before the throttle transfer and shortened entry to 1.40 seconds (#1061).
  • Exit returns to the saved entry position (#1061).
  • Reasserted the shared hand/throttle pose at render time so all four steering directions retain their contact (#1061).
  • Moved hacking/mainframe actions to left-click (#1061).
  • Non-hackable targets receive a four-second squad outline, including on CCTV, with the Upgrades Ping style and no Upgrades dependency (#1061).
  • Fixed entry Animator evaluation overwriting the camera and causing the arrival snap (#1061).
  • Reframed the operating hands, moved shoulder ends below view, and corrected the throttle grip orientation/surface contact (#1061).
  • Replaced the unstable control-hand offset with measured console-button contact, a pointing index finger and a short hover/press/return movement (#1061).
  • Added metered automatic night vision with smooth switching, HDR highlight rolloff and shadow detail (#1061).
  • Increased the default view distance from 40 to 120 metres; old defaults migrate once with a backup and custom values survive (#1061).
  • Security cameras no longer spot, track or raise the alarm on a player the host has set to be ignored (#1159).
  • Corrected entry/control camera ownership, removed authored camera roll, widened the operating view and moved the shoulder anchor to retain control reach (#1061).
  • Synchronized local body/finger playback to the entry camera clock, calibrated contact from the live index finger, and enabled the previously unweighted API button-press layer (#1061).
  • Rebuilt both monitor headers/footers with clean terminal typography, cyan rules, separate link/zoom readouts and clearer target labels (#1061).
  • Raised the feed default to 768x576 with shadows and ambient occlusion; the old shipped resolution/shadow pair migrates once and custom combinations survive (#1061).
  • Doubled UI rasterization and matched focused compositing to 24 Hz (#1061).
  • Added automatic low-light color switching (#1061).
  • Added machine-vision brackets with crosshair proximity, short fades, item zoom identification and complete spatial Contracted objective support (#1061).
  • Added typed unlock and disable commands for coded facility doors and turrets, validated by the host, plus camera mouse-wheel zoom (#1061).
  • Smoothed the entry camera, interpolated hand motion, added surface clearance and preserved visible control presses (#1061).
  • Flattened the default feed and simplified its metadata; old default display settings migrate once while custom values remain (#1061).
  • Requires Core 1.0.10; CCTV wire protocol revision 3 (#1061).

1.2.0

Added

  • Added the local Performance Timing Logging diagnostic setting. Off by default, it only mentions a pass that costs more than a full frame; on, it reports much smaller per-frame costs as warnings for stutter investigation.
  • A camera in the main-entrance tile is never security-active. It still spawns, streams, and aims at the door, but it never trips the alarm and never counts toward the active-camera quota. This rule is unconditional and has no config entry.

Changed

  • The CCTV Terminal is now sold in the vanilla ship-upgrade store at the configured price unless the Y4NGZ terminal shop plugin (Y4NGZTerminalUpgrades) is installed alongside Ship Systems. Previously any Ship Systems install hid the vanilla store entry, so standalone players could not buy the terminal.
  • Lockdown gates now use a textured two-material shutter with a plate atlas instead of the untextured metallic material that rendered black inside facilities. The plate is seated 2 cm in front of the door assembly's front extent, so vanilla facility and mineshaft door handles no longer poke through it.
  • Lockdown door halves now emerge from the frame jambs when closing and retract behind them when opening, instead of appearing fully retracted on the wall outside the frame and sliding inward.
  • Camera placement and the follow-up station, registry, alarm-fixture, and monitor render-texture work are now spread across successive frames after dungeon generation instead of running in the frame the dungeon finishes, removing the landing stutter.
  • Looping CCTV audio (mainframe fan, monitor focus hum, camera lens hum) now fades out over a fifth of a second instead of stopping with a pop.
  • Prompts the mod writes directly to the cursor tip or HUD now show the player's bound interact key instead of a literal [LMB].
  • A camera tile whose neighbour already hosts a wall alarm light bar is now served by that fixture instead of being excluded from hostile security.
  • Config descriptions for the diagnostics, night-vision auto gain, and operator overlay settings were rewritten in plain language.
  • Reduced the download from about 39.0 MiB to about 25.1 MiB by shrinking the fixtures, station props, viewmodel animation, and ship turret bundles. Asset addresses and runtime identities are unchanged.
  • The package now depends on Y4NGZ313-Y4NGZCore-1.0.6 (previously 1.0.2) and Y4NGZ313-Y4NGZInteractions-1.0.2 (previously 1.0.1), and soft-depends on Y4NGZUI so its prompt overlay loads first when installed.

Fixed

  • Fixed procedural cameras mounting onto pipes, ducts, and other clutter standing proud of a wall. The wall probe now detects narrow protrusions and re-targets the mount onto the structural wall behind them, the support-footprint gate requires all nine samples to agree on depth, and the visual snap no longer fabricates a mid-air point when its cast fails.
  • Fixed OpenBodyCams blanking the facility radar on the General Improvements big-right monitor to the exterior camera every 0.1 seconds. OpenBodyCams' screen material is now restored only into a slot that actually holds it and never into a CCTV-owned screen. Reported publicly as y4ngz313/LethalCCTV#1.
  • Fixed HUD prompts not dimming over a focused monitor after the prompt overlay canvas moved into Y4NGZUI.
  • Fixed a possible startup failure when running next to an older Y4NGZCore build: the lockdown door clipping helper is now compiled into LethalCCTV rather than loaded from Core.

Removed

  • Removed the unused CCTV screen outline overlay; the semantic tracking boxes introduced in 1.1.0 replace it.

1.1.0

Added

  • Added the host-synced Allow Radar View, Allow Camera Pings, Allow Walkie Talkie, Allow Target Scanning, and Allow Remote Hacking permissions. Each action can now be enabled independently and defaults to enabled.
  • Added host-synced Minimum Cameras and Maximum Cameras settings. The minimum fills from eligible corridor tiles when normal selection falls short, while the maximum is a hard total that includes authored cameras; both accept 0-64 and the maximum always wins when the values conflict.
  • Added Minimum Stashes and Maximum Stashes settings for Risk D, C, B, A, S, and unknown-risk moons. Each pair accepts 0-12, defaults to 1-4, and can disable stashes for its risk tier by setting both values to zero.
  • Added Spawn Wall Alarm Fixtures, which can suppress wall-mounted alarm lights and sirens without disabling CCTV detection or the security-alarm response.
  • Added host-synced Breakable Cameras and Camera Health settings. Breaking can be disabled without removing physical cameras, health accepts 1-10, and the former BreakableCamerasEnabled and CameraHealth keys migrate automatically.
  • Added the host-synced Show Main Entrance Tracking Box, Show Fire Exit Tracking Boxes, and Show Apparatus Tracking Box settings. Each marker group can now be hidden independently from CCTV feeds.
  • Added the host-synced Close Lockdown Gates During Alarms setting. Standalone LethalCCTV now bundles and operates the Containment Breach sliding gates and metal-slam cue; when Contracted is installed, both mods continue to share Contracted's gate owner.
  • Added a guaranteed post-selection camera in the vanilla apparatus room when an apparatus exists. Its semantic aim favors the apparatus, and the apparatus receives an APPARATUS objective box when that box is enabled.
  • Added an 8-meter, line-of-sight scan node to every facility CCTV camera. The scan readout identifies the camera and reports when it is offline or broken.
  • Added dedicated radar identities for permanent facility fixtures in both radar modes: the mainframe uses a green circuit-cross icon labelled MF, while each Company Stash uses a blue vault icon labelled ST.

Changed

  • Replaced numbered config headings with the plain player-facing sections Ship Terminal, Camera Placement, Camera Counts, Ship Monitor, Performance, Display and Lighting, Physical Cameras, Operator Controls, Operator Permissions, Diagnostics, Radar, Interior Support, CCTV Security, Wall Alarms, Security Protocols, and Company Stashes.
  • Existing numbered sections, the legacy CCTV Radar and StashLoot sections, and renamed keys migrate automatically before binding. Migration preserves current-surface values over legacy duplicates and writes a one-time .pre-config-v2.bak backup.
  • Renamed Camera Budget Cap to Maximum Cameras and moved it plus Camera Budget Priority into Camera Counts.
  • Renamed Extra Ammo Rolls to Loot Rolls and Ammo Items to Loot Pool. The pool now accepts any network-spawnable grabbable item using name|rarity|count entries; missing items are removed before rolling, and the default pool still includes companion-mod ammunition and weapons.
  • AlarmLightIntensity now applies to generated wall alarms and cloned vanilla fire-exit alarm lights.
  • Improved General Improvements Better Monitors compatibility: CCTV binds to the visible replacement monitor surfaces, resolves operator-station anchors against the active 9- or 14-monitor layout, preserves monitor power/material ownership, and routes the facility radar and Space-key glance to the large-right monitor.
  • Improved OpenBodyCams compatibility: purchasing the CCTV Terminal owns bodycam entitlement and suppresses OpenBodyCams' duplicate receiver/store entry and native ship-monitor output. Every connected player receives an independent named feed before facility cameras, only the selected feed renders, switching no longer produces black/frozen output, and positional audio follows the selected player.
  • Improved BetterArmory compatibility: Y4NGZ weapon shots now use their authoritative pellet spread, range, world occlusion, and enemy-force falloff when damaging physical cameras, while preserving BetterArmory's trigger-ignoring world trace.

Fixed

  • Fixed physical cameras ignoring hits from Y4NGZ weapons because their non-blocking hitboxes are trigger colliders.
  • Fixed procedural cameras mounting half off wall edges or choosing pipes and other fixtures as support. Placement now uses structural-only fallback layers, rejects fixture-like supports, validates the full mounting-plate footprint, and keeps the reviewed support normal when snapping the visual near corners.
  • Fixed standalone CCTV alarms and lockdown drills failing to close facility entrances and fire exits when Contracted was not installed.
  • Removed the duplicate scan node from Company Stash keypads. A stash now exposes only its single locker-level scan target, including when loading a fixture prefab that still contains the legacy keypad node.

Removed

  • Retired Use Interactions API Operator Session and Enable Local Authored Operator Animations; LethalCCTV now selects the Interactions API or authored fallback automatically.
  • Retired Pitch Clamp Degrees and Yaw Clamp Degrees; the signed-off 75-degree pitch and 90-degree yaw limits are now tuned constants.
  • Removed stale entries from the retired 82 - CCTV - Camera Placement, 88 - CCTV - Exposure, and 88 - CCTV - Station Props sections during config-v2 migration.

1.0.3

Changed

  • Every connected player now receives an independent, named OpenBodyCams feed at the start of the CCTV feed list; facility cameras follow afterward.
  • Only the selected bodycam runs and renders, and facility feeds idle while a bodycam is selected to avoid paying for hidden camera work.

Fixed

  • Fixed bodycam feeds appearing black or frozen and freezing the monitor while switching past them.
  • Long player names now ellipsize inside a dedicated top-right label lane instead of overlapping the existing CCTV interface.

1.0.2

Changed

  • LethalCCTV now owns OpenBodyCams routing and entitlement. Purchasing the CCTV Terminal unlocks the bodycam feed; Y4NGZUpgrades and a separate Bodycams upgrade are not involved.
  • OpenBodyCams feeds in CCTV focus view now use positional audio from the selected player's bodycam location through LethalCCTV's existing audio-listener proxy.
  • With GeneralImprovements Better Monitors enabled, the facility radar and the Space-key glance now target the large-right physical monitor.
  • Focus-view camera steering no longer requires a hacked mainframe. Manual input pauses only the selected camera's automatic movement, which resumes after three idle seconds.
  • Refreshed the Thunderstore README.

Fixed

  • Suppressed OpenBodyCams' duplicate receiver/store entry and native ship-monitor output while LethalCCTV owns the integration.
  • Synchronized LethalCCTV's project, BepInEx plugin, and internal runtime version metadata.
Thunderstore development is made possible with ads. Please consider making an exception to your adblock.