Swim and diving

I am trying to figure out how to make a swimming mechanic like there was in Banjo Kazooie and a few other games where you start on the surface of the water and then press a button to dive under. Once under the water, you use the jump button to swim around and use the mouse or stick to steer the character. If this has already been answered somewhere sorry for asking again. Just been looking around for a few days and I’m completely stuck. I have the water set up with a physics volume already just don’t know how to get it to do this. Thank you!