Need help with My mech game

Hello! I’m currently experimenting with Unreal Engine for my game project. I’m trying to implement a Thruster (Boost) system similar to the one in Gundam Battle Operation 2 (GBO2). This system is somewhat similar to a stamina-based sprint system in typical TPS games, but GBO2 has a unique feel due to its physics-based movement. When a mobile suit stops moving, it doesn’t halt instantly but instead gradually slows down, simulating the effect of sudden deceleration after a high-speed movement.

Here’s how the Thruster system works:

:one: Pressing Boost (Thruster) → Increases Maximum Speed

  • Pressing the Boost button (normally X on a controller) makes the mech accelerate forward rapidly.
  • Boosting can be combined with directional inputs (W, A, S, D) to dash in a chosen direction.
  • The movement speed during Boost is higher than normal Walking/Running speeds.

:two: Boosting Locks Movement Direction (No Mid-Boost Turning)

  • Pressing Boost + W → The mech dashes forward and cannot change direction mid-dash.
  • Pressing Boost + A → The mech dashes left and cannot turn while boosting.
  • To change direction, the Boost must be stopped first, then restarted in a new direction.

:three: Thruster Gauge (Fuel) Gradually Depletes

  • While Boosting, the Thruster energy depletes over time.
  • If the gauge runs out → The Thruster Overheats (needs cooldown before reuse).
  • If Boost is stopped before depletion → The Thruster recovers over time.

:four: Boosting + Jumping (Thruster Jump / Quick Hop)

  • While Boosting, pressing Jump allows the mech to leap forward in the chosen direction.
  • The type of Thruster Jump depends on the mech model.

:five: Cooldown Time After Boost Ends

  • When Boosting stops, there is a brief cooldown period before the player can control movement again.
  • During this period, the mech remains stationary for a moment before regaining mobility.

I’ve been trying to implement this system for a while, but I’m struggling to make progress. Can anyone help me?