You can use splines if you want it to follow a specific route. Just set the position and rotation of the character to the current spline path point. In short: yes, everything you want is possible.
Here’s an example I did for a tower defense game:
Im happy to explain everything if theres someting unclear