Modifying how movement functions (in depth)?

I know you can use blueprints to change things about movement (editing settings dynamically, mainly). But is it possible to actually change functionality of movement system?

For example, if I wanted to change way air control functions in more detail than simply changing variable for it. EG to replicate movement mechanics (including ‘bugs’) of half-life / quake I’d probably need more access than blueprint options provide.

I imagine I could make whole thing from scratch as a blueprint (or via code), but I’d like to use a lot of existing functions (collisions, step movement, slidemove).

Thanks for any tips!

Hey uunx,

CharacterMovement component can be edited if you’ve built editor from source. CharacterMovementComponent.cpp will have functions in it that could be rewritten or added to, including PerformAirControl. This is, of course, a more complicated way of doing it but it is certainly accessible.

Otherwise, you can create a Pawn blueprint (rather than a Character, which has CharacterMovement component by default) and build your own custom movement controls. Character Movement component is very useful as a base, but it has its limitations, especially when trying to create unique character mechanics.

Hope that helps!

Thanks! That should be everything I need.