Scripting API

NavMesh

static class in UnityEngine.AI · UnityEngine.AIModule

26 of 30 of Unity's membersUnity's documentation
In Tassix

Queries over the navmesh data added to the world: paths (corners straightened along the surface), the nearest point, raycasts along the surface, and the nearest edge. Areas are Unity's built-in three (Walkable, Not Walkable, Jump) and agent types its "Humanoid".

Fields 2

const int AllAreas
static OnNavMeshPreUpdate? onPreUpdate

Properties 2

static float avoidancePredictionTime { get; set; }
static int pathfindingIterationsPerFrame { get; set; }

Methods 27

static NavMeshDataInstance AddNavMeshData(NavMeshData navMeshData)
static NavMeshDataInstance AddNavMeshData(NavMeshData navMeshData, Vector3 position, Quaternion rotation)
static bool CalculatePath(Vector3 sourcePosition, Vector3 targetPosition, int areaMask, NavMeshPath path)
static bool CalculatePath(Vector3 sourcePosition, Vector3 targetPosition, NavMeshQueryFilter filter, NavMeshPath path)
static NavMeshTriangulation CalculateTriangulation()

The added navmeshes as one triangle list.

static NavMeshBuildSettings CreateSettings()
static bool FindClosestEdge(Vector3 sourcePosition, out NavMeshHit hit, int areaMask)
static bool FindClosestEdge(Vector3 sourcePosition, out NavMeshHit hit, NavMeshQueryFilter filter)
static float GetAreaCost(int areaIndex)
static int GetAreaFromName(string areaName)
static string[] GetAreaNames()
static float GetLayerCost(int layer)
static int GetNavMeshLayerFromName(string layerName)
static NavMeshBuildSettings GetSettingsByID(int agentTypeID)
static NavMeshBuildSettings GetSettingsByIndex(int index)
static int GetSettingsCount()
static string GetSettingsNameFromID(int agentTypeID)
static bool IsLinkOccupied(NavMeshLinkInstance handle)
static bool IsLinkValid(NavMeshLinkInstance handle)
static bool Raycast(Vector3 sourcePosition, Vector3 targetPosition, out NavMeshHit hit, int areaMask)
static bool Raycast(Vector3 sourcePosition, Vector3 targetPosition, out NavMeshHit hit, NavMeshQueryFilter filter)
static void RemoveAllNavMeshData()
static void RemoveNavMeshData(NavMeshDataInstance handle)
static void RemoveSettings(int agentTypeID)
static bool SamplePosition(Vector3 sourcePosition, out NavMeshHit hit, float maxDistance, int areaMask)
static bool SamplePosition(Vector3 sourcePosition, out NavMeshHit hit, float maxDistance, NavMeshQueryFilter filter)
static void SetAreaCost(int areaIndex, float cost)
static void SetLayerCost(int layer, float cost)
static void SetLinkOwner(NavMeshLinkInstance handle, Object? owner)

The object a link belongs to (what agents crossing it see as its owner).

static void Triangulate(out Vector3[] vertices, out int[] indices)

Not in Tassix yet 4

GetLinkOwner IsLinkActive SetLinkActive SetLinkOwner

Checked against Unity

Conformance scenarios that exercise it, recorded in Unity and compared event by event.