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.