Skip to content
HL2-style, classic FPS movement for Unreal Engine 4 implemented in C++
Branch: master
Clone or download


Project Borealis character movement component.

Includes all your standard classic FPS movement from HL2:

  • Strafe bunnyhopping
  • Forward bunnyhopping
  • Accelerated back hopping (and forward and back hopping)
  • Strafe boosting
  • Circle strafing
  • Wall strafing
  • Ramp sliding/trimping/collision boosting
  • Smooth crouching and uncrouching, and crouch jumping
  • Optional pogo jumping (automatic bunnyhopping)
  • WIP Surfing


Binaries are compiled for 4.22, and will work on Blueprint and C++ projects. If you are using a different version of Unreal Engine 4, you will need to recompile the plugin.

Redistribution note

Our ladder movement code is game specific and is not publicly redistributed at this time.

Some functionality, like sprinting speed logic, is not publicly redistributed at this time.


  1. Paste the PBCharacterMovement folder into your project's Plugins/ folder.
  2. Open your Unreal Engine project.
  3. Add input action bindings for jump and crouch (Settings > Project Settings > Engine > Input). Add axis bindings for forward, right, look up and turn.
  4. Create a new player controller in Blueprint or C++. Here's a simple Blueprint example.
  5. Create a Blueprint child class of PBPlayerCharacter.
  6. Create a gamemode with Default Pawn set to your Blueprint character class, and Player Controller set to your player controller.
  7. Enjoy the movement!

You may also want to use HL2 gravity settings. Go to Settings > Project Settings > Engine > Physics > Constants > Default Gravity Z and set it to -1143.

You can’t perform that action at this time.