you should stick with the tutorial, when it says:
There is also an empty update() method which is called each time the droid finishes its turn. If it’s a realtime game, the update method is called from the game loop, ideally from the game engine.
you can check the tests, from the git code, where the update method is called ten times:
for (int i = 0; i &...
If your agents are always oriented vertically, this is reasonably straightforward. Just project your velocity into the horizontal plane, and look toward that. This can always be accomplished with a pure yaw, no pitch/roll required:
var projected = Agent.velocity;
projected.y = 0f;
You just have to make the other characters do exactly the same things the player-character does, but with a delay. So you have to create a script which records the actions of the player and then allows to retrieve the player's position X steps ago.
The C# standard already has the ideal data-structure for that, the Queue. It allows you to create a first-in-...