
Footstep System for Unreal Engine
A state and surface based footstep plugin. Sounds are picked from a data asset by what the character is doing and what it is standing on, with an animation modifier that finds the foot plants for you.
Footstep System is an Unreal Engine 5.8 plugin that plays footsteps based on two things: the state the character is in, and the surface it is standing on. Walking on grass and sprinting on metal are two rows in a data asset, not two branches in a Blueprint.

I made it because every footstep setup I have written ends up the same way. It starts as one Play Sound node on a notify, then someone wants running to be louder, then someone wants gravel, and six months later there is a Blueprint with forty branches in it that nobody wants to touch.
What it does
- Picks the sound from a Footstep Database asset by state and surface. Adding a surface is filling in a row, not editing a Blueprint.
- Places the notifies for you. The animation modifier works out where each foot lands and drops a notify on it, and you can run it on a whole folder of animations at once.
- Falls back down your tag hierarchy, so one
Movement.Runentry covers sprinting, running forward and everything else under it until you decide one of them needs its own sound. - Gives you an On Footstep event with the state, the surface, the impact point, the normal and what was stepped on, so you can spawn effects, shake the camera or report noise to AI.
- Lets you attach Footstep Actions to a single surface. They are Blueprints with one Entry event, so a splash lives on wet surfaces only and costs nothing everywhere else.
- Streams every sound and effect in the background, so nothing loads until a footstep needs it.
- Works in multiplayer, and sends nothing over the network by default.
- Comes with a playable demo level: the Third Person character with footstep notifies, a filled in database and CC0 footstep sounds, so you can hear it working before you touch your own character.

What it does not do
- It ships no states and no surfaces for your game. States are Gameplay Tags you author, surfaces come from your own physics settings. The plugin has no opinion about what a walk is.
- It ships no sounds and no effects for your game. It plays yours. The demo's own sounds stay inside the demo.
- It does not spawn Niagara by itself, so that projects with Niagara turned off can still use it. A Niagara system needs a Footstep Action, which is a three node Blueprint.