Good luck, glad to hear you’ll try, at the very least you’ll learn something new!
To “insert” your derived component into the character hierarchy you’ll need to override this special constructor and do something like this:
AMyCharacter::AMyCharacter(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer.SetDefaultSubobjectClass<UMyMovementComponent>(FName("MovementComponent")))
{
...constructor body, if any...
}
This is very common for basically any major UE project because the default classes obviously can’t fit all use cases.
You should be able to find similar syntax in UE sources if something doesn’t work (I may have a typo ).