Yeah, I had to add custom flags. The C++ code is fairly long, but these are the methods in the CharacterMovementCompoonent I had to override:
UpdateFromCompressedFlags(uint8 Flags)
FSavedMove_MyMovement::Clear()
FSavedMove_MyMovement::GetCompressedFlags() const
FSavedMove_MyMovement::CanCombineWith(const FSavedMovePtr& NewMove, ACharacter* Character, float MaxDelta) const
FSavedMove_MyMovement::SetMoveFor(ACharacter* Character, float InDeltaTime, FVector const& NewAccel, class FNetworkPredictionData_Client_Character & ClientData)
FSavedMove_MyMovement::PrepMoveFor(class ACharacter* Character)
FNetworkPredictionData_Client_MyMovement::FNetworkPredictionData_Client_MyMovement(const UCharacterMovementComponent& ClientMovement)
FNetworkPredictionData_Client_MyMovement::AllocateNewMove()
There are only minor modifications in each of them. Mostly just updating my flags:
bWantsToClimb and bWantsToExitClimb
Here is where I got all the info from: