Legacy Documentation: Version 4.5.0

Script language:

  • JS
  • C#
  • Boo
Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

CalculatePath(targetPosition: Vector3, path: NavMeshPath): bool;
bool CalculatePath(Vector3 targetPosition, NavMeshPath path);
def CalculatePath(targetPosition as Vector3, path as NavMeshPath) as bool

Parameters

targetPositionThe final position of the path requested.
pathThe resulting path.

Returns

bool True if a path is found.

Description

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 ExampleClass : 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

public class ExampleClass(MonoBehaviour):

	public target as Transform

	private agent as NavMeshAgent

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