NavMesh.Raycast
static function Raycast(sourcePosition: Vector3, targetPosition: Vector3, hit: NavMeshHit, passableMask: int): bool;
Parameters

sourcePosition The origin of the ray.
targetPosition The end of the ray.
hit Holds the properties of the ray cast resulting location.
passableMask A mask specifying which NavMesh layers can be passed when tracing the ray.
Returns
bool True if the ray is terminated before reaching target position. Otherwise returns false.
Description

Trace a line between two points on the NavMesh.

This function follows the path of a "ray" between the specified source and target positions on the navmesh. If an obstruction is encountered along the line then a true value is returned and the position and other details of the obstructing object are stored in the hit parameter. This can be used to check if there is a clear shot or line of sight between a character and a target object. This function is preferable to the similar Physics.Raycast because the line tracing is performed in a simpler way using the navmesh and has a lower processing overhead.
	var target: Transform;

function Update () { var hit: NavMeshHit; // Note the negative test condition! Using -1 for the mask // indicates all layers are to be used. if (!NavMesh.Raycast(transform.position, target.position, hit, -1)) { // Target is "visible" from our position. } }