Skip to content

Tuning a planing hull

A planing hull lifts itself partially out of the water at speed, drag drops, and the boat rides flat and fast. The shipped BP_Runabout is configured for this: but tuning your own planing boat takes a couple of iterations. This guide walks the workflow.

Read Hull state and movement regimes first if “displacement”, “transition”, “planing” don’t ring a bell.

Three things, in this order:

  1. A planing-capable hull shape: flat or shallow-V aft, modest deadrise (10–22°), low draft.
  2. Enough power to push the hull through the transition speed barrier.
  3. The right data-asset flags to enable lift physics.

Without all three, the boat will plough at displacement speeds no matter what you do.

  1. Pick HullType = Planing in your HullDataAsset. Set DeadriseAngle to match your mesh’s transom (look at the boat from behind: it’s the V-angle of the bottom). Lower deadrise = flatter ride at speed; higher deadrise = softer impact in chop.

  2. Enable planing in HydrodynamicsDataAsset. Set bEnablePlaning = true. The other planing fields gate behaviour:

    • PlaningThresholdSpeed: speed (cm/s) at which lift starts contributing. Default 500 (≈10 knots) suits typical sport boats. Lower for early lift onset.
    • PlaningLiftCoefficient: how much lift the hull generates once planing. Higher = sits higher.
    • PlaningWettedAreaRatio: fraction of the hull still touching water at full plane. Lower = less drag = higher top speed.
  3. Verify your propulsion has enough power. In your PropulsionDataAsset (engine), MaxPowerKW must be high enough to drive the hull through the transition speed. As a rule: a 400 kg sport runabout needs ≥ 80 kW to plane convincingly; a 1500 kg cruiser needs ≥ 200 kW. If the boat reaches ~60% of the planing threshold and stalls, you’re underpowered.

  4. Test in a calm scene first. Drop the boat in a level with BP_DynamicRealWater set to small waves (DA_P_SmallWaves). Possess and accelerate from rest with full throttle.

  5. Read the bind to OnMovementStateChanged. Bind the delegate on the VesselMovementComponent to a Print String node. You should see the regime go: Displacement → Transition → Planing over a few seconds. If Transition fires but Planing never does, you’re underpowered or PlaningThresholdSpeed is too high. If you skip straight to Planing, the threshold is too low: tune it up so the transition is dramatic.

  6. Tune feel, not numbers. A few common tweaks:

    • Bow rises too sharply → increase Stability.PitchDamping.
    • Boat porpoises (oscillates fore-aft) on plane → lower PlaningLiftCoefficient slightly, or add a TrimTab ControlSurface.
    • Plane onset feels mushy → lower PlaningThresholdSpeed so it kicks in earlier.
    • Top speed too low at full throttle → lower PlaningWettedAreaRatio (less drag) or raise MaxPowerKW.

The shipped BP_Runabout is a known-good planing tune for a ~600 kg sport boat. Open Plugins/DynamicRealWater/Content/Blueprints/Pawn/Vessels/Runabout/DA_Runabout_Hydro and study its planing values as a baseline. Most projects can get to “feels right” by cloning this and adjusting only PlaningThresholdSpeed and MaxPowerKW to match the new boat’s mass and engine.