I used the new Unity InputSystem to take input from the keyboard and joystick or virtual controls on mobile - it is very, very nice.
I then created a momentum system and used a functional programming approach to update position based on acceleration and velocity.
Finally, the Unity.Mathematics package enabled me to rip out lots of code as well as IF STATEMENTS!! Watch this video to find out how....