Version: 2022.3
LanguageEnglish
  • C#

NavMeshAgent

class in UnityEngine.AI

/

Inherits from:Behaviour

/

Implemented in:UnityEngine.AIModule

Suggest a change

Success!

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.

Close

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.

Close

Cancel

Description

Navigation mesh agent.

This component is attached to a mobile character in the game to allow it to navigate the Scene using the NavMesh. See the Navigation section of the manual for further details.

Properties

accelerationThe maximum acceleration of an agent as it follows a path, given in units / sec^2.
agentTypeIDThe type ID for the agent.
angularSpeedMaximum turning speed in (deg/s) while following a path.
areaMaskSpecifies which NavMesh areas are passable. Changing areaMask will make the path stale (see isPathStale).
autoBrakingShould the agent brake automatically to avoid overshooting the destination point?
autoRepathShould the agent attempt to acquire a new path if the existing path becomes invalid?
autoTraverseOffMeshLinkShould the agent move across OffMeshLinks automatically?
avoidancePriorityThe avoidance priority level.
baseOffsetThe relative vertical displacement of the owning GameObject.
currentOffMeshLinkDataThe current OffMeshLinkData.
desiredVelocityThe desired velocity of the agent including any potential contribution from avoidance. (Read Only)
destinationGets or attempts to set the destination of the agent in world-space units.
hasPathDoes the agent currently have a path? (Read Only)
heightThe height of the agent for purposes of passing under obstacles, etc.
isOnNavMeshIs the agent currently bound to the navmesh? (Read Only)
isOnOffMeshLinkIs the agent currently positioned on an OffMeshLink? (Read Only)
isPathStaleIs the current path stale. (Read Only)
isStoppedThis property holds the stop or resume condition of the NavMesh agent.
navMeshOwnerReturns the owning object of the NavMesh the agent is currently placed on (Read Only).
nextOffMeshLinkDataThe next OffMeshLinkData on the current path.
nextPositionGets or sets the simulation position of the navmesh agent.
obstacleAvoidanceTypeThe level of quality of avoidance.
pathProperty to get and set the current path.
pathPendingIs a path in the process of being computed but not yet ready? (Read Only)
pathStatusThe status of the current path (complete, partial or invalid).
radiusThe avoidance radius for the agent.
remainingDistanceThe distance between the agent's position and the destination on the current path. (Read Only)
speedMaximum movement speed when following a path.
steeringTargetGet the current steering target along the path. (Read Only)
stoppingDistanceStop within this distance from the target position.
updatePositionGets or sets whether the transform position is synchronized with the simulated agent position. The default value is true.
updateRotationShould the agent update the transform orientation?
updateUpAxisAllows you to specify whether the agent should be aligned to the up-axis of the NavMesh or link that it is placed on.
velocityAccess the current velocity of the NavMeshAgent component, or set a velocity to control the agent manually.

Public Methods

ActivateCurrentOffMeshLinkEnables or disables the current off-mesh link.
CalculatePathCalculate a path to a specified point and store the resulting path.
CompleteOffMeshLinkCompletes the movement on the current OffMeshLink.
FindClosestEdgeLocate the closest NavMesh edge.
GetAreaCostGets the cost for path calculation when crossing area of a particular type.
MoveApply relative movement to current position.
RaycastTrace a straight path towards a target postion in the NavMesh without moving the agent.
ResetPathClears the current path.
SamplePathPositionSample a position along the current path.
SetAreaCostSets the cost for traversing over areas of the area type.
SetDestinationSets or updates the destination thus triggering the calculation for a new path.
SetPathAssign a new path to this agent.
WarpWarps agent to the provided position.

Inherited Members

Properties

enabledEnabled Behaviours are Updated, disabled Behaviours are not.
isActiveAndEnabledReports whether a GameObject and its associated Behaviour is active and enabled.
gameObjectThe game object this component is attached to. A component is always attached to a game object.
tagThe tag of this game object.
transformThe Transform attached to this GameObject.
hideFlagsShould the object be hidden, saved with the Scene or modifiable by the user?
nameThe name of the object.

Public Methods

BroadcastMessageCalls the method named methodName on every MonoBehaviour in this game object or any of its children.
CompareTagChecks the GameObject's tag against the defined tag.
GetComponentGets a reference to a component of type T on the same GameObject as the component specified.
GetComponentInChildrenGets a reference to a component of type T on the same GameObject as the component specified, or any child of the GameObject.
GetComponentIndexGets the index of the component on its parent GameObject.
GetComponentInParentGets a reference to a component of type T on the same GameObject as the component specified, or any parent of the GameObject.
GetComponentsGets references to all components of type T on the same GameObject as the component specified.
GetComponentsInChildrenGets references to all components of type T on the same GameObject as the component specified, and any child of the GameObject.
GetComponentsInParentGets references to all components of type T on the same GameObject as the component specified, and any parent of the GameObject.
SendMessageCalls the method named methodName on every MonoBehaviour in this game object.
SendMessageUpwardsCalls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour.
TryGetComponentGets the component of the specified type, if it exists.
GetInstanceIDGets the instance ID of the object.
ToStringReturns the name of the object.

Static Methods

DestroyRemoves a GameObject, component or asset.
DestroyImmediateDestroys the object obj immediately. You are strongly recommended to use Destroy instead.
DontDestroyOnLoadDo not destroy the target Object when loading a new Scene.
FindAnyObjectByTypeRetrieves any active loaded object of Type type.
FindFirstObjectByTypeRetrieves the first active loaded object of Type type.
FindObjectOfTypeReturns the first active loaded object of Type type.
FindObjectsByTypeRetrieves a list of all loaded objects of Type type.
FindObjectsOfTypeGets a list of all loaded objects of Type type.
InstantiateClones the object original and returns the clone.
InstantiateAsyncCaptures a snapshot of the original object (that must be related to some GameObject) and returns the AsyncInstantiateOperation.

Operators

boolDoes the object exist?
operator !=Compares if two objects refer to a different object.
operator ==Compares two object references to see if they refer to the same object.