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.
SimpleOptimize
Per-player FPS optimizer for hoard runs (/opt): item sleeper, shadow killer, culling
By Chonkzilla
| Date uploaded | 4 hours ago |
| Version | 0.1.0 |
| Download link | Chonkzilla-SimpleOptimize-0.1.0.zip |
| Downloads | 29 |
| Dependency string | Chonkzilla-SimpleOptimize-0.1.0 |
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.2100README
SimpleOptimize
Performance work and quality-of-life fixes for Lethal Company v81, built for hoard-scale runs where hundreds of collected items tank the frame rate.
Anyone can install it. Almost everything is local to the machine running it, with no effect on sync or on other players. The exceptions are called out below.
Round docs in docs/SO_ROUND*.md.
Commands
All commands are typed in the in-game chat.
| Command | What it does |
|---|---|
/opt (/optimize) |
Status: sleeping count, de-shadowed count, culled count, frame time / FPS, and which toggles are on |
/opt sleep on|off |
Item sleeper |
/opt snap on|off |
Instant settle for items dropped aboard |
/opt shadows on|off |
Shadow killer |
/opt cull on|off |
Distance culling of aboard items |
/opt yeet on|off |
Cruiser launch-on-entry fix |
/opt spray |
Spray colour status, and how many colours this prefab has |
/opt spray <index> |
Use one of the game's own spray colours |
/opt spray #RRGGBB |
Tint the spray an arbitrary colour (e.g. /opt spray #20B2AA) |
/opt spray off |
Back to the vanilla seeded colour |
/opt dropship |
Cargo dropship status and the speed table |
/opt dropship on|off |
Fast cargo dropship |
/opt dropship speed <1-4> |
1 = vanilla (40s), 2 = 20s, 3 = 13s, 4 = 10s to arrive |
/opt dropship wait on|off |
Hold the dropship until someone opens it |
/opt transit on|off |
Fast player-ship landing/takeoff (off by default) |
/opt cargo and /opt paint work as aliases for dropship and spray.
Every toggle persists to local.simpleoptimize.cfg.
Performance
- Item sleeper — vanilla rewrites every un-held item's transform every frame, forever. Settled items aboard skip that update entirely and wake instantly when grabbed, moved, or used.
- Shadow killer — resting items stop casting shadows, restored when picked up or taken off the ship. Hundreds of shadow casters is the single biggest GPU cost of a hoard.
- Instant settle — a falling item can't sleep, so after a big merge or organize hundreds of items animate their descent for seconds. Items dropped aboard fast-forward to their resting spot and sleep the same frame. Items dropped outside fall normally.
- Distance culling — while you're farming away from the ship, aboard items stop
rendering past
CullDistance(45 m) and come back as you approach.
Cargo dropship
Vanilla makes you wait 40 seconds for a terminal order to arrive and leaves after 30 seconds whether or not you opened it — and if it leaves unopened you lose the items and the credits ("Items missed! ... delivery fee cannot be refunded").
SimpleOptimize speeds up the arrival and, by default, holds the ship until someone opens it so a paid order can't be missed. Once opened, it leaves at the chosen speed.
Host only. The countdown is host-authoritative, so only the host needs this installed. Vanilla clients see the early arrival with no desync.
Spray paint colour
Vanilla rolls a can's colour from the map seed. /opt spray overrides it.
Local visual. The colour never travels in vanilla netcode, so players without SimpleOptimize always see the original seeded colour — for the same cans and the same decals. Nothing desyncs; you simply disagree on colour.
Players with SimpleOptimize get the host's colour pushed to them automatically, on connect and whenever it changes. Set
[Spray] AcceptHostColor = falseto keep your own.
Palette mode always works. A custom hex tint depends on the decal shader exposing a colour property — if it doesn't, the command says so rather than silently doing nothing.
Already-sprayed decals keep the colour they were painted with; only new spray changes.
Vanilla bug fixes
| Fix | What it does |
|---|---|
| Cadaver kill lag | Vanilla throws an exception per plant killed (logged twice with stack traces) plus ~5 debug lines. A spray spree becomes an exception storm — 2,110 traces and a 24 MB log in one measured session. |
| Spider web slow | RemoveWeb uses the wrong inverse factor and cleans up twice, leaving you permanently slower after every web broken while you're in it. Compounds. |
| Stuck interact | A lost RPC leaves throwingObject true forever, blocking interact, scroll, and item use — the "relog to fix" glitch. Watchdog clears it after 2 s. |
| Cruiser yeet | Arriving inside the cruiser's bounds (teleport, TZP) launches you; you get ghosted instead. |
| Ship item cap | Raises the v81 save cap of 400 items. |
| Early grab | Makes items grabbable before the game starts. |
| RPC error spam | Mutes vanilla's ThrowObjectClientRpc error flood from desynced client drops. |
Fast player-ship transit (off by default)
Speeds the player ship's own landing and takeoff sequences. Off — it exists for completeness and is not what the dropship feature does.
Needs everyone. These sequences run locally on each client, so it only engages when every player in the lobby has SimpleOptimize (or you're solo). The suite handshake detects this automatically and disables itself when someone joins without it.
Install
Drop SimpleOptimize.dll into BepInEx/plugins, or import the package with a mod manager.
Requires BepInEx 5.4.2100. Everything is toggleable in local.simpleoptimize.cfg.