Implementing the pathfinder using the NavMesh
To implement the pathfinder using the NavMesh on Unity, we are going to add three components to the game from the AI Navigation package. The NavMesh, NavMesh Agent, and NavMesh Obstacle components will be configured separately but, at the end of this section, they are going to work together in our RTS game.
The NavMesh component
As we just saw, NavMesh is a data structure that contains all the walkable surfaces of the game world. There are a few different ways to use it: we could let the game generate all these data dynamically at runtime, or we could pre-generate these on our scene, using a process called baking. By baking the NavMesh data, we are optimizing our scene and calculating the pathfinder much faster, using the data pre-generated by the baking process.
Another optimization that we are going to use is to limit the NavMesh to a few layers. By including only the layers that we want the NavMesh to use in the calculations...