SignalLost-ProjectEcho icon

ProjectEcho

Physics-based spatial audio system. Applies Sabine-based RT60 reverberation, wall-blocking LPF, diffraction paths, and HRTF-based spatial audio in real time. Supports low, medium, and high quality tiers.

Last updated 2 hours ago
Total downloads 99
Total rating 1 
Categories Mods Audio BepInEx Client-side Performance Tweaks & Quality Of Life
Dependency string SignalLost-ProjectEcho-1.0.6
Dependants 0 other packages depend on this package

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

README

Project Echo — Physics-Based Spatial Audio

A real-time spatial audio mod for Lethal Company. Instead of simple sound replacement, Project Echo simulates physically accurate reverb, occlusion, diffraction, and 3D spatialization based on your actual in-game surroundings.


How It Works

Every time you move, Project Echo casts rays in up to 14 directions to measure the room you're standing in. It calculates the reverberation time (RT₆₀) using Sabine's Formula, samples wall and floor materials to determine how hard or soft the surfaces are, and applies all of that to every active AudioSource in the scene — in real time.


Features

🔊 Dynamic Reverb (Sabine RT₆₀)

Room volume and surface absorption are calculated on the fly. A tight metal ventilation shaft sounds completely different from a vast machinery hall. Ceiling height and corridor shape are detected separately and influence the reverb character.

🧱 Physical Occlusion

Walls between a sound source and the player trigger a low-pass filter. The further the source, the more muffled it becomes. Monsters are harder to hear through thick walls — but you'll still know something is there.

🚪 Sound Diffraction

Sound bends around open doors and through corridors using a portal-based path engine. A door that's 10% open sounds different from one that's 90% open.

🎧 HRTF Spatialization

Elevation and azimuth tonal shaping on top of Unity's built-in spatializer. Sounds above you are brighter; sounds below are darker. Air absorption rolls off high frequencies with distance, matching ISO 9613-1.

🏷️ Sound Source Categorization

Every AudioSource is classified into one of 7 categories. Each category gets its own processing:

Category Treatment
Footstep Short reverb, floor material emphasized, HPF off
Monster Occlusion ×1.3, direction maximized
Machine / Ambient Long reverb tail, wet ratio increased
Walkie-Talkie No reverb, band-limited 300–3400 Hz
Player Standard processing

🪞 Directional Early Reflections

A virtual audio source is placed at the nearest wall reflection point and plays back the sound with a physical delay (distance / 343 m/s). The reflected sound's EQ is shaped by the wall material — metal walls produce bright, sharp ringing; carpet produces almost no reflection at all.

🔀 Multizone Blending

Standing in a doorway? Project Echo scans both sides and blends the two reverb profiles. No more hard snapping between spaces.

📐 Material-Driven HF Decay

DecayHFRatio is computed per-scan from the weighted average of surrounding surface types. Hard materials (metal, glass) let high frequencies ring long. Soft materials (carpet, dirt) kill them almost instantly.


Installation

Install automatically via Thunderstore Mod Manager or r2modman.

Manual install:

BepInEx/plugins/ProjectEcho/ProjectEcho.dll

Configuration

A config file is generated at BepInEx/config/ProjectEcho.cfg on first launch.

[Quality]
# Low / Medium / High  (default: Medium)
# Systems with under 4 GB RAM are automatically set to Low.
QualityTier = Medium

[Features]
EnableHRTF = true
EnablePropagation = true
EnableOcclusion = true

[Audio]
# Overall volume multiplier (0.0 – 2.0)
MasterVolume = 1.0
# Reverb strength multiplier (0.5 = subtle, 2.0 = heavy)
ReverbIntensity = 1.0
# Occlusion LPF depth (0.0 = disabled, 1.0 = full)
OcclusionStrength = 1.0
# Room transition blend speed (1.0 = slow, 10.0 = instant)
RoomTransitionSpeed = 3.5

Low-end recommended settings

QualityTier = Low
EnableHRTF = false
EnablePropagation = false

Performance

Quality Tier Raycasts Scan Interval Max Active Filters
Low 6 1.0 s 8
Medium 10 0.5 s 16
High 14 0.25 s 32

Scans run only when the player moves more than 0.5 m and are spread across multiple frames using a per-frame time budget. Filter updates skip entirely when a source is not playing, and stop running once all parameters have settled — keeping idle CPU cost near zero.


Compatibility

Item Version
Lethal Company v64+
BepInEx 5.4.21+
Other audio mods ⚠️ Possible conflicts

Using Project Echo alongside other audio replacement mods (e.g. LCSoundTool) may cause conflicts. If you experience issues, try running Project Echo on its own first.


Bug Reports

Please open an issue on GitHub and attach your BepInEx/LogOutput.log.


Credits

  • Acoustic physics: Sabine's Formula (Wallace Clement Sabine, 1900)
  • Air absorption model: ISO 9613-1
  • Framework: BepInEx / HarmonyX