Swimming System
Updated May 25, 2026
The Swimming System adds swimming, diving, and breathing behavior. It adjusts movement while swimming, uses a swimming Animation Blueprint, and detects underwater state through a breathing point.
For shared setup guidance, see the Migration Guide and Integration Guide. Use the System Atlas to look up functions, variables, events, components, and ownership references. Use this page for Swimming System-specific animation, volume, input, and movement setup.
Related setup: Set Up Water Volume Swimming.
Related Videos
Some videos may have been recorded before V4. The same principles still apply, but asset names, component names, and folder locations may differ. Treat the current written documentation and V4 names as the source of truth.
Smooth Swimming: Walkthrough With Mocap Animations Play
Animation Blueprint Setup
The system includes a swimming Animation Blueprint. Assign it to your character when using the provided animation setup.

To use your own Animation Blueprint, move the swimming logic into your own Blueprint and keep the same state decisions needed by the movement system.




Physics Volume Setup
- Create or copy a Physics Volume for the water area.
- Enable Water Volume.
- Set fluid friction to roughly 10.
- Copy the example map setup into the target island/map if needed.
- Add the swimming post-process volume.
- Add the underwater ambient sound effect.



Core Behavior
The swimming system handles three main behaviors: swimming, diving, and breathing. While swimming, it changes variables in the extended movement basic component and takes over movement handling so the character moves toward the camera forward direction instead of the character forward direction.

On initialization, the system creates a breathing point. This determines whether the character is underwater and can also be used by an attribute system to remove oxygen.

The included Animation Blueprint contains the logic for choosing the correct swimming animations.

Controls
This project uses the Enhanced Input plugin for character movement and input. If Enhanced Input is enabled and the provided setup is used, swimming controls work automatically.
The same inputs are used by the extended movement component, which handles movement and looking around. If you do not want to use Enhanced Input, replace the implemented input bindings with your own setup.

