function CalculatePath (targetPosition : Vector3, path : NavMeshPath) : boolean


targetPosition The final position of the path requested.
path The resulting path.


boolean - True if a path is found.


Calculate a path to a specified point and store the resulting path.

This function can be used to plan a path ahead of time to avoid a delay in gameplay when the path is needed. Another use is to check if a target position is reachable before moving the agent.

    var target: Transform;
private var agent: NavMeshAgent;
function Start () {
agent = GetComponent.<NavMeshAgent>();
var path: NavMeshPath;
agent.CalculatePath(target.position, path);

if (path.status == NavMeshPathStatus.PathPartial) {
// The target cannot be reached...

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
public Transform target;
private NavMeshAgent agent;
void Start() {
agent = GetComponent<NavMeshAgent>();
NavMeshPath path;
agent.CalculatePath(target.position, path);
if (path.status == NavMeshPathStatus.PathPartial) {

import UnityEngine
import System.Collections

class example(MonoBehaviour):

public target as Transform

private agent as NavMeshAgent

def Start():
agent = GetComponent[of NavMeshAgent]()
path as NavMeshPath
agent.CalculatePath(target.position, path)
if path.status == NavMeshPathStatus.PathPartial: