Class NavMeshLink
Component used to create a navigable link between two NavMesh locations.
Inherited Members
Namespace: Unity.AI.Navigation
Assembly: Unity.AI.Navigation.dll
Syntax
[ExecuteAlways]
[DefaultExecutionOrder(-101)]
[AddComponentMenu("Navigation/NavMesh Link", 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 |
---|---|
bool |
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 |
---|---|
int |
area
The area type of the link.
Declaration
public int area { get; set; }
Property Value
Type | Description |
---|---|
int |
autoUpdate
Gets or sets whether the world positions of the link's edges update whenever the GameObject transform, the startTransform or the endTransform change at runtime.
Declaration
public bool autoUpdate { get; set; }
Property Value
Type | Description |
---|---|
bool |
autoUpdatePositions
Gets or sets whether the world positions of the link's edges update whenever the GameObject transform, the start transform or the end transform change at runtime.
Declaration
[Obsolete("autoUpdatePositions has been deprecated. Use autoUpdate instead. (UnityUpgradable) -> autoUpdate")]
public bool autoUpdatePositions { get; set; }
Property Value
Type | Description |
---|---|
bool |
biDirectional
Gets or sets whether agents can traverse the link in both directions.
Declaration
[Obsolete("biDirectional has been deprecated. Use bidirectional instead. (UnityUpgradable) -> bidirectional")]
public bool biDirectional { get; set; }
Property Value
Type | Description |
---|---|
bool |
Remarks
When a link connects to NavMeshes at both ends, agents can always traverse that link from the start position to the end position. When this property is set to true
it allows the agents to traverse the link from the end position to the start position as well. When the value is false
the agents will not traverse the link from the end position to the start position.
bidirectional
Gets or sets whether agents can traverse the link in both directions.
Declaration
public bool bidirectional { get; set; }
Property Value
Type | Description |
---|---|
bool |
Remarks
When a link connects to NavMeshes at both ends, agents can always traverse that link from the start position to the end position. When this property is set to true
it allows the agents to traverse the link from the end position to the start position as well. When the value is false
the agents will not traverse the link from the end position to the start position.
costModifier
Gets or sets a value that determines the cost of traversing the link.
Declaration
public float costModifier { get; set; }
Property Value
Type | Description |
---|---|
float |
Remarks
A negative value implies that the cost of traversing the link is obtained based on the area type.
A positive or zero value overrides the cost associated with the area type.
costOverride
Gets or sets a value that determines the cost of traversing the link.
Declaration
[Obsolete("costOverride has been deprecated. Use costModifier instead. (UnityUpgradable) -> costModifier")]
public float costOverride { get; set; }
Property Value
Type | Description |
---|---|
float |
Remarks
A negative value implies that the cost of traversing the link is obtained based on the area type. A positive or zero value overrides the cost associated with the area type.
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
This property determines the position of the link's end edge only when endTransform is null
. Otherwise, it is the endTransform
that determines the edge's position.
The world scale of the GameObject 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
The link places the end edge at the world position of the object referenced by this property. In that case endPoint is not used. Otherwise, when this property is null
, the component 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.
occupied
Checks whether any agent occupies the link at this moment in time.
Declaration
public bool occupied { get; }
Property Value
Type | Description |
---|---|
bool |
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
This property determines the position of the link's start edge only when startTransform is null
. Otherwise, it is the startTransform
that determines the edge's position.
The world scale of the GameObject 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
The link places the start edge at the world position of the object referenced by this property. In that case startPoint is not used. Otherwise, when this property is null
, the component 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.
width
The width of the segments making up the ends of the link.
Declaration
public float width { get; set; }
Property Value
Type | Description |
---|---|
float |
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()
Replaces the link with a new one using the current settings.
Declaration
[Obsolete("UpdatePositions() has been deprecated. Use UpdateLink() instead. (UnityUpgradable) -> UpdateLink(*)")]
public void UpdatePositions()