How to write a Custom Movement Mode?

What happens inside the character movement component is pretty advanced stuff, I don’t know of any tutorials that really go into how the code works. Not that there are no people that understand it (although it’s really messy and hard to read), it’s just that it’s so big that a full explanation would be very time consuming and the audience would be pretty small because beginners probably couldn’t follow anyway (so it wouldn’t be very lucrative for youtube and such). But to at least answer one of your questions regarding the root motion functions:

Root motion means we have animations that move the root component. When the capsule is moved from animation and not through a calculated location delta it becomes a little more tricky to manage the velocity of the character. For example, we usually still want to have gravity affect the character when in a root motion animation. Generally that’s what these checks are for and there are a lot of them, which is very unclean design. They probably just had regular movement before and slapped root motion support on top of it. I don’t think Tribes had any root motion so you can just throw these calls out in your code.

To be honest, I don’t think you need a custom movement mode. It would probably suffice for you to override a few specific functions to achieve Tribes style movement. First and foremost you should look at CalcVelocity, which predominantly determines your velocity and handles the friction calculation when grounded, which is probably the most crucial part for the style of movement you want to achieve. The rest of the Phys functions is mainly stuff that assures that you don’t get stuck (which is why you do get stuck because you don’t run that code anymore). There is nothing else in there that is diametrically opposed to Tribe’s movement style.