# NavMeshLinkInstance

> Represents a link available for pathfinding.

## Definition

* **Type:** Struct
* **Namespace:** [UnityEngine.AI](/engine/6000.6/script-reference/unityengine/ai.md)
* **Assembly:** UnityEngine.AIModule

```csharp
public struct NavMeshLinkInstance
```

## Remarks

You obtain a valid object when you call [NavMesh.AddLink](/engine/6000.6/script-reference/unityengine/ai/navmesh/addlink.md) to create one specific link in the navigation system. Conversely, you need to pass it into [NavMesh.RemoveLink](/engine/6000.6/script-reference/unityengine/ai/navmesh/removelink.md) to remove that instance of the link from the system. Use this object to check or modify the state of the link instance by calling the following methods: [NavMesh.IsLinkValid](/engine/6000.6/script-reference/unityengine/ai/navmesh/islinkvalid.md), [NavMesh.IsLinkOccupied](/engine/6000.6/script-reference/unityengine/ai/navmesh/islinkoccupied.md), [NavMesh.IsLinkActive](/engine/6000.6/script-reference/unityengine/ai/navmesh/islinkactive.md), [NavMesh.SetLinkActive](/engine/6000.6/script-reference/unityengine/ai/navmesh/setlinkactive.md), [NavMesh.GetLinkOwner](/engine/6000.6/script-reference/unityengine/ai/navmesh/getlinkowner.md) and [NavMesh.SetLinkOwner](/engine/6000.6/script-reference/unityengine/ai/navmesh/setlinkowner.md).

Empty objects created when you instantiate this struct do not represent any link that exists in the navigation system. The [NavMesh.IsLinkValid](/engine/6000.6/script-reference/unityengine/ai/navmesh/islinkvalid.md) and [NavMesh.IsLinkActive](/engine/6000.6/script-reference/unityengine/ai/navmesh/islinkactive.md) methods return a value of `false` for objects created in this manner.
