Swimmable part. High performance water

To get jump input across all platforms you could use UserInputService | Roblox Creator Documentation.


Can it be done with something like a keycode? Since I have the jumping state turned off.

1 Like

Sure, you could just use Enum.KeyCode.ButtonA for the A button on the controller.

Additionally, it might be a good idea to look into ContextActionService considering you’re using the same input action across different platforms.


This looks really nice! I’m not at my computer right now so I can’t see the test file, but does this use mesh deformation waves? If not, that would make it 2000% better, if it already uses mesh deformation, I will definitely try it out in my current project!

1 Like

No, it doesn’t use mesh deformation, it uses an animated texture, but I was actually planning to work on that after publishing the code.

1 Like

In that case, this resource may help you:

I wish you luck!


This is very useful! I’ll be sure to check out the scripts to learn the logic of it!

if crazyblox sees this you’re dead lol

1 Like

This is really nice! Thanks :DD

Why woould that be :eyes:


Just a small suggestion, you should make an automatic script to do this using CollectionService. That way, users could just use the Tag Editor plugin and tag parts as water, and not have to go in and edit a script.

1 Like

To elaborate, you could have a variable that stores a string, which would be the CollectionService tag. It could be set to something like “WaterPart” by default, but having it as a variable would allow developers to change the tag easily from the top of the script, in case the name of the tag is already in use in their game.

1 Like

Not sure if this is 100% possible or not, but if it’s possible can you make it so the player will rise faster when holding down space/jump like the actual roblox water? I find myself (and others) having a bit of issues getting out of the water because we have to swim up to get out when it would be a ton better if you can just hold a button on your keyboard or screen.

Issue example: 04620c36fc31962d9ecfcad2078dffda

Sorry if it’s difficult to notice, but it’s pretty easy to notice when you play yourself.


Just added that plus properties you can modify for the speed of it. I had to replace and write lots of lines of code so there will probably be some bugs. If you find any please report them here.


Just an extra side note, uploading this as a model and updating the model when you update the script would be much more convenient if a developer wants to get the latest update of this script. It will be a lot less tedious in the long run.

I will let you know if I find bugs.


this is really cool and useful! I’ll definitely look inside the script to see how you did it (since I’ve also been trying to making a water part, but failed in every way trying). Also with this, literally anyone can recreate flood escape 2 now lol

1 Like

Hey, just figured something out, I wanted to let you know about it, @gpm231 .

When the player enters the water, any previous Atmosphere or Sky effect will be deleted. This could be an issue if someone made a world with a specific skybox or atmosphere had a more “orange” atmosphere. When the player leaves the water, these effects are deleted, and there won’t be an atmosphere effect or skybox in the Lighting section of the game anymore.

Might want to look into how to stop this correctly. Maybe make it so it will create a folder in ReplicatedStorage locally, and will move the old Atmosphere + Sky into the Folder when they enter the water, and then move it back to the sky, deleting the water atmosphere + sky afterwards.

Thanks again for the nice script. No other issues so far!


Will this work on a round-based game? I tried making a map with swimmable water but once the round ends, the water left in the workspace (the map have been removed but the water, not)

1 Like

until this problem is solved, I would suggest teleporting the water somewhere secretive in the map whenever the round ends. You can also choose to change the size of the water when the round ends, but that’s up to you


Just fixed this and updated the free model.


It will work, it isn’t like roblox’s smooth terrain (I think that is what you are trying to say since smooth terrain doesn’t get deleted the same way parts do).


Hey there, I think I found a bug on the water part

so whenever your camera is inside the water part (with the character) and then you reset or die the fog seems to be there?

here is an image of the bug

Im not so sure if its the script itself or something that is entirely my own

1 Like