I'm making a fishing platformer style game, and one of the main components to play is swimming. I'm going to add the swimming mechanic later, but for now I would love to know how to affect the player's gravity and movements under the water. Thanks!
How complicated do you want it? If you do not want to use a heavy simulation, you can simulate viscosity (water resistance) by detecting when a character is inside an Area2D and changing their movement physics (lower speed, reduce gravity)
or get into the mud with by using specialized physics plugins, such as Rapier 2D, which provide fluid simulation capabilities, including viscous forces.