Inputs = WASD + SHIFT
Input is the last input used, this input que is stacked and will use the previous last input when multiple inputs are pressed.
For tile based movement, a linear ease is used to have precise movements. Run is detected whether or not you are holding SHIFT when pressing WASD.
Collision detect is handled by a Raycast set to ANY, the player can move if the Raycast missed in that direction.