You can still have a lot of code in the character blueprint. But this will only work if you have a C++ project. The only difference you have to do is to “Reparent Blueprint” to a C++ class which inherits from “ACharacter” which has the wrapped jump function:
// Header file
... ACharacter_Base : public ACharacter
...
UFUNCTION(Category = "Character", BlueprintCallable)
void JumpEx();
// Source file
void ACharacter_Base::JumpEx()
{
ACharacter_Base::Jump();
}
And after reparenting to this class you can call it:

I hope there is a better solution to this though ![]()