Physics

Water Physics

Add water physics to any UE4 physics body with minimal setup. Boat and watercraft buoyancy, per-component controls, C++ parallel performance.

Water PhysicsPhysics

Resource overview

Water Physics for Any Physics Body in Unreal Engine 4 (UE4)

Setting up Buoyancy in Unreal Engine often means hand-placing float points or writing custom simulation logic for each Actor. This plugin bypasses that grind by letting you add water physics simulations to any Physics Body with minimal setup. It pulls Collision directly from your Actor, so you don't need to generate separate Collision shapes to get a believable float.

The core workflow is simple: attach the water physics functionality to an Actor that already has Collision, and it starts interacting with water. The plugin reads the Actor's Collision data automatically, which is what makes the initial configuration so short. For someone dropping a Vehicle or Prop into a water scene, this removes the usual back-and-forth between Physics Assets and Buoyancy settings.

Boats, Watercraft, and General Buoyancy

While the plugin is specialized for boats and other watercraft, it's not locked to them. The same setup works for general-purpose Buoyancy simulations. You can apply it to floating crates, debris, or any other object that needs to sit in or move through water. The watercraft focus means it handles the specific forces that affect hulls, like resistance and stability, but it stays usable for simpler floating objects.

For a boat, the Collision already defines the hull shape, and the plugin uses that shape to calculate where water pushes. That makes the behavior feel tied to the actual geometry of the vessel rather than a generic set of floaters. The package then offers a simulation that responds to the mass and shape you've already built into the Physics Body.

Per-Component Controls and Dynamic Buoyancy Settings

1 of the more useful parts for iterative tuning is the custom User Interface (UI) for per-component water simulation settings. Instead of relying on global defaults, you can adjust how each component behaves in water. Buoyancy settings can be modified dynamically at runtime, which opens up gameplay possibilities like changing ballast, flooding, or variable floatation mid-simulation.

The per-component approach means 1 single Actor with multiple parts can have each part respond differently. A ship with separate hull sections can specify different Buoyancy for each section, or a Vehicle that transforms into a boat can switch its settings on the fly. Because the UI is laid out per component, you're not digging through 1 giant config file to find the setting you need.

C++ and Parallelism: Performance Under Load

The plugin is written in C++ for optimal performance, and it's fully parallelized. That means the water physics calculations are spread across multiple threads, which matters when you have several floating Actors in the same scene. The parallelized path works whether you're using UE4 Water, Oceanology, or Riverology, so it doesn't fall back to 1 single-threaded routine when you switch water systems.

Massive performance improvements came in Update V1.20, along with Chaos Physics support. If you're on a project that builds from C++ using 4.26 Chaos, the plugin can work with that physics system. The same update also extended platform support, making it a more flexible option for projects that aren't locked to 1 single build target.

Integration with UE4 Water, Oceanology, and Riverology

Water physics doesn't operate in a vacuum; it has to read the water surface that your scene uses. The plugin is fully integrated with UE4 Water, and later updates added support for the popular ocean plugins Oceanology and Riverology. So if your project uses 1 of these water systems, the plugin works with it directly rather than requiring a custom adapter.

Update V1.3.12 brought Riverology support, and Update V1.3.0 added Oceanology. Each integration expands the range of scenes you can use without reworking the core setup. Whether the water is an ocean, a river, or the built-in UE4 Water, the Buoyancy simulation stays consistent.

Chaos Physics Support and the New Water Physics Collision Component

Update V1.2.0 introduced Chaos Physics support, though it requires the project to be built from C++ using 4.26 Chaos. That's a specific constraint worth checking if you're on a newer engine version with Chaos enabled. The same update focused on performance improvements and broader platform support.

Update V1.1.0 added a new Water Physics Collision Component, which gives you a dedicated component to handle Collision interactions specifically for the water simulation. Before that, the plugin relied on the Actor's existing Collision source. The new component offers a more direct way to control how Collision feeds into the Buoyancy calculation, and it was released alongside general bug fixes and a plugin trial version.

Who Gets the Most from This Water Physics Plugin

Because the plugin is now free, it's an easy addition to any UE4 project that needs Buoyancy. The obvious audience is anyone building a boat or watercraft game, where the simulation's specialization will pay off. But it also fits projects that just need a few floating objects, whether those are gameplay pickups, environmental Props, or Vehicles that land in water.

Since the setup flow is shaped by sourcing Collision from the Actor, it suits teams working in Blueprints who want to avoid a heavy C++ custom solution. The plugin itself is C++ under the hood, but the per-component UI makes the settings accessible to less technical users. For a production that needs water physics without building a custom Buoyancy pipeline, this plugin covers the core simulation and keeps the tuning workflow compact.

More From The Same Workflow

Free Download

Download this resource

Loading your download options...

Resources are manually reviewed before listing to improve quality and reduce obvious risks.

Resource archiveWater Physics.7z

Related resources