Class NavMeshLink
Component used to create a navigable link between two NavMesh locations.
Inherited Members
Namespace: Unity.AI.Navigation
Syntax
[ExecuteInEditMode]
[DefaultExecutionOrder(-101)]
[AddComponentMenu("Navigation/NavMeshLink", 33)]
[HelpURL("https://docs.unity.cn/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()