New Blueprint Character Movement Features

Hey everyone! We’re back today with a new post discussing the latest character movement features included in 4.2. I’m posting on behalf of Tom Sarkanen, who’ll be checking in to help you guys out with any questions you might have. Enjoy!
Unreal Engine 4.2 introduces a number of new features to make character movement more flexible. It’s now even easier to implement features like ‘Hold To Jump Higher’ and Double-Jumping in Blueprints.

This video tutorial starts with the basic Third-Person Blueprint template and builds on it to add new jumping features. The features are directly applicable to other character-based samples as well, so these techniques can transfer directly to the first-person and side-scrolling templates, as well as your own games!

Like what you see? Sound off below and let us hear your thoughts!

Would it be possible to paste a compiled list of changes here for the character blueprint going from 4.1.1 to 4.2 for reference?

Yeah, A good start would be fixing the Shooter Game example. None of the important Blueprints for player character or Bot character are there. Samples are there to learn from, get the basics right first then you can start pimping other things. I would personally prefer more work in the area of C++ AI, Blackboards, & Behaviour trees. Still no documentation worth reading. For months in all area’s we’ve been told documentation is just a day away. Epic Fail. Sorry don’t want to say this, just the facts im afraid.

Ps. It’s never encouraging when a community member has a better example (before) Epics own staff. For Far better work related to this in my eye’s about this nonsense Thread character movement that last’s about 2 minutes :slight_smile: goto:

Think the guys name is Peter Newton, Better than 10 epic videos.

Quite the contrary! We love to see in-depth community content and tutorials like this. The set of tutorials you pointed at here is really in-depth and useful, thanks!

As far as documentation for AI, Blackboards and Behavior Trees goes - you are going to see many improvements to the AI systems & tools as we push Behavior Trees out of ‘experimental’ and into the full light of day. Once this work is complete you’ll see some new documentation (and tutorials!) in these areas.

Sure, here’s the functions and fixes that were added for 4.2 to character-related systems:

  • CanJump() is now exposed in ACharacter to be overridden by Blueprints.
  • Make ShouldCatchAir() more flexible by passing in the old floor and new floor rather than just the normals.
  • Added hold-to-jump-higher functionality to ACharacter; Added StopJumping(), OnJumped(), JumpKeyHoldTime, JumpMaxHoldTime, IsJumping().
  • Add Character::OnWalkingOffLedge() event.
  • Character movement can now be affected by external forces - added AddMomentum(). Note: This will change again in 4.3 to better align with current physics-based calls (AddForce, AddImpulse).
  • Added option for ‘flat bottomed’ collision to character components. Useful in 2D games where walking off ledges needs to be more ‘binary’. Added bUseFlatBaseForFloorChecks.
  • Based-movement for characters now uses quaternions (fixes issues when standing on objects that rotate in multiple axes).

Note that this probably isn’t an exhaustive list, but the features that I know about. There should also be a lot more coming in 4.3!

Shooter Game is designed to use a combination of C++ and Blueprints to set up gameplay, so in this case, the character movement is handled in the C++ side! Blueprints are still used to do things like hook up the mesh etc.

Yeah Sorry guys, was having a bad day. Im overloading my self on my project (doing code, blueprints, level design, asset design and animation, everything), i really should get someone else on it with me for sanity’s sake. Yeah the problem was i had created a new parent class for different types of AI (Sniper,Marine,Explosive’s expert etc), but within the blueprints even though everything looked fine it wasn’t. In the end deleted all the old nodes made under the old parent class and then dragged of the exact same node which then suddenly worked, id spent about 9 hours trying to work out why the C++ and Blueprints weren’t working as they should, got bad tempered and petulant. Im taking a week off my project to defrazzle, get some R&R. Appologies.