Unreal Engine 5 - How to create footsteps depending on what material player is moving on.

Hello, I’m new here. I hope this topic is in correct section.
My native language is not English, so I’m apologizing for maybe bad sentences or words.

I decided to start create games using Unreal Engine 5. So I’m beginner.

And now the problem:
I’m trying make footsteps depending on what material is player moving on. I have created the landscape and I have painted stone path and trying use this as material too.

I’ve watched at least 20 videos today on how to create footsteps and not one video has helped me in any way.

I’ve really tried a billion ways today. I did literally CTRL C and CTRL V according to the videos, then I tried to somehow put it together from my own head, etc… There’s a bunch of stuff I tried and nothing worked right.

So… now I guess I’d like to describe what my idea is, or how I think it should work.

  1. First, find out what material the player is standing on (probably using CollisionCylinder)
    Screenshot 2023-08-01 220758

  2. If the player starts to move, the sound starts to play according to the material the player is walking on (I have created GrassCue, StoneCue and CubeCue)

  3. When the player stops (does not move), the sound stops playing with the sound track being completed.

So, now I guess I’ll write what my “setup” is.

I created MyTerrain (Material) and I also created Phys Materials (Cube_PM, Grass_PM and Stone_PM).

(I also have the Surface type selected correctly for all PMs)
Screenshot 2023-08-01 222017



This is what my terrain looks like (the road is painted with paint tool).


I’m making a First Person game, so I don’t suppose I’ll be doing animations or something similar.

How could this be done with Surfaces? Or how would you do it? And if I could ask, would you be so kind as to possibly explain what the different nodes mean (in case you post screenshots of how you did it here)?

Thank you in advance for your advice.

Update:

I made a few adjustments, and I remembered that I can actually find out where the problem is by using the print string. So I played around in the editor a little bit, and I have a new problem that I can’t figure out.

When I walk the terrain, it still just lists “Stone” in the game. However, if I walk on Cube, it says “Cube” which is correct.

So what do I currently need to do?:
I need to make it so that if a player walks on grass, it will be listed in the game as “Grass”. If he walks on stone, it will say “Stone”. However Stone is done through the paint tool.

Any ideas on how to fix it to make it work properly? The only change I made is that I opened the “firstperson_sharedassets” folder in the Browser in UE5 and added Phys Material to each course so that it would be correct.