
PaulMillerBug
Replaces the Hoarding Bug's calm and angry noises with 6 custom clips. Client-side.Paul Miller Bug
A client-side Lethal Company mod (BepInEx 5) that replaces the Hoarding Bug's (Loot Bug's) noises with 6 custom clips.
Whenever a Hoarding Bug makes noise — its calm chitter or its angry/attack screeching — it will play one of your 6 clips instead, in 3D at the bug's position, through the bug's own voice AudioSource. No networking code: every player who wants to hear it installs it themselves, and the bug will sound normal to players without the mod.
Requirements
- Lethal Company with BepInEx 5 installed (e.g. via r2modman / Thunderstore Mod Manager, or a manual BepInEx install).
Install
Manual
- Extract this zip so the folder structure lands in your game folder:
BepInEx/plugins/PaulMillerBug/should containPaulMillerBug.dllandbug1.wav…bug6.wav. The game folder is the one containingLethal Company.exe. - Launch the game. Check
BepInEx/LogOutput.logforPaul Miller Buglines confirming clips loaded.
r2modman / Thunderstore Mod Manager
Create a manual install: put PaulMillerBug.dll + bug1.wav…bug6.wav into a folder named PaulMillerBug inside your profile's BepInEx/plugins/, or use "Import local mod" if available. A Thunderstore manifest.json is included in the plugin folder for repackaging (note: Thunderstore packages also need an icon.png at package root — add a 256x256 PNG of your choice if you upload it; no icon is bundled here).
How it works
On load, the plugin loads every bug*.wav / bug*.mp3 / bug*.ogg next to the DLL. When a Hoarding Bug spawns (HoarderBugAI.Start), and once when clip loading finishes for bugs already spawned, it replaces that bug's sound fields:
chitterSFX(AudioClip[], the calm/normal chitter) → all loaded clipsangryScreechSFX(AudioClip[], angry/attacking screech) → all loaded clipsangryVoiceSFX(AudioClip, angry voice) → one random loaded clip per bughitPlayerSFX(AudioClip, hit-player sound) → one random loaded clip per bug
The game itself picks a random clip from those arrays when the bug vocalises, so each noise is a random one of the 6. bugFlySFX (the wing-flight loop) is intentionally left unchanged — it's not a vocal noise.
Because bugs only vocalise from those fields, field replacement is the whole mechanism; there is no death/kill detection in this mod.
Swapping / adding sounds
Drop any .wav, .mp3, or .ogg files named bug* (e.g. bug7.wav, bug-cool.ogg) into BepInEx/plugins/PaulMillerBug/, delete/replace the ones you don't want, and restart the game. WAV (44100 Hz, 16-bit) is the most reliable; the bundled files are in that format.
Config
Created after first launch at BepInEx/config/com.kale.paulmillerbug.cfg:
Enabled(defaulttrue) — turn the replacement off without uninstalling.Volume(default1.0, 0–2) — multiplier applied once per bug to its voice AudioSources when clips are applied. Restart to re-apply.
Notes / limitations
- Client-side only. Other players don't need it, and it doesn't change what they hear.
- Built against the publicised Lethal Company v49 game libraries (LethalAPI.GameLibs 49.0.0 on NuGet). If a future game update renames the HoarderBugAI sound fields, the log will show replacement failures and the mod will need an update.
- Bundled clips: bug1 2.72s, bug2 4.28s, bug3 5.38s, bug4 5.38s, bug5 8.33s, bug6 5.28s.
Building from source
Source is in source/PaulMillerBug/ (Plugin.cs, PaulMillerBug.csproj, nuget.config):
dotnet build -c Release
Requires the .NET SDK and internet access to NuGet (BepInEx feed + nuget.org). Output: bin/Release/netstandard2.1/PaulMillerBug.dll. See the comment in the .csproj for why GameLibs is referenced the way it is.