Driving and drifting
Kart drifting and drift boosts
On this page
This page goes over the bare minimum basics that you will probably want to adjust to fit your use cases.
How a drift works
Every drift runs through the same phases. Their settings live in the details panel under Kart Base Settings > Drifting, in the Stage categories named below.
- Hop. Press the drift button while steering left or right. If the Kart is faster than Minimum Speed Needed for Drift (1800 cm/s in
BP_KartPawn), it hops and rotates into the drift. Otherwise it only jumps. Settings: Stage 0: Pre-Drift and Stage 1: Jump. - Slide into the drift. After the hop, the Kart first slips in the direction it was moving, then blends into the drift direction. Settings: Stage 2: Slip.
- Drift. The two drift curves turn your steering into the drift direction and rotation (see Drift handling below). While you hold the throttle, the Kart keeps moving in the drift direction instead of losing speed. Settings: Stage 3: Drift.
- Correction after the drift. The drift ends when you let go of the drift button, or when the Kart gets slower than Minimum Speed Needed for Drift. Grip then blends back to normal. While a boost is active, a short post drift correction also nudges and turns the Kart roughly toward the camera direction, so it comes out of the drift smoothly. Settings: Stage 3: Post-Drift.
Drift settings
When using the included BP_KartPawn, the underlying drifting mechanic is used to implement drifting in stages.
When drifting, a drift is charged, starting at stage 0 (just some sparks are visible, when letting go no boost would occur). When holding a bit longer, the drift stage jumps to stage 1: A lot of blue sparks are now flying, and when letting go of the drift button, a boost will be applied.
To manage how long it takes for a specific boost to charge up, you can take a look at the Drift Boost Stages setting below.
Drift stages
To configure different drift stages take a look at the details panel or the class defaults of the BP_KartPawn and find the Drift Boosting category (Kart Base Settings > Drifting > Drift Boosting). Expand all child categories and then find the Drift Boost Stages. There you can:
- Set how many stages there will be, by pressing the plus button or by removing an entry when clicking on the down chevron.
- Set how fast the stage can be reached by adjusting the Boost Progress Threshold, basically how much “Charge” is needed to reach this.
- Set the color of the sparks (Drift Sparks Color).
- Set the maximum speed increase as well as the acceleration increase. The defaults you can see in the screenshot below are sensible.
The first entry of the list (Index [0]) is stage 1 above, the first stage that gives a boost. BP_KartPawn comes with three stages, reached at a Boost Progress Threshold of 1.5, 3 and 4.5.
Each entry has these fields:
| Field | Default for a new stage | What it does |
|---|---|---|
| Boost Progress Threshold | 0 | Charge needed to reach this stage. |
| Boost Decay Speed | 2 | How fast the boost of this stage decays over time. |
| Boost Speed Increase in Percent | 0.2 | Extra top speed during the boost. 0.2 = +20%. |
| Boost Acceleration Increase in Percent | 1.0 | Extra acceleration during the boost. 1.0 = +100%. |
| Drift Sparks Color | White | Color of the drift sparks at this stage. |
Drift Boost Collection Speed
When drifting, the longer you hold the drift, the more you charge/collect. If you want to change how fast a boost is charged, you can use the Drift Boost Collection Speed variable.
To edit at what point each specific drift stage is activated, you can go into the drift boost stages and modify the Boost Progress Threshold.

Drift handling
You may want to adjust the feel of drift in the standard BP_KartPawn.
For example, you may want the Kart to be able to make tighter or wider turns when holding the steering stick to the left or right.
To change how exactly this feels, you just need to modify two curves in Kart Base Settings > Drifting:
- Drift Curve
- Drift Angular Velocity Curve
BP_KartPawn uses the curve assets FC_DriftVectorScaleByInput (Drift Curve) and FC_DriftAngularVelocityByInput (Drift Angular Velocity Curve) from the plugin’s Blueprints > Curves folder. A curve asset is shared by every Kart that uses it, so duplicate it first if you want to keep the original.
Drift Curve
The Drift Curve dictates where the drifting force will be applied when drifting, relative to the gamepad’s stick position.
If the gamepad is held all the way to the left, we sample the point at -1 on the x-axis in the graph. If we hold the stick to the right, the point at 1.0 on the x-axis will be sampled. At 0.0 we would sample the stick when it is not touched.
The underlying code will reverse this mapping, when the drift direction changes. So for both drift curves, 1.0 means steering into the drift and -1.0 means steering out of it.

Now regarding this drifting force, when a value of 1.0 is sampled in the graph, the drifting force vector will get calculated as driftingVector = 1.0 * sidewards vector + forward vector. Meaning, we get a roughly 45 degree angle.
If we want to make the Kart move more sideways or make it look like it lays itself more into a drift, we can increase the value to 1.5 or even 2.0.
A value of 1.1 achieves a classic Kart Racing look, which is why I chose it when trying to drift wider.
Drift Angular Velocity Curve
Similarly to the Drift Curve, we have the Drift Angular Velocity Curve, which works in roughly the same way, but this time it’s just about the rotation of the Kart.

Same thing as before: When holding the stick to steer inward when drifting, we are sampling the point at 1.0, when we hold the stick outward when drifting, we are sampling the point at -1.0.
The y-axis dictates how much forced-rotation should be applied at the specific inputs.
For example, when holding the stick inward, we want to be able to steer around tight corners, so we need to increase the torque. So we add a point at 1.0 on the x-axis with a value of 1.4. Likewise, when wanting to drift wider, we want to reduce the rate of rotation, so we set the value to something lower, like 0.5 at -1.0.

Next steps
- Tune speed, acceleration and steering in Speed, acceleration and turning.
- Add boost pads and items with
SetBoostin Boosts and items. - Why the drift feels the same at any framerate: async physics in Unreal Engine, on the blog.
Not using the plugin yet? Get it on Fab.