Double Jump does not work when walking off ledge

When I moved my project over to 4.13 I noticed my double jump wasn’t working anymore. I found out that a Jump Max Count Variable had been added as a default and after switching it to 2 my double jump was working again. Only problem was that when I walked my character off a ledge it would only let me do one jump.

To see what was going on I print screened the jump current count in the event tick and noticed that when walking off a ledge it would stay zero but as soon as I hit jump it would go right to 2. I think this is a bug and walking off a ledge should not count as a jump. To fix this I just left the current double jump system I had in and raised the Jump Max Count to 3.

Hey Howie-

I was able to reproduce the behavior you described and entered a report for the issue here Unreal Engine Issues and Bug Tracker (UE-37485) . You can track the report’s status as the issue is reviewed by our development staff.

Cheers

thanks , appreciate it!

Howie,

Some basic double jump functionality was added to the engine in 4.13 (which is why the Jump Max Count variable was introduced). The behavior you’re describing is as intended for the built in double jumping.

In order to get around this behavior, you can modify the CanJumpInternal_Implementation and CheckJumpInput function in ACharacter (note, these are both C++ functions not exposed to blueprints).

Thanks,
Jon N.

So when you walk your character off a ledge its intended to count as a jump? If so why doesn’t the jump current count get updated to 1 when I walk off a ledge?

The Jump Current Count variable is updated inside the CheckJumpInput() function. The variable doesn’t get updated since the function isn’t called when you walk off the ledge.

Howie,

To build off of what had mentioned, there were some subtleties with the way we count jumping. The engine doesn’t have a “Falling from jump” or even “Jumping” state. Immediately as soon as we start jumping, the character is immediately “falling”.

There were a few weird edge cases with CanJump that have been taken care of in 4.14, but this behavior is still the same.

Thanks,
Jon N.

thanks guys appreciate the help, i still think its a bit confusing from a bluepoint perspective but the work around is easy enough