I’m not sure how much more help I can be as I am just researching it, as you are (I’ve found that helping people research stuff here teaches me a ton about the egine). It would seem by definition, a custom movment mode is a derived class of the CharacterMovementComponent class (Engine/Classes/GameFramework/CharacterMovmentComponent). You can generate this in the editor by browsing to it in the engine C++ classes folder, right clicking it and selecting “Create class derived from”. That’s where you logic goes.
void
UMyMovementComponent::OnMovementModeChanged(EMovementMode
prevMovement, uint8
prevCustomMovement) {
Super::OnMovementModeChanged(prevMovement,PrevCustomMovement);//Should probably set up an enum cast
to uint8 for checking against custom
mode (uint8)EMyCustomMovement::GLIDE
if(MovementMode==EMovementMode::Custom
&& CustomMovementMode == MyGlideUint8)
{ //Set my glider settings } }
https://forums.unrealengine.com/archive/index.php/t-49772.html
That’s about all I have to help, best of luck!