Soundproof Walls is a mod for Barotrauma that overhauls the vanilla sound system to include more advanced audio features like reverb, distortion, sidechaining, occlusion, dynamic lowpassing, and more. It fixes many vanilla isssues, adds two new sound-based mechanics (eavesdropping and hydrophone monitoring), and comes with 230+ unique configuation options in a custom in-game menu.
Soundproof Walls uses the OpenAL Soft audio engine packaged with the game and takes advantage of the previously unused Effects Extension to integrate reverb, distortion, and dynamic lowpassing. The vanilla DFS algorithm for sound paths and muffling has been swapped out with an A* implementation for better quality paths that count obstructions for additive muffling. Occlusion is done with simple LOS ray casting using the game's existing Farseer Physics Engine methods. Sidechaining is event-driven and triggered by sounds referenced in the "Custom Sounds" list in the Advanced menu tab, and other effects like the radio filters and Static mode's reverb filter were built with reference to common implementations (e.g., Schroeder-style reverb, hard clipping distortion, etc).
The easiest way to use this mod is by subscribing on the Steam workshop page.
Alternatively, if you want to try unreleased features or just prefer compiling the mod yourself, follow the build instructions below.
Download and install the .NET 8 SDK or newer from the official Microsoft website.
If you have Git installed, run this command to download the repository to your local machine:
git clone https://github.com/Plag0/Soundproof-Walls.gitAlternatively, click the green "Code" button at the top of the GitHub page and select "Download ZIP", then extract its contents wherever you want.
To compile correctly, you need external references:
- Inside the
Soundproof-Wallsdirectory you just downloaded, create a folder calledRefs. The file structure should look like:
Soundproof-Walls/
├── Assets/
├── ClientProject/
├── Refs/
├── ServerProject/
├── SharedProject/
├── Soundproof Walls.sln
└── ... (other files)
-
Download the latest
luacsforbarotrauma_refs.zipfile from the LuaCsForBarotrauma Releases page. -
Extract all contents from the ZIP into the
Refsfolder. -
Navigate to your Barotrauma installation directory, locate
NVorbis.dll, and copy it into theRefsfolder.
-
Open the
Build.propsfile inside theSoundproof-Wallsdirectory with any text editor, and change the value between theModDeployDirtags to point to your system’sBarotrauma/LocalModsfolder. For Windows users, this may already be set correctly if Barotrauma is installed on your C: drive. -
Open a terminal and run the following command - replacing the example path with the actual directory of the project folder (the folder containing the "Soundproof Walls.sln" file):
dotnet build "example/path/to/Soundproof-Walls"Alternatively, you can use Visual Studio to build the project.
Note:
You can safely ignore any build warnings. If there are any errors, refer to the troubleshooting section below.
-
Subscribe to Lua For Barotrauma and follow the instructions in the description to install client-side Lua.
-
Launch Barotrauma. If client-side Lua has been installed correctly, you will see an "Open LuaCs Settings" button in the top left corner of the main menu. Click this button and tick "Enable Csharp Scripting".
-
Navigate to your mods list and enable Soundproof Walls. If there are two copies of the mod, choose the one with the grey pencil icon.
-
Play the game and enjoy! If you're hosting a multiplayer session, any player joining will automatically download and use your local version of the mod.
- Missing assembly errors? Ensure all files and folders from
luacsforbarotrauma_refs.zipand theNVorbis.dllare placed inside theRefsfolder located atSoundproof-Walls/Refs. - Being used by another process error? Believe it or not, just repeat the command until it works.
- Command not found? Check your .NET SDK installation is valid by running
dotnet --info. If there are errors, or your SDK version is less than 8.0, reinstall your .NET SDK.