Odd Company
Empowered horror creatures: giant tongue-sweeping Pligga with visor spit, shrieks, snares, heavy toll pulses and fast pursuit. More frequent Last Passenger, outdoor encounters and spatial audio. Experimental build.Odd Company
Six strange visitors for your next quota run. Version 0.5.0 is an experimental test build, with empowered attacks, industrial-horror silhouettes, spatial soundscapes, scanner hints, and host-controlled encounters.
0.5.0: Empowered
The original five are now lethal by default, have 6–8 melee-hit health, and resist repeated stagger. Pligga is 30% wider and 25% taller, with a hanging jaw, irregular fangs, heavy tongue and back spurs around the recognizable photo face. His tongue sweeps a nine-metre sector over one second, dealing 35 damage and coating the victim's visor in native helmet spit that clears over 3.5 seconds. The 1.8-second warning outlines the sweep. It is stylized procedural geometry, not a realistic sculpt.
Hushloom charges faster from sprinting within 18 metres; its ten-metre shriek hits non-crouching players for 30 damage and briefly muffles hearing. Backstitch hunts upright players and leaves eight larger, longer-lived stitches that punish walking as well as sprinting: 22 damage and a two-second movement slow. Tollbud's six-metre pulse deals 40 damage; its stillness pass lasts ten seconds. Foldback runs at five metres/second along a 2.5-second-old trail, remembers a target for up to eight seconds without sight, and hits for 35 damage.
The Last Passenger's curse and execution are unchanged. Its default selection chance is now 60%, with selection guaranteed by encounter three if it has not appeared, is enabled and its chance is above zero. It still needs a valid hidden/reachable spawn point: this is not a guarantee every landing. Placement is now 14–32 metres away and the apparition can wait up to 300 seconds. The outdoor chance remains 20%.
Upgrade migration: the first 0.5.0 launch sets GentleDamage=false and replaces the old LastPassengerChance=0.12 default with 0.6. Other spawn settings and custom passenger chances are preserved. After that launch, you can re-enable GentleDamage; BalanceRevision=5 prevents migration from repeating. All players must update together. Existing sounds remain, with new effects and attack timing; this release does not add a new soundtrack.
Compiled against the installed game; 65 offline rule checks and 33 audio checks passed. Live rendering, balance and multiplayer still need in-game testing.
0.4.0: The Last Passenger
Outdoor encounters: each new encounter gets a 20% outdoor roll, independent of which creature is chosen. A failed placement keeps that roll instead of rerolling it indoors. Outdoor encounters use outdoor AI nodes and terrain navigation, spawn at least 20 metres from the ship, and target players in the same indoor/outdoor zone. When the whole crew is indoors, an outdoor encounter can spawn on a reachable path near the ship exterior and patrol until someone returns. Placement still needs a valid hidden point. Normal creatures will not deliberately chase targets within 12 metres of the ship. They do not traverse entrances to change zones.
The Last Passenger resembles the supplied reference: a red angular skull, huge black mouth, hollow eyes, thin head spikes and a tall black body. Its geometry is original procedural modeling based on that reference, not a photorealistic scan. Version 0.5.0 raises its original 12% selection chance to 60%, with at most one appearance per landing in normal mode. Indoor/outdoor selection remains a separate 20% roll.
- The apparition waits and turns toward a viewer. Looking at it for approximately 0.6 seconds within 22 metres, with a clear camera view and sightline, marks one player. The host validates the client's view signal. A glance away resets that player's gaze timer. The first qualifying player wins; only one curse can exist per landing.
- The victim gets a 3.5-second vision: distorted/muffled listener audio, flickering nearby lights, camera tremors and a dedicated interference sound. The apparition then disappears, those effects end, and normal movement/play continues. There is no ongoing damage while marked. A tip explicitly warns that it will return at takeoff.
- When the ship begins departing, the apparition returns behind the marked player. The ship crew experiences flickering lights, tremors and a departure soundscape. The victim is held in place during a reaching/head-twist animation but can still look around.
- At 2.4 seconds into the execution, a dedicated snapping impact plays and the victim dies. The mod selects a detached-head ragdoll from the installed game's own ragdoll list, so the neck separation, head physics and any native blood effect use the game's existing assets. Other clients see the performer and receive the normal networked player death. The sequence ends at six seconds.
This curse is fatal even when GentleDamage is enabled. Avoid staring, or disable The Last Passenger in the host's Monsters config. Once marked there is no cleansing mechanic in this version. If the victim is already dead or disconnects before execution, the pending curse is cancelled. A victim outside the ship is executed where they are; the mod does not teleport them aboard. Return together to see the execution in front of the crew.
Shake is a camera effect suggesting ground/ship tremors; actual terrain and ship collision transforms are not moved. Flicker affects nearby existing lights, so an unlit outdoor location may have fewer visible lights to flicker. Temporary filters and light intensities are cleaned up after each effect; pre-existing audio filters from other mods are not overwritten. The built-in camera shake may finish its short tail. Disconnection, disabling the mod and expired snapshots release the victim's movement lock and restore owned effects.
Set local [Effects] CurseShake, CurseFlicker or CurseDistortion to 0 to disable the respective effect without altering the host's curse mechanics. Defaults are 0.7, 0.75 and 0.65. The execution includes flashing lights, camera shake and a decapitation effect. The sequence has compiled and passed offline timing checks, but has not been verified in a live multiplayer game. Native head detachment falls back to an ordinary death if no compatible detached-head prefab exists. It is a stylized in-game animation, not an ultra-realistic cinematic.
0.3.0: First Contact
First-sighting scare (the original five): seeing a species clearly for a quarter-second triggers its short personal sting. The monster must be within 12 metres, in the central portion of the camera view, with an unobstructed sightline. This is a geometric visibility check, not a measurement of how well the scene is lit. Each species can scare each player once per landing, with a shared 45-second cooldown. Sightings suppressed by the cooldown or an attack are consumed, not queued for later. Dead players and players inside the ship are excluded. These ordinary stings do not move the camera or flash lights. The Last Passenger uses its separate curse encounter instead.
State-based audio: each creature now has five original clips: a 16-second roaming bed, an eight-second pursuit/alert bed, a warning, an impact and a sighting sting. Roaming and pursuit crossfade over roughly two-thirds of a second. Warning/impact playback lowers the beds so the counterplay remains audible. State and cue type are sent by the host, so clients no longer infer a sound from a phase that may already have changed.
- Pligga switches from slow breath/rattle to urgent, rhythmic guttural pulses when pursuing.
- Hushloom's drifting tones become a pulsing dissonant chord when responding to sprinting.
- Backstitch's sparse taps become a fast needle mechanism when a runner triggers its trail. It still patrols rather than chasing players.
- Tollbud's distant bell becomes an insistent service alarm while demanding a toll. It remains territorial rather than pursuing.
- Foldback's slow reverse scrapes become quick scraping/footstep rhythms while recording or following a target.
More detailed animation: locomotion follows actual movement instead of playing a full walk cycle while stationary. Pligga's face, scalp and seams move together as its head tilts during the wind-up and recoils on impact. Its fingers follow its arms. Hushloom's membranes and veins unfold on shared shoulder hinges. Backstitch lifts alternating needle legs and pumps on a stitch. Tollbud tightens its jaws with the charge and snaps on a pulse. Foldback has a staggered vertebral motion and impact recoil. All remain procedural models; this is not a replacement with hand-sculpted, skeletal-rigged assets.
New local settings: [Audio] FirstSightingScares = true and SightingVolume = 0.55. Turn the switch off to disable stings without affecting encounter/attack sounds. Gameplay damage, spawn limits and counter timing remain unchanged.
The horror update
The palette is now soot, corroded metal, dirty cloth and old bone. Body surfaces no longer glow. Warning marks remain visible but use muted colors. Animations use restrained swaying, intermittent twitches and uneven folded movements instead of broad bouncing.
- pligga: collapsed work coat, dragging forearms and fingers, stitched face edges. The supplied face image remains recognizable, tinted by its material and lit by the environment. Its soundscape layers wet breathing, a throat rattle and uneven heartbeat-like thumps; the tongue wind-up and strike have separate cues.
- Hushloom: torn double-sided membranes, bent antennae, dangling limbs and a narrow throat slit. Unstable, choir-like tones drift over noisy inhalations, rising into a dissonant warning.
- Backstitch: a corroded wire-wound spindle on angular needle legs. Broken sewing-machine taps and tension squeals announce its approach.
- Tollbud: a rusted timeclock with split metal jaws, staple teeth and a hanging receipt. A detuned service bell rings above a failing transformer hum.
- Foldback: asymmetric thin folds, a tilted blank face and hanging arms. Reverse-rising paper scrapes and misplaced footstep-like thumps give its recorded trail an uneasy rhythm.
Each creature has original synthesized sound designs, not licensed songs or sampled voices. They are designed as localized horror soundscapes rather than a full musical score. Roaming, pursuit and attack audio comes from the creature, attenuates with distance, fades in, and is quieter and low-pass filtered behind walls. First-sighting stings are short local non-positional sounds. Nearby competing monsters have reduced ambience; cues use one voice per creature to avoid overlapping volume spikes. The regular warning timings and gentle damage defaults remain unchanged.
Local [Audio] EncounterVolume defaults to 0.45; WarningVolume defaults to 0.75. Set the encounter volume to zero if you prefer only warning sounds. These settings do not change other players' volumes. Audio is routed to the player's movement mixer group when available. The final mix still needs an in-game listening pass.
Compiled against Lethal Company Steam build 22825947. Compilation and offline rule checks passed; in-game rendering, navigation and multiplayer have not yet been playtested.
Meet the six
| Creature | What it does | How to deal with it |
|---|---|---|
| pligga | Enlarged fanged body; fixed 1.8-second windup, nine-metre tongue sweep, 35 damage, temporary visor spit. Pursues at 2.8 m/s; 3.5-second recovery. | Leave the marked sector, circle behind or use solid cover. |
| Hushloom | Sprinting within 18 metres charges a ten-metre shriek. Two-second warning, 30 damage, stamina drain and 2.5-second muffled hearing. Pursues noise at 3.5 m/s. | Crouch before the pulse lands, leave its radius or get behind cover. It does not listen to your microphone. |
| Backstitch | Hunts upright players at 3.2 m/s. Eight 1.5-metre stitches last 20 seconds and arm after 1.5 seconds. Upright contact deals 22 damage and slows movement to 45% for two seconds. | Crouch across stitches or go around. No body-contact attack. |
| Tollbud | Detects within nine metres. Stand still for two seconds for a ten-second pass. Its inner six-metre ring pulses for 40 damage and stamina every three seconds. | Earn the pass between six and nine metres, then cross. Never takes scrap. |
| Foldback | Follows a 2.5-second-old trail at 5 m/s; remembers targets briefly through lost sight; contact deals 35 damage. | Keep moving and avoid doubling back. Teleport discontinuities reset the trail. |
| The Last Passenger | A red, spiked apparition that marks a viewer, vanishes after a distorted vision, and returns for a fatal takeoff execution. | Look away before the gaze timer completes. Melee does not dispel this apparition. |
The designs were created for this pack; no claim is made that no other mod has ever used a similar idea.
Balanced defaults
- One added monster at a time; at most three encounters per landing.
- First spawn attempt 75 seconds after landing, then one attempt every 75 seconds with a 65% chance.
- Indoor spawn points must be 14–65 metres from the nearest eligible player, out of view and connected to the target by a complete NavMesh path. Spawns may be delayed if no safe point exists.
- Normal added attacks have a shared 1.5-second host cooldown per player. They can kill by default. Optional GentleDamage restores the 20-health floor; the Passenger curse bypasses it.
- Stamina drains preserve a small reserve and never increase already-low stamina.
- Pligga and Tollbud take eight accepted vanilla shovel/knife hits; the other original monsters take six. A 0.65-second stagger can occur only every three seconds; hits still deal damage between staggers. The Passenger remains immune to melee.
- Original field encounters leave after 160 seconds; the Passenger after 300 seconds. Test mode uses 65 seconds for all. The Passenger mark persists through takeoff then resets for the next landing; no curse state is saved, although player death has normal game consequences.
Install / upload
Upload the Odd_Company-0.5.0.zip file as-is to the Lethal Company community on Thunderstore. It contains the required manifest, 256×256 icon, README, and compiled plugin at BepInEx/plugins/OddCompany/OddCompany.dll. BepInEx is the only dependency. Thunderstore acceptance and name availability have not been checked by an upload.
When upgrading, replace the previous Odd Company plugin in every player's profile. Do not keep both versions installed. Read the one-time balance migration above; other settings are preserved.
For local testing before publishing, install BepInExPack in a fresh Thunderstore Mod Manager or r2modman profile, then use the manager's local-mod import with this ZIP if available. Alternatively, open that profile's folder and copy the ZIP's BepInEx/plugins/OddCompany directory into the profile's BepInEx/plugins directory. Launch modded.
Every player, including the host, needs the same mod version. A host with this mod pauses its added monsters if another connected player does not respond to its version handshake. A client cannot add encounters to an unmodded host.
Test the update
- Launch modded once to generate
BepInEx/config/local.oddcompany.five.cfg, then quit the game. - In the mod manager's config editor, set
[Testing] TestMode = trueon the host. Leave all six monsters enabled. - Start a disposable LAN save. For the curse test, set
FirstMonster = 5. Set[Spawning] OutdoorChance = 0for an indoor test or1for an outdoor test; restart after changing settings. - The first attempt happens 15 seconds after landing. Test mode bypasses the chance roll, retries every eight seconds when the encounter slot is free, and cycles through six kinds. Each field encounter lasts at most 65 seconds, but a mark persists until takeoff.
FirstMonsterselects the start: 0 pligga, 1 Hushloom, 2 Backstitch, 3 Tollbud, 4 Foldback, 5 The Last Passenger. Find it away from the ship or deeper inside. First verify that looking away prevents a mark, then deliberately stare and check the vision ends. Return to the ship with a second player and take off to test the execution and death sync.- Restore
TestMode = falseandOutdoorChance = 0.2for normal play.
Test mode still respects safe spawn placement. Its timer is not a guarantee that a creature appears beside you. The host log records each actual spawn with its name, indoor/outdoor choice and position. If you miss one, set it as FirstMonster and land again.
Configuration
All gameplay settings come from the host. ShowHints is local to each player.
| Section | Setting | Default |
|---|---|---|
| General | Enabled / ShowHints | true / true |
| Audio | EncounterVolume / WarningVolume | 0.45 / 0.75 (local) |
| Audio | FirstSightingScares / SightingVolume | true / 0.55 (local) |
| Balance | GentleDamage | false |
| Spawning | MaxAlive / MaxPerDay | 1 / 3 |
| Spawning | FirstSpawnDelay / SpawnInterval | 75 / 75 seconds |
| Spawning | SpawnChance | 0.65 |
| Spawning | OutdoorChance / LastPassengerChance | 0.20 / 0.60 |
| Effects | CurseShake / CurseFlicker / CurseDistortion | 0.70 / 0.75 / 0.65 (local) |
| Monsters | One enable switch per creature | all true |
| Testing | TestMode / FirstMonster | false / 0 |
First-release limits
- The models are stylized procedural geometry. Pligga uses a photo-textured oval face on a 3D head; it is not a sculpted or facially rigged likeness. The other creatures use geometric bodies and simple procedural animation.
- These are custom encounter entities rather than registered vanilla
EnemyAIprefabs. Vanilla enemies still spawn normally; native enemy power budgets and third-party enemy spawn menus do not manage these six. - Scanner labels and hints are included; terminal bestiary pages, enemy radar dots, stun-gun interactions, enemy-versus-enemy interactions and loot drops are not implemented.
- Creatures use their indoor or outdoor NavMesh. They cannot open doors, use elevators, traverse off-mesh links or follow through facility entrances. They wait at blocking colliders and eventually despawn. Modded moons/interiors, mine elevators, large modpacks and late-join mods need testing.
- There is no live game or two-player test result yet. Start with a clean profile and report any errors from the profile's
BepInEx/LogOutput.log, plus the host/client role and creature involved.
Suggested playtest
- Confirm all six render, their names scan, and warning sounds are audible.
- Test outdoor placement with the entire crew indoors and with someone outside. Verify no cross-zone pursuit and no normal creature chasing onto the ship.
- Test the curse with host and client victims, two simultaneous viewers, death before departure, disconnects, leaving during the vision, effect sliders at zero and a second landing. Confirm no input lock, filter or light change persists after the sequence.
- Test first sighting from behind a wall, behind the camera and in clear view. Check repeated sightings, two species within 45 seconds, the next landing, and the local off switch. Confirm no sting interrupts an attack warning.
- Listen to roam-to-pursuit and pursuit-to-roam transitions on host and client. Verify movement stops the walk animation and impacts produce a brief recoil.
- Walk toward and away from each creature, then put a wall between you and it: verify falloff, smooth ambience and muffling. Confirm warning cues remain readable against the game's audio.
- Try each listed counter; verify Pligga cannot hit through walls or behind itself.
- Verify Backstitch ignores walking and Hushloom's pulse ignores non-sprinting players.
- Stand still for Tollbud, then cross its ring within the 20-second pass.
- Walk a loop around Foldback, then double back to test the delayed trail.
- Check lethal default damage, optional GentleDamage floor, six/eight-hit removal and stagger resistance. Check visor spit clears, the snare releases movement, and hearing restores on expiry, death and disconnect. Verify client victims as well as the host.
- Repeat with a second player and verify positions, cues, damage, removal and cleanup agree.
- Leave/rehost the lobby and complete two landings to check state resets.
Packaging follows the Thunderstore package format. Networking uses Unity Netcode custom messages as described in the Lethal Company modding documentation.
Listener-level filtering follows Unity's AudioDistortionFilter and AudioLowPassFilter behavior.
