

A BepInEx plugin for H3VR that replaces the default player injury and death sounds with customizable sound packs.
There is also a last stand feature for playing a dramatic sound or music when at low health. By default this health percentage is 25%.
The game must boot up at least once with a detectable OuchPack for it to be selectable from the configuration file.
pain_low soundspain_default soundspain_high soundsfall_low / fall_high categories (fall sounds disabled by default). Configuration settings exist to line up NGA's Fall Damage Mod (https://thunderstore.io/c/h3vr/p/NGA/FallDamage/) settings with this mod for damage to actually register if you desire that.invincible_pain for pain while invincible (no fallback if missing)invincible_impact for impacts while invincible (no fallback if missing)Required sound categories (minimum for pack to work):
pain_default: General injury soundsdeath: Played when the player diesOptional sound categories:
pain_high: High damage sounds (played when damage is ≥ 20% of max health)pain_low: Low damage sounds (played when damage is ≤ 5% of max health)fall_high: Falls from very high heights (at or above the high fall speed threshold). If missing, falls back to pain_high, then pain_default.fall_low: Softer falls that still exceed the low fall speed threshold. If missing, falls back to pain_low, then pain_default.last_stand: Looping sound played when health is below 25% (like a heartbeat)critical_health: Alert sound that plays once when you go below 25% health, like the HEV suit in Half Life.impact_default: Default sound for any impacts against the player, the hit you receive before pain registersimpact_bullet: For bullet and projectile impacts.invincible_pain: Pain sounds used only when player is invincibleinvincible_impact: Impact sounds used only when player is invincibleIf optional pain categories are missing, the plugin will fall back to using pain_default sounds.
If optional impact categories are missing, the plugin will fall back to impact_default. If impact_default is missing, no impact sound will play.
The directory names (pain_default, death, impact_bullet, etc.) must match exactly, but the sound files themselves can be named anything as long as they are WAV or OGG files.
When packaging your sound pack for Thunderstore:
AuthorName-YourModName-1.0.0.zipOuchPack folder inside a plugins folder at the root of the zipExample of what your zip should contain:
AuthorName-YourModName-1.0.0.zip
├─ plugins/
│ └─ OuchPack/
│ └─ YourSoundPack/
│ ├─ pain_default/
│ │ ├─ sound1.wav
│ │ └─ sound2.ogg
│ └─ death/
│ ├─ sound1.wav
│ └─ sound2.ogg
├─ manifest.json
├─ README.md
└─ icon.png
When installed, it will be extracted to your plugins folder like this:
BepInEx/plugins/
AuthorName-YourModName/
OuchPack/
YourSoundPack/
pain_default/
death/
manifest.json
README.md
icon.png
After installing a new sound pack, you must edit the configuration to enable it. By default, the plugin starts with no sound packs enabled. Open the configuration menu in-game to select your desired sound pack.
OGG and WAV files are supported. MP3 files are not supported.
Enable Pain Sounds: Toggle regular pain sounds on or off.
Sound Pack: Select which sound pack to use for player injury and death sounds.
Prevent Pain Sound Overlap: Prevent new pain sounds from playing until the previous pain sound has finished (disabled by default).
Volume Multiplier: Adjust the volume of all injury and death sounds (0.0 to 2.0).
Play Pain With Death: If enabled, a pain sound plays immediately before the death sound.
**(NEW)** Enable Fall Sounds: Toggle fall-specific pain detection on or off (default off).
Low Fall Speed: Minimum downward speed (m/s) that triggers `fall_low` sounds (default 4.375 m/s, ~2m fall).
High Fall Speed: Speed threshold (m/s) that upgrades fall sounds to `fall_high` (default 8.75 m/s, ~4m fall).
**(NEW)** Enable Invincible Fall Sounds: Allow fall sounds to play while invincible (default off; no fallback if categories are missing).
Enable Last Stand: Enable looping sound when at low health.
Last Stand Threshold: Health percentage that triggers the last stand sound.
Enable Critical Health Sound: Enable a one-time sound when health drops below the critical threshold.
Critical Health Threshold: Health percentage that triggers the critical health sound.
Enable Impact Sounds: Toggle 3D impact sounds on or off.
Impact Volume Multiplier: Adjust the volume of impact sounds independently.
**(NEW)** Enable Invincible Impact Sounds: Allow invincible-only impact sounds
**(NEW)** Enable Invincible Pain Sounds: Allow invincible-only pain sounds
Debug Messages: Enable detailed logging for troubleshooting.