Introduction
Many GameObjects in games move! Movement can be controlled by the player, by the (simulated) laws of physics in the environment, or by the Non-Player Character (NPC) logic; for example, objects that follow a path of waypoints, or seek (move towards) or flee (away) from the current position of a character. Unity provides several controllers, for first and third-person characters, and for vehicles such as cars and airplanes. GameObject movement can also be controlled through the state machines of the Unity Mecanim animation system.
However, there maybe times when you wish to tweak the Player character controllers from Unity, or write your own. You might wish to write directional logic—simple or sophisticated Artificial Intelligence (AI) to control the game's NPC and enemy characters. Such AI might involve your computer program making objects orient and move towards or away from characters or other game objects.
This chapter presents a range of such directional recipes, from which...