Blueprint can't override CanJumpInternal

I started following the tutorial here Blueprints: New character movement features:. Around the 4:50 mark you see him drill down the function list and implement the CanJump function to override its behavior. I follow this, but realize that the editor looks a little different in 4.8, with the addition of the “Override” button next to the function header.

While editing the sample ThirdPersonCharacter (/Game/ThirdPersonBP/Blueprints/ThirdPersonCharacter) blueprint I do not see ‘CanJump’ as a function that is available for override. I don’t exactly understand why I can’t override the function here, since the blueprint has a parent of ‘character,’ but I figured this might be expected behavior. Trying to create a new function called CanJumpInternal tells me that “the function name in node CanJumpInternal is already used” and that it was declared in the parent with a different signature. Looking at the function in the character.h file I see that it returns a boolean and takes no arguments, so I set the function up this way and still got the same error messages.

My next step was to create a child blueprint of ThirdPersonCharacter, called MyCharacter. Now in the function override dropdown, CanJump is available, but every time I click on the button my engine crashes, or crashes some short time after the function window opens. I managed to send the crash report once, and file recovery fails every time i reopen the engine.

My question is: Am I doing something horribly wrong? Was the functionality for overriding the CanJump function obscured for a good reason and thus causing me to make the engine unstable by attempting to access it? If not, why can I not override the CanJump function in the provided ThirdPersonCharacter blueprint? I did not see the function already being overridden. Was I correct in assuming the errors meant I needed to create a child instance in order to override it?

I am using 4.8, and updated to 4.8.1 a few minutes ago and I am still seeing this issue.

Hey zacrahm-

I confirmed that the Can Jump function cannot be selected as shown in the video. I found that doing this does work on 4.7.6. If you have a project on that engine version then you can follow the tutorial to set up the jump as indicated. The difference in behavior between the engine versions has been reported for investigation.


Thanks for the report, this was a regression, I’ve fixed it for 4.9 in CL 2604438.

The only workaround I know of involves changing the header of Character.h to change the Category for CanJumpInternal (remove the “|InternalEvents” part). I’m not aware of a non-code way to fix this.

Thanks, I appreciate the update.