Course: Build a Third Person Character from Scratch

Using the “Stack O Bot” project to build a third-person character that includes movement, cameras, animations, and a jetpack.


Very good course! It’s pacing allows you to just follow along without having to stop the videos and backtrack all the time. 5/5!


Not able to progress past this point (5:18 into the video). The node looks different than what is in the video. I’ve tried creating a variable ‘Self’ which got rid of the error but didn’t have the desired camera results. Where am I going wrong? Thanks!!


1 Like

my character just refuses to do anything when i press play, have been following along step by step

This was a really nice course. All of the videos were straight to the point, making them easy to follow. The only mistake I found while playtesting was that the bot kept walking while still unless I jumped, where it would return to idle. I quickly realized that it was due to using a less than statement in a place where a less than equal statement was needed but being able to figure that out on my own really helped me appreciate how much I learned here.


same !!

sorry to say it but it is a bad tutorial for beginner ( i have seen it tag for beginner)
many thing it involve just tell you to do the thing and does not explain clearly
eg , vector thing (pitch roll yaw if you entirely new to 3d game,i sure you never hear it before ), why perform that kinds of vector operation for the character movement. actually it does not tell you it is vector at all

metasound involve what is execute trigger parameter ? why put the name there and there is no clue in the project


Hi there,
This is done inside the player controller, PC_StackBot, not the player character, BP_StackBot.

Hi, I am beginner and I did exactly the same thing for 2-3 times. I couldn’t make the jetpack stop after 2 seconds and make the character fall to the ground. Can you help me ?
Codes look like the same ( I checked with BP_Bot and BP_StackBot )

my character wont move right or left. only forward and backward. any ideas?

edit okay, find my mistake. i used IA_MoveRight. Not IA_MoveRightCC. Feels good if you find your own little mistakes :sweat_smile:

1 Like

Great little course for a third person character creation!

Very useful!!!

1 Like

if you’re having this issue on UE5
go to project settings, Input, and change the Default classes to EnchancedPlayerInput and EnhancedInputComponent


Nice Tutorial, thank you Stuart Butler.
If you have the opportunity to do more please do so.

Has anyone figured out how to remove the button spamming that can happen at the end of jump? When the character is falling without any further ‘juice’ / ThrusterTime, the player can spamJump to slow the fall and get some extra distance. This might only be happening on my end because of something I did, idk. If I’m able to sort it, and don’t just keep it as a feature :wink: I’ll come back and update on how. For now, I tried some things and couldn’t fix it.

Hey @Kavan, Nice spot!!

You can stop that with a small tweak to the Update Jetpack Function.

The issue is occurring because Launch Character occurs before the check to see if Thruster Time <=0.

If we put the Launch Character node as the FALSE result of that check and Toggle Jetpack as True then the player can no longer spam the jump button to reduce falling speed.

Hopefully that helps!

1 Like

That functionality is controlled by three things:

  1. Thruster Time being reduced in the Update Jetpack Function

  2. Toggle Jetpack being called when Thruster Time is <= 0

  3. Toggle Jetpack setting Jetpack Active to False and Update Jetpack having the Branch based on the Jetpack Active bool.

If you want to post screenshots of your Update Jetpack and Toggle Jetpack functions, I can try and offer some suggestions.

Hey StuButler, great work with the tutorial.
I learned alot.


Excellent! Please more from this instructor and have him disseminate how to teach to others.


I love it so much, got my playable character in UE5 in record time! I actually was using it to create a completely different character with different animations and bone structures, but most of it worked!

My major issues are:

  • Workaround for setting the capsule for characters that are rotated (fish, worms, dolphins) in other words, how to map the capsule if it needs rotation to fit the character?
  • When setting the Inputs, like Jump, the function was already contained in the project. I would love to see an example for new state machines and how to create them from scratch like “attack” or “open mouth/eat”. I’m sure I can check Lyra’s project for the different animations and pick it up from there :star_struck: :star_struck:

Thanks again for this, keep these updates going, loving the new Enhanced Input system!!!


Very useful course, Thank you Epic games!

1 Like

I seem to be doing something wrong. I’ve double-checked my work and everything seems correct. Using only the CC named InputActions/Characters/BP, have it set to possess the pawn with player 0, and have tested with Player 1 and disabled. When on Player 1 or disabled, you can move the spectator camera around when hitting play, but on Player 0 you are locked to the character and WASD/Controller do nothing. Neither does the camera. I have a feeling it’s something with my mappings, or maybe the game mode? Any advice on what to double-check? I want to see if I can figure it out on my own with a little bit of direction from the community/instructor here. If not, I can provide screenshots/settings for the project.

EDIT Ignore this. I didn’t link Cast to PlayerController over to Add Mapping Context. I have no idea how I missed it in the first place.