How can I make an "advanced" footstep sound system?

I’m trying to make an “advanced” footsteps system I saw several topics in the DevForum, but I have some doubts:

I saw some that use RunService to play the sounds, but if the player goes to very low FPS it won’t sound? Or does it matter? :woman_shrugging:
lag-cat

How can I make it so that, depending on the speed, play more footstep sounds?
For example, if I have to play the footstep sound every 0.4 seconds and my character is running, it won’t make sense.
(I use several footstep sounds, I don’t have an audio that can increase the speed like the default footstep sound)

u can do
currentSpeed/defaultSpeed to increase the animation speed.
in the animation editor you can add a animation event.
https://create.roblox.com/docs/building-and-visuals/animation/animation-events
you can put in the parameters “Left” and for the name “Footstep”

-- to get currentspeed is: humanoidRootPart.Velocity.Magnitude
-- for default speed you can set it to like 16 since that's regular speed on a roblox character
animationTrack:AdjustSpeed(currentSpeed/defaultSpeed)
3 Likes

then you can use

walkAnimTrack:GetMarkerReachedSignal("Footstep"):Connect(function(paramString)
	print(paramString)
end)

everytime you make a footstep or that event reaches it will fire the event above

2 Likes

what i am trying to do is a footstep sound system

walkAnimTrack:GetMarkerReachedSignal("Footstep"):Connect(function(paramString)
	sound:Play()
end)

yes with this you can put the sound here

3 Likes

you can parent the footstep inside the HumanoidRootPart or their legs. I perfer HumanoidRootPart.
After you can do

HumanoidRootPart.FootstepSound:Play()
1 Like

Ok let me try it and try to put it in my code

I had NO IDEA that existed, it’s too great and useful! OMG!

how do I fire the function? Does it automatically play while the animation runs on a character?