Unreal has Movement Components such as CharacterMovementComponent (CMC) and FloatingPawnMovement. While especially the CMC is very flexible, it doesn’t necessarily behave exactly in the way you might want.
For creating your own, I’d recommend either inheriting from the basic MovementComponent, or creating your own Actor Component. Both methods allow implementing the physics from scratch.
Below are some links to look at for how to build your own movement physics:
- The page CharacterMovementComponent has information on how the CMC works. This is a good starting point. The code for the CMC is useful, but can be a bit complicated
- The movement code for Quake 3 Arena is one of my favorite examples