How to add Double Jumping in Unreal Engine 5

Double Jumping in UE5

Double jumping is extremely common in retro and modern gaming. Games such as Castlevania Symphony of the Night, Crash Bandicoot, the Kirby series, Banjo-Kazooie, and more have platforming elements that require the use of the double jump to complete.

Luckily, Unreal Engine 5 makes this incredibly easy to achieve!

In this guide we will be showing you how to add Double Jumping in Unreal Engine 5.

We will also be showing some intermediate difficulty animation improvements that you can make to your project to make the animations feel better during the double jump!

Before we Start

To make this guide easier to understand for new developers, we are using the Unreal Engine 5 Third Person template which is found in the New Project window.

If you already have your project setup with a Character blueprint, skip to the “Adding our Double Jump” section below.

Creating our template project

Firstly, we want to click Third Person, choose a project location on your computer in the bottom left, then give the project a name in the bottom right. Once this is done, click the blue “Create” button in the bottom right of the window.

Creating a new Third Person project

Once the Unreal Engine editor has opened your new project, open the “Content Drawer” in the bottom left of the editor and find the BP_ThirdPersonCharacter object in the Content/ThirdPerson/Blueprints folder.

Opening the Third Person character asset in the Unreal Engine 5 editor's content drawer

Adding our Double Jump

The first step to add double jump functionality is to open our Character blueprint and select the name.

In our case this is the text labelled “BP_ThirdPersonCharacter (Self)”. Once this is selected the text will go blue as shown below.

Selecting the blueprint class in the blueprint editor

On the right side of the blueprint editor you will find the “Details” tab. Look through the details tab until you find “Character” and the “Jump Max Count”. This value is set to 1 by default.

Finding the character and jump parameters in the blueprint editor

Now as we want to have our character double jump, change this value to 2. If you require more than 2 jumps for your character, change this value to whichever suits your needs.

Change the Jump Max Count from 1 to 2

Once this is done, remember to click the “Compile” and “Save” buttons in the top left of the blueprint editor.

Compiling and saving the blueprint class

Simple Double Jump Demo

Your character is now able to double jump! As you can see in the demo video below the character is double jumping successfully.

However, one problem you can see is the animation only plays once. In the next section we will be fixing the animations so they play correctly for all jumps.

Animation Improvements (Intermediate Difficulty)

As the double jump doesn’t look right in the previous demo, we now are fixing the animations.

Firstly, open the “Content Drawer” and find the ABP_Manny object in the Content/Characters/Mannequins/Animations folder.

Finding and opening the ABP_Manny animation blueprint file

Now the animation blueprint editor is open, find and double click the AnimGraph text in the left of the editor window.

Opening the animation blueprint's anim graph

Next, with the animation graph now open, click the “Main States” state machine. This is where all of the animation transitions are held for our character.

Opening the Main States state machine

Inside the Main States state machine, drag from the state named “Fall Loop” to the state named “Jump” as shown in the image below. If done correctly you should see an arrow and text stating “Create a transition”.

Creating a new transition between fall loop and jump states

With our transition now created, click the icon to open the transition editor.

Opening the newly created animation state transition

Finally, in the transition editor add the blueprint nodes shown in the example image below.

These nodes allow the animation state to return back to the jumping animation once you trigger the double jump.

Adding the required blueprint nodes to transition back to jump when double jumping

Advanced Animated Double Jump Demo

Your improved double jump is now complete! As you can see in the video below, the animations are much better and the player now gets visual feedback when they double jump.

Download the Project Files

Conclusion

Your Unreal Engine 5 project now has a double jump capable character! For a challenge, do try to follow the optional animation improvement steps as it really make a difference to the experience!

Further Reading:
Official blueprint guide to setting up a new character mesh in UE5
Full ACharacter documentation for advanced jump settings in C++

6 Comments

  1. Hi Matt! this is a really stupid question but I’m just starting out. what are each specific node called in the second last image called? any help would be greatly appreciated!

    • There are no stupid questions. Ask as many questions as you need! Here are the nodes:

      Get Velocity
      Greater than
      Get Is Falling
      AND Boolean

      Hope this helped!

  2. hey there matt. I managed to get this working. I changed it so that I can hold the button for a bit larger jump. but I would really like to change some things about the second jump. I would like the second jump to no longer be possible after the top or just after the top of the first jump. I also would like to remove the hold button to go higher on the second jump.

  3. Hey Matt, I’m not able to find the correct Get Velocity BP node. Its just giving me a target and return value, not the individual directional components

    • If you’re pulling from the velocity vector you’ll need to break it. drag from the velocity node into empty space and select “Break Vector” then you can grab the Z and plug it into your > node.

Leave a Reply

Your email address will not be published.


*