Custom Walking Sounds [Release]

Hello Everyone,

After quite a few revisions I’ve finally finished my Custom walksounds script. It replicates the sounds to other clients as of this version.

Since this came with a noticeable delay on the client I decided to include a very similarly scripted client-side script so that no delay is noticeable on the client.

Lastly, I included a modulescript called “IDList” That holds all the audio ID’s and their properties, designed for maximum ease-of-use and minimum hassle.

TL;DR
Key features:

  • The attached IDList module script is easy to customize and configure.
  • The footsteps are replicated to all other clients.
  • No delay on the client side.
  • Max and min hearable distance is configurable.
  • Works for both materials AND terrain.
  • The default footstep sound has been muted for each client.

Instructions

Custom Walking Sounds:
Simply drag the script into Starterplayer > StarterCharacterScripts and thats it!

Remove Default Walking Sounds:
Simply drag the script into Starterplayer > StarterPlayerScripts and DO NOT RENAME IT!

End instructions

Hopefully it’ll assist you in the development of your amazing game(s)!

Demonstration video | Single player:


Demonstration video | Multiple players:

EDIT!! The server script should be redownloaded / replaced as of 11/8/23 because of an issue with humanoid:GetPropertyChangedSignal('FloorMaterial') in server scripts not working as expected.

EDIT 2 The script now uses a coroutine to create a new thread instead of spawn(function())

EDIT 3 The number of times a link was clicked resets everytime I edit my post, but we’re over 1.5k on the walksound script alone by now. Thank you all for your support!

EDIT 4 !Warning!
Some loser review botted the script. Please don’t pay any attention to the negative reviews left by bot accounts.

63 Likes

Will use this in my next projects, was easy to implement and edit :).

3 Likes

Is there any way of making this change the sound based on the Terrain? Zig so it would be great!
Also what does this mean?

This script is available under the MIT License.

2 Likes

Hey Dede,

Yes this script works with all terrain and material (As of writing this comment atleast)

I put this in the description to make it clear to people that they are free to use / edit / modify this script. That’s pretty much the only reason. lol.

2 Likes

I meant like can I change the sound it makes in different Terrains? Like is there anything in the script that does this?

Thought it was something like MIT’s property LOL

2 Likes

Yes, the included IDList modulescript will allow you to change ANY sound.

Okay, but (from what I know) Roblox doesn’t change the sound of footsteps based on Terrain (does it?)

Also sorry if I’m wasting your time :sweat_smile:

1 Like

That’s correct, roblox doesn’t change the sound based on the terrain (atleast to my knowledge) but Enums do exist for each terrain type on roblox. Therefore I was able to script it!

1 Like

Okay thanks!
(Sorry if I wasted all of your time asking this question :sweat_smile:)

1 Like

Its no problem man, thanks for showing interest in my script!

1 Like

Maybe it’s a bit late to reply but, this worked fine and all (I still had to change some stuff obviously to fit my own animation etc) but other than that the only issue i found is that you didn’t think of the possibility that when players change from A to D while moving the sound resets, ill fix my own thing but u might update this for next ppl that’ll use it

3 Likes

found another issue which is the sound aint parented to root or any of your parts so it’s global, other than that ur good

Hey, this post popped up as my first search for a custom open sourced walking sound, and after reviewing and using this source- there is a minor detail in this script which is caching that you should know.

Line 21, the server creates a new RemoteEvent every time a player spawns.

Fixed it with this.

-- Create remote instance
local updateWalkspeedRemote = game.ReplicatedStorage:FindFirstChild('UpdateWalkspeed')
if updateWalkspeedRemote == nil then
	updateWalkspeedRemote = Instance.new("RemoteEvent", game.ReplicatedStorage)
	updateWalkspeedRemote.Name = "UpdateWalkspeed"
end
1 Like

Thanks! Implemented in the latest version.

Hello,

I wanted to use this in my game, is there a way to add multiple sounds instead of only having 1 sound per texture? I tried to change it but it didn’t work. Idk how to script well.

2 Likes

Hey Zavier,

The script was unfortunately not made with this in mind.

Sorry for the inconvenience!

This is really helpful since the scripts work really well and the sounds is really great too. I no longer need to make my own sounds or find some which is kinda laborious. Here’s some pics of the game I’m working. :slight_smile: Anyways tysm. I’ll also add a credits in the credits section of my game.
2024-01-31 05_43_17-The Remains - Roblox Studio


1 Like

Testing video here! The sounds are just soo good~ :hot_face:

1 Like

Hey Anjing,

Awesome looking game! Glad my script could help you out here!

Credit in the credit section is not required but is definitely appreciated.

Good luck with the further development of your game!

1 Like

Ye, I know it’s not required but I just have to since I know the scripts took time to make and the sounds too. :slight_smile: You’re a lifesaver really, saved me so much time.

1 Like