Player Pain Sounds

v1.0.7·Updated 2025-12-29

Customize the player injury and death sounds with your own audio files

About this mod Author’s original text

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.

Features

  • Replaces both player injury and death sounds with custom sound packs
  • Adds 3D impact sounds that play at the exact point of damage on the player's body
  • Independent toggle to enable or disable regular pain sounds (other sounds continue to play)
  • 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
  • (NEW) Plays dedicated fall pain sounds when landing hard via fall_low / fall_high categories (fall sounds disabled by default). Configuration settings exist to line up NGA's Fall Damage Mod ( settings with this mod for damage to actually register if you desire that.
  • (NEW) Invincibility-aware sounds:
  • invincible_pain for pain while invincible (no fallback if missing)
  • invincible_impact for impacts while invincible (no fallback if missing)
  • Toggle to allow fall sounds while invincible (default off)
  • 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 sounds
  • death: 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)
  • (NEW) 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.
  • (NEW) 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 registers
  • impact_bullet: For bullet and projectile impacts.
  • (NEW) invincible_pain: Pain sounds used only when player is invincible
  • (NEW) invincible_impact: Impact sounds used only when player is invincible

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

When packaging your sound pack:

  • Create a zip file named AuthorName-YourModName-1.0.0.zip
  • Put your OuchPack folder inside a plugins 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

Install & use Install: BepInEx plugin

  1. The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
  2. Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
  3. Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
  4. Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.

Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file.

Dependencies

Install these first, or the mod will not work:

BepInEx-BepInExPack_H3VR

File & checksum

Filename
Player_Pain_Sounds-1.0.7.zip
File size
94.0 KiB