Best Practices For Footsteps


I am using Unity professionally but switched to Unreal for personal projects recently to expand my skillset. Currently I´m trying to implement a footstep system for my 3rd Person project.
In Unity I did a similar system by doing raycasts from emitters (feet of player and AI) to determine when a foot hit the ground, where and with what intensity (to adjust sound volume accordingly). I thought I could use this approach in Unreal using Skeleton Sockets.
But I also searched for Unreal tutorials on footstep systems and they all used animation notifies to trigger sound playback. I have some concerns about this approach:

  • It requires animators to manually add these notifies to their animation. If this step is forgotten no sounds will play. If the animation is adjusted, notify positions may need to be adjusted too. This sounds quite error prone
  • It does not give information on how hard the foot hit the ground
  • It does not give information where exactly the foot hit the ground. This can make a difference if the main player is close to the camera and stereo/surround sound should be played back from the correct physical location

So my question is: Why is the notify approach used so wildly? Because it´s the easiest or is there something that I´m missing?

Thanks in advance,

Well the notify approach is easy and easy to implement as in that if there is no sound then it’s a obvious fix The next step up would be the use of a physics material which can be added to any material type that defines the surface qualities so footsteps sounds can be generated based on the nature of the surface from concrete, metal or ground. You could set up a more complicated procedural trigger but the notify approach is by far the simplest