EvaXephon:
I have a separate, but very closely related question. Let’s say that I decide to forgo rigidbodies and colliders altogether and just use transform.Translate instead, to save myself a headache and improve performance even further. The only downside is that collisions are not detected; I can actually live with that, but there is one problem - stairs. The code needs to be re-written so that characters move upwards / downards in space towards the height of the next waypoint on the grid graph, but I’m not having any success pulling that off.
How would I modify the code that determines “dir” so that instead of just translating “forward” towards the next waypoint, I am translating to the height of the next waypoint?
I would recommend that you use a simple Physics.Raycast call every frame to figure out where the ground is. That is cheaper than using a character controller/rigidbody but it solves the issues with the terrain height.