You are viewing a potentially older version of this package. View all versions.
Niko666-H3MP_Footsteps-0.3.0 icon

H3MP Footsteps

PlayerFootsteps but synced in H3MP! All clients need to install this in order to sync. Can also be used in singleplayer.

By Niko666
Date uploaded 17 hours ago
Version 0.3.0
Download link Niko666-H3MP_Footsteps-0.3.0.zip
Downloads 30
Dependency string Niko666-H3MP_Footsteps-0.3.0

This mod requires the following mods to function

BepInEx-BepInExPack_H3VR-5.4.1700 icon
BepInEx-BepInExPack_H3VR

BepInEx pack for H3VR. Preconfigured and ready to use.

Preferred version: 5.4.1700
VIP-H3MP-1.14.0 icon
VIP-H3MP

H3MP - Multiplayer Mod

Preferred version: 1.14.0

README

H3MP Footsteps

Real-time footstep audio sync for H3VR multiplayer (H3MP). Your friends can finally hear you sneaking up on them, nya~

Features

  • Hear your own footsteps (works standalone without H3MP) and sync everyone else's over H3MP
  • Fully 3D-spatialized playback (positional, distance-attenuated)
  • Volume, pitch and cadence vary with movement speed; crouching (physically lowering your head) quiets steps
  • No footsteps when airborne
  • Full Kodeman PlayerFootsteps sound-pack compatibility - your existing packs (and bundled defaults) just work
  • Configurable: master volume, loudness, step cadence, hearing distance, reload the scene to reload the config

Requirements

  • Friends who also need to install this mod

Known Issues and Limitations

  • Vibecoding... State-of-the-art Shitcode There might be more bugs I havn't found
  • Footsteps can be heard through walls etc.
  • Sometimes you can hear footsteps from players in other maps (wtf?)
  • Didn't test if it conflicts with Kodeman's PlayerFootsteps, but it's recommended not using this mod when using that one
  • The config isn't synced over H3MP, so players can cheat to have greater hearing distance etc. (please don't do that to your friends, fair play)

Replacing sounds

Bundled with this mod: 18 default footstep wavs (FreeSound CC audio, see Attributions.txt).

To override with your own sounds, drop wav files named PlayerFootsteps_{Material}*.wav anywhere under BepInEx/plugins/ - exactly the same convention as Kodeman's PlayerFootsteps. Materials: Concrete, Generic, Grass, Gravel, MetalThick, MetalThin, Mud, Meat, SoftMaterial, Water, WoodHeavy, WoodLight, Sand, Brick, Rock, Ice, Glass, SnowNorthestDakota. Example: PlayerFootsteps_Grass_01.wav in any plugin folder replaces the bundled grass sound.

I Asked Myself These Questions

It's really useless and glitchy

  • Sorry, I'm not good at modding. If you have any suggestions, feel free tell me. (Discord: 妮可_Niko666, I'm in UTC+8 timezone so probably won't respond to messages in time)

I want more

  • I'll do my best.🫡

Credits

Generative AI Disclosure

This mod (including some parts of this readme) was created using various generative AI models because I'm a dumbass (also netcode is so hard)

ko-fi

CHANGELOG

Changelog

0.3.0

  • Initial release on Thunderstore
  • Changelog below was generated by AI, idk wtf it's saying

0.2.1

  • FIX: remote players could not hear each other when the host relayed footsteps - host relay now bypasses H3MP's batched UDP channel (ClientHandle.BatchedPackets lacks a negative custom-ID branch and threw IndexOutOfRangeException, dropping all relayed custom packets)
  • Built-in sound bank now loads from the plugin root too (r2modman/Thunderstore flatten zip subfolders)

0.2.0

  • Players now hear their OWN footsteps (standalone works without H3MP)
  • Full Kodeman PlayerFootsteps sound-pack compatibility: bundled 18 default wavs, user packs PlayerFootsteps_{Material}*.wav scanned from BepInEx/plugins just like the original
  • Remote playback unified through the same sound bank (3D spatialized pool)
  • Material detection switched to PMat.MatDef.BulletImpactSound for exact pack mapping
  • Config: PlayLocalFootsteps, CustomAudio

0.1.0

  • Initial prototype: local locomotion detection (distance-accumulation + speed/crouch scaling)
  • H3MP custom-packet networking with host relay
  • Remote playback via vanilla SM impact sounds, 3D-spatialized per surface material