In a local script you need to get the character’s “Humanoid”, you can see what material the player’s character is walking on. In the “HumanoidRootPart” there is a Sound called “Walk” which you can change the sound ID according to the material they are on, this is an example of a script.
local Humanoid = script.Parent:FindFirstChild("Humanoid")
local Walk = script.Parent.HumanoidRootPart:FindFirstChild("Running")
while true do
wait()
if Humanoid then
if Humanoid.FloorMaterial == Enum.Material.Grass then
Walk.SoundId = "rbxassetid://252965149"
Walk.PlaybackSpeed = 1.5
end
if Humanoid.FloorMaterial == Enum.Material.Concrete then
Walk.SoundId = "rbxassetid://833564121"
Walk.Volume = 2
end
if Humanoid.FloorMaterial == Enum.Material.Plastic then
Walk.SoundId = "rbxassetid://833564121"
Walk.Volume = 2
end
end
end
You can place the local script inside the Player’s Character.