WalkSpeed + Swimming, buggy behavior

I wanted to make a script which changes how fast players swim. However, I noticed some really buggy behavior when I changed the WalkSpeed of the player’s Humanoid when it entered the water. It seems that using the Swimming event to change the player’s WalkSpeed results in some really buggy behavior. Here’s a quick repro:

  1. Create a new place and add some terrain water.
  2. Add a LocalScript in StarterPlayerScripts and insert the following code into it:

wait(1) local P = game.Players.LocalPlayer P.Character.Humanoid.Swimming:connect( function() P.Character.Humanoid.WalkSpeed = 8 end )

  1. Enter Play Solo/Start Player and jump into the water. Notice how you can’t move.

This is quite an annoying issue and I hope this gets fixed. For the time being though, does anyone know how to change the speed at which players swim in terrain water?


Anything 10 or under will not be fast enough to push through the liquid

I use 10.1 or 11.


Oh I see. Thanks for pointing that out! Still a bit unexpected behavior.

Yeah, I think it should be looked at as a bug (so idk if my other post just giving a tidbit of info should be the solution) The only solution to swimming slower than 10.1 studs per second I can think of is applying a high torque, low speed body velocity that activates in the direction they’re moving when they’re moving underwater & slowed.

Edit: Oh yeah, move this to bugs -> client bugs instead of the main bug category, if you can

Removed the solution, I totally agree. Also moved this to Client Bugs.

3 years later, this is still an issue. Anything below 10 will cause you to be unable to swim, with a very sudden cut-off, which is very odd behaviour… could we get a fix?

Hate to bump such an old thread but this is still an issue… and it would be very nice if it could get fixed.


I tried to adjust the walkspeed to make the player swim faster but it doesn’t seem to work.