
Player Pain Sounds
Customize the player injury and death sounds with your own audio filesDetails
Player Pain Sounds Plugin
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.
Hopefully I did not break anything by making this.
Features
- Replaces both player injury and death sounds with custom sound packs
- (NEW) Adds 3D impact sounds that play at the exact point of damage on the player's body
- (NEW) Independent toggle to enable or disable regular pain sounds (other sounds continue to play)
- (NEW) Optional overlap prevention to ensure only one pain sound plays at a time
- Support for multiple sound packs with in-game configuration menu
- Configurable volume control for all sound categories
- Runtime configuration via ConfigurationManager
- Sound selection based on damage amount:
- Low damage (≤5% max health):
pain_low
sounds - Medium damage (5-20% max health):
pain_default
sounds - High damage (≥20% max health):
pain_high
sounds
- Low damage (≤5% max health):
- Last stand looping sound when health is below 25%
- Critical health alert sound when health dips below 25%
Sound Pack Structure
Required sound categories (minimum for pack to work):
pain_default
: General injury soundsdeath
: Played when the player dies
Optional 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)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.- (NEW)
impact_default
: Default sound for any impacts against the player, the hit you receive before pain registers - (NEW)
impact_bullet
: For bullet and projectile impacts.
If 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.
Packaging for Thunderstore
When packaging your sound pack for Thunderstore:
- Create a zip file named
AuthorName-YourModName-1.0.0.zip
- Put your
OuchPack
folder inside aplugins
folder at the root of the zip - Include manifest.json, README.md, and icon.png at the root of the zip
Example 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/
sound1.wav
sound2.ogg
death/
sound1.wav
sound2.ogg
manifest.json
README.md
icon.png
Configuration
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.
Configuration Settings
**(NEW)** Enable Pain Sounds: Toggle regular pain sounds on or off.
Sound Pack: Select which sound pack to use for player injury and death sounds.
**(NEW)** 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.
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.
**(NEW)** Enable Impact Sounds: Toggle 3D impact sounds on or off.
**(NEW)** Impact Volume Multiplier: Adjust the volume of impact sounds independently.
Debug Messages: Enable detailed logging for troubleshooting.