Unity ofrece un sistema de navegación integrado que permite organizar las escenas según un esquema de división de malla de navegación, y tener agentes que sepan moverse por dicha malla con soltura.
La malla de navegación se divide en áreas de navegación, cada una de las cuales puede tener un cierto factor de coste (para ser multiplicado por la distancia recorrida) y un tipo (Walkable, Not Walkable, Jump o uno personalizado), para por ejemplo impedir -usando una máscara- que ciertos agentes naveguen usando las áreas de ciertos tipos.
Cada agente además, mientras está activo, puede sobreescribir el coste de algunas áreas de navegación mediante programación (método SetAreaCost)… lo cual es útil para establecer diferencias entre la manera más «conveniente» de navegar de cada agente.
Más información
Para complementar es recomendable consultar otros documentos.