[Question] How to add footstep sounds?


I can’t figure out how I can add footstep sounds.I already took a look at shooter game example, but I found nothing special.

I think that I can do that with a physic material with surface type, but how can I create such a type?

Thank you for your answers

Hi Philipp,

As Dmitry mentioned, there are different approaches. simplest is to open specific animation (like a walk cycle) and in Notifies section, Add Notify > Play Sound, and link it to a Sound Wave or Sound Cue.

more involved method involves generating sounds based on surface type. For this, first you will want to specify types in your project’s DefaultEngine.ini as such:

[PhysicalMaterial.SurfaceTypes] SurfaceType1=Wood SurfaceType2=Concrete SurfaceType3=Metal

(this is likely to be moved in-editor at some point)

Then, in your Animation Sequence’s AnimNotify, make Notify Events instead of a sound. These Event can be used in Animation Blueprint’s EventGraph, where you can do a Single Line Trace down from your actor to Get Surface Type, and connect that to a Misc > Select node which you’ll set to EPhysicalSurface. Populate list of surface types with your sound cues, and Play Sound at Location of Line Trace.

I hope that helps!

This really helps, but as I’m still somewhat new to blueprints and blueprint logic, would you be able to provide a simple example screenshot of something like this? Setting DefaultEngine.ini surface types and making an AnimNotify Event is easy enough - I’m mainly focused on line trace, get surface type, and ephysicalsurface.

I don’t think any sample projects or showcases actually demo using multiple physical materials for footsteps - they all just play a generic step cue. Correct me if I’m wrong though and I’ll promptly go look at example you suggest.

I should clarify that I’m using this with a landscape, and have physical materials assigned to each painted layer that I’m trying to use.

Edit: I think I have most of process down, but for some reason my trace line is flying into air.

I’m currently trying to do some stuff with footstep sounds, but somehow I can’t get it to work :frowning:

I have followed those steps:

I created new script lines in DefaulEngine.ini

Then I added a notify event into my running animation

After that I created 2 physical materials (dirt and grass) and in properties I chose surfacetypes that I made before

Now I created what you can see on picture. I think that some nodes are missing (like “play sound at location” node) but somehow I don’t know where I have to add them and which nodes I have to use (I still don’t have much experience with blueprints and our programmer is currently not here ;D)

Now I applied physical materials to landscape and tested it out, but it wasn’t working.

I already tried some other ways and combinations (in anim blueprint), but somehow I can’t get it to work.

Hopefully somebody can give me some advices. :slight_smile:

Hi Zach and Philipp,

There is a Content Example being worked on that will showcase this, but unfortunately it did not seem to make it into Beta 6. Below is a screenshot from Animation Blueprint that shows setup. (forgive node spacing, I had to make it fit in one frame). Hopefully this can help to resolve your issues.


(EDIT: uploaded correct screenshot)

Thank you very much :slight_smile: Now it’s working (in my version from yesterday just “make array” was missing → I’m not sure what this node does or why it is necessary, because without it, everything isn’t working)

I think potentially it can be done by 3 ways:

  1. Physical materials

  2. Anim notify

  3. Hardcoded

First way needs special coded physical material properties for your specific purposes.

Second - script which playing sounds when anim notify event happens

Third - just some periodically playing sounds while player moves.

Hmm, I thought it would be as simple as in UDK ^^

Thank you for your answer!

So I have followed a lot of this. I understand what is going on and this is how I was going to do it. What I cannot do is find node you have called Select. It has an index and a list of surface types. I have no idea what node that is or where to get it. if you could point me towards it that would be great.

This post if from beta. Some things have changed between then and now. You’ll get a quicker answer if you post this as a new question in AnswerHub.

Hey ClockworkDuck,

As Guigsy mentioned, this is an old Archive post from beta, and much of this information may have changed. If you’re still looking for help with this, you should open a new post on AnswerHub so we can answer with updated information. Thanks!