Footstep Sounds for First Person Game?

You can try hooking a couple of PlaySound nodes onto your movement events and add a delay between them.


I’ve been trying to find a tutorial or at least some kind of explanation that can tell me how to add footsteps using a first person template. I have several audio cues based upon Physics Material (eg, we use terrain and need it change based upon material when player is walking over it) but I’m not sure how to get this to work with a first person template instead since we dont have an animation blueprint to base anything off/send a notify event.

In the end, I’ve found no such tutorial, although a few blueprints but they do not achieve the complexity that I need with the surface types…

Does anyone know how, or can they point me in the right direction as to how to set this up correctly?

Hey man, thanks for the reply. While yes, I could do this, this does not solve the issue of needing different sounds to play based on the material that you are walking on, which is what I need :slight_smile:

I made a quick-ish (10minutes) tutorial for you to get you on your way.


First of all, thank you so much for the tutorial. This was alot more then expected, so thanks! Second, I’ve started to get it to work… however for some reason on my landscape, it keeps resulting to the default physical material. I’ve set up layer infos and associated them with the correct physical materials and such. Static meshes seem to work fine, so I’m not sure what the problem is.

Also a small tip, just to help out with your Floor function: dragging off from Get Surface Type you can find Switch on EPhysicalSurface, which will essentially just give you each material without having to convert to string and find them :slight_smile: Eg:

Saves a bit of time and headcahes, also when you want to add more surfaces too it seems! Thanks again though, and any ideas about the landscape painted materials?

Good call on the switch! As far as the landscape problem, perhaps this thread will be insightful.

Notably this part:
"In landscape painting tool there is should be list of layers that landscape uses, you can create and set LayerInfoObject asset for each layer. LayerInfoObject has physical material property.

LineTrace should return physical material of most dominant layer at hit location."

It sounds like its a bug in 4.7. I’ve started to fix it using a simple method of going into landscape mode and simply clicking anywhere in the component, it seems to fix it. I have all my layers set up correctly.

Cheers and thanks again!

Glad to hear it is working. If your issues are resolved, can you accept the answer for tracking purposes?

uhh why does this happen when i try to compile it?

Error Found more than one function with the same name InpAxisEvt_MoveForward_K2Node_InputAxisEvent_181; second occurance at K2Node_InputAxisEvent_727

and the entire blueprint goes dead when i try to use it like that