Legacy Documentation: Version 5.6 (Go to current version)
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.


class in UnityEngine.AI

Suggest a change


Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.


Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.




Singleton class to access the baked NavMesh.

The NavMesh is a class can be used to do spatial queries, like pathfinding and walkability tests, set the pathfinding cost for specific area types, and to tweak global behavior of pathfinding and avoidance.

In order to use the spatial queries, you need to first bake NavMesh for your Scene.

See also:
Building a NavMesh – for more information on how to setup and bake NavMesh
Areas and Costs – to learn how to use different Area types.
NavMeshAgent – to learn how to control and move NavMesh Agents.
NavMeshObstacle – to learn how to control NavMesh Obstacles using scripting.
OffMeshLink – to learn how to control Off-Mesh Links using scripting.

Static Variables

AllAreasArea mask constant that includes all NavMesh areas.
avoidancePredictionTimeDescribes how far in the future the agents predict collisions for avoidance.
onPreUpdateSet a function to be called before the NavMesh is updated during the frame update execution.
pathfindingIterationsPerFrameThe maximum amount of nodes processed each frame in the asynchronous pathfinding process.

Static Functions

AddLinkAdds a link to the NavMesh. The link is described by the NavMeshLinkData struct.
AddNavMeshDataAdds the specified NavMeshData to the game.
CalculatePathCalculate a path between two points and store the resulting path.
CalculateTriangulationCalculates triangulation of the current navmesh.
CreateSettingsCreates and returns a new entry of NavMesh build settings available for runtime NavMesh building.
FindClosestEdgeLocate the closest NavMesh edge from a point on the NavMesh.
GetAreaCostGets the cost for path finding over geometry of the area type.
GetAreaFromNameReturns the area index for a named NavMesh area type.
GetSettingsByIDReturns an existing entry of NavMesh build settings.
GetSettingsByIndexReturns an existing entry of NavMesh build settings by its ordered index.
GetSettingsCountReturns the number of registered NavMesh build settings.
GetSettingsNameFromIDReturns the name associated with the NavMesh build settings matching the provided agent type ID.
RaycastTrace a line between two points on the NavMesh.
RemoveLinkRemoves a link from the NavMesh.
RemoveNavMeshDataRemoves the specified NavMeshDataInstance from the game, making it unavailable for agents and queries.
RemoveSettingsRemoves the build settings matching the agent type ID.
SamplePositionFinds the closest point on NavMesh within specified range.
SetAreaCostSets the cost for finding path over geometry of the area type on all agents.


OnNavMeshPreUpdateA delegate which can be used to register callback methods to be invoked before the NavMesh system updates.