Class NavMeshLink
Component used to create a navigable link between two NavMesh locations.
Inherited Members
Namespace: Unity.AI.Navigation
Syntax
[ExecuteAlways]
[DefaultExecutionOrder(-101)]
[AddComponentMenu("Navigation/NavMeshLink", 33)]
[HelpURL("https://docs.unity3d.com/Packages/com.unity.ai.navigation@2.0/manual/NavMeshLink.html")]
public class NavMeshLink : MonoBehaviour
Properties
activated
Gets or sets whether the link can be traversed by agents.
Declaration
public bool activated { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
Remarks
When this property is set to true
it allows the agents to traverse the link. When the value is false
no paths pass through this link and no agent can traverse it as part of their autonomous movement.
agentTypeID
Gets or sets the type of agent that can use the link.
Declaration
public int agentTypeID { get; set; }
Property Value
Type | Description |
---|---|
Int32 |
area
The area type of the link.
Declaration
public int area { get; set; }
Property Value
Type | Description |
---|---|
Int32 |
autoUpdate
Gets or sets whether the world positions of the link's edges update whenever the GameObject transform changes at runtime.
Declaration
public bool autoUpdate { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
autoUpdatePositions
Declaration
[Obsolete("autoUpdatePositions has been deprecated. Use autoUpdate instead. (UnityUpgradable) -> autoUpdate")]
public bool autoUpdatePositions { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
bidirectional
Gets or sets whether the link can be traversed in both directions.
Declaration
public bool bidirectional { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
Remarks
A link that connects to NavMeshes at both ends can always be traversed from the start position to the end position. When this property is set to true
it allows the agents to traverse the link also in the direction from end to start. When the value is false
the agents will never move over the link from the end position to the start position.
biDirectional
Declaration
[Obsolete("biDirectional has been deprecated. Use bidirectional instead. (UnityUpgradable) -> bidirectional")]
public bool biDirectional { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
costModifier
Gets or sets a value that determines the cost of traversing the link.
Declaration
public float costModifier { get; set; }
Property Value
Type | Description |
---|---|
Single |
Remarks
A negative value implies that the traversal cost is obtained based on the area type. A positive or zero value applies immediately, overriding the cost associated with the area type.
costOverride
Declaration
[Obsolete("costOverride has been deprecated. Use costModifier instead. (UnityUpgradable) -> costModifier")]
public float costOverride { get; set; }
Property Value
Type | Description |
---|---|
Single |
endPoint
Gets or sets the local position at the middle of the link's end edge, relative to the GameObject origin.
Declaration
public Vector3 endPoint { get; set; }
Property Value
Type | Description |
---|---|
Vector3 |
Remarks
The position is translated and rotated by endTransform when endTransform
is null
or equal to the GameObject transform. Otherwise, the link is only translated by endTransform
. The scale of the specified transform is never used.
endTransform
Gets or sets the Transform tracked by the middle of the link's end edge.
Declaration
public Transform endTransform { get; set; }
Property Value
Type | Description |
---|---|
Transform |
Remarks
When this property is null
or equal to the GameObject transform, it applies the GameObject's translation and rotation as a transform to endPoint in order to establish the world position of the link's end edge. When this property takes any other value, it applies only its translation to the endPoint
.
occupied
Checks whether any agent occupies the link at this moment in time.
Declaration
public bool occupied { get; }
Property Value
Type | Description |
---|---|
Boolean |
Remarks
This property evaluates the internal state of the link every time it is used.
startPoint
Gets or sets the local position at the middle of the link's start edge, relative to the GameObject origin.
Declaration
public Vector3 startPoint { get; set; }
Property Value
Type | Description |
---|---|
Vector3 |
Remarks
The position is translated and rotated by startTransform when startTransform
is null
or equal to the GameObject transform. Otherwise, the link is only translated by startTransform
. The scale of the specified transform is never used.
startTransform
Gets or sets the Transform tracked by the middle of the link's start edge.
Declaration
public Transform startTransform { get; set; }
Property Value
Type | Description |
---|---|
Transform |
Remarks
When this property is null
or equal to the GameObject transform, it applies the GameObject's translation and rotation as a transform to startPoint in order to establish the world position of the link's start edge. When this property takes any other value, it applies only its translation to startPoint
.
width
The width of the segments making up the ends of the link.
Declaration
public float width { get; set; }
Property Value
Type | Description |
---|---|
Single |
Remarks
The segments are created perpendicular to the line from start to end, in the XZ plane of the GameObject.
Methods
UpdateLink()
Replaces the link with a new one using the current settings.
Declaration
public void UpdateLink()
UpdatePositions()
Declaration
[Obsolete("UpdatePositions() has been deprecated. Use UpdateLink() instead. (UnityUpgradable) -> UpdateLink(*)")]
public void UpdatePositions()