We take a look at a new paid Unity add-on for a character controller with swimming mechanics.
If you’ve ever tried to add swimming mechanics manually in Unity, you know how complex it can get. Between transitions, buoyancy, and underwater movement, keeping everything consistent takes a lot of work.
Developed by
Fantacode Studios, the
FS Swimming System offers a ready-to-use setup that lets players swim on the surface, dive underwater, and jump or dive into water from heights.
It integrates with other of their products, such as FS Parkour, Melee Combat, and Shooting Systems, letting you expand gameplay beyond land movement.
The system also includes support for AI swimming on the water surface and works through a straightforward setup that requires minimal configuration.
Move across the surface, tread while idle, and adjust swimming speed directly in the controller.
Dive, ascend, and explore underwater environments with full movement control.
Add support for jumping or diving into water from elevated areas.
Allow AI to follow targets across the surface (AI cannot swim underwater).
Generate realistic splashes and ripples reacting to player and AI movement.
Compatible with other FS systems like Parkour, Melee Combat, and Shooting.
Configure players and AI in a few clicks using the built-in editor window.
According to the documentation, getting it all running only takes a few steps:
- Create two objects: a Water Surface (plane with a custom shader) and a Water Volume (box collider set as trigger).
- Assign the “water” layer to both. This ensures the character starts swimming when entering the trigger.
- Open the FS Systems window and import project settings.
- Select Locomotion + Swimming to generate a player with swimming behavior.
- Hit Play. Your character can now move across the surface, dive, or tread water.
The system also provides detailed setup steps for AI navigation using NavMesh Surface, allowing AI characters to follow players over water surfaces. Breath, health, and ragdoll settings can be customized for underwater gameplay.
The system is designed for Unity 2022.3.2f1 or newer and supports Built-in, URP, and HDRP render pipelines, each fully compatible once properly configured.
- Invector Swimming Add-on: Add-on for the Invector Third Person Controller system in Unity, enabling swimming above and underwater, and integrating with the character locomotion framework.
Differences: This asset is tied into the Invector framework (so requires you are using or willing to use Invector’s controller), whereas FS Swimming System might be more independent or generic. If you’re not using Invector, FS may have less dependency.
Differences: This is again framework-specific (Opsive), whereas FS Swimming System may be more neutral. If you already use Opsive, this is convenient; if not, FS may give you more flexibility.
📘 Want to build your own Unity tools? Check out
Unity 6 Editor Tools Essentials, a complete guide to designing custom inspectors, layouts, and workflows for your own in-editor systems.