tools-unity-navmesh

tools-unity-navmesh is a skill for Claude Code from tjboudreaux/cc-plugin-unity-gamedev. It costs 20 tokens per session (3,103 once invoked), scanned A, a copy of tools-unity-navmesh, MIT.

A guide to Unity NavMesh pathfinding, the system that helps characters and other agents find routes through a game world.

In plain words
What is it for?
Use it for AI movement, enemy patrols and chases, NPC routes, obstacle avoidance, and multi-agent navigation.
Why use it?
It documents checks and optimization patterns for movement, navigation, obstacles, and multiple agents.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the unity-gamedev plugin — 21 skills shipped together

Good fit Use it for AI movement, enemy patrols and chases, NPC routes, obstacle avoidance, and multi-agent navigation.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/tjboudreaux/cc-plugin-unity-gamedev/tools-unity-navmesh
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add tjboudreaux/cc-plugin-unity-gamedev --skill tools-unity-navmesh
Clone the repo
git clone --depth 1 https://github.com/tjboudreaux/cc-plugin-unity-gamedev

Made for: Claude Code.

Or install unity-gamedev, the plugin that ships this one along with the rest of its 21 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for tools-unity-navmesh

README.md
[![agentmods](https://agentmods.dev/badge/skills/tjboudreaux/cc-plugin-unity-gamedev/tools-unity-navmesh/github.svg)](https://agentmods.dev/skills/tjboudreaux/cc-plugin-unity-gamedev/tools-unity-navmesh)
Your own site
<a href="https://agentmods.dev/skills/tjboudreaux/cc-plugin-unity-gamedev/tools-unity-navmesh"><img src="https://agentmods.dev/badge/skills/tjboudreaux/cc-plugin-unity-gamedev/tools-unity-navmesh/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for tools-unity-navmesh

Your own site · 80×15
<a href="https://agentmods.dev/skills/tjboudreaux/cc-plugin-unity-gamedev/tools-unity-navmesh"><img src="https://agentmods.dev/badge/skills/tjboudreaux/cc-plugin-unity-gamedev/tools-unity-navmesh.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 20 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,103 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin 100% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00020 $0.03103
Opus 5 $0.00010 $0.01551
Sonnet 5 $0.00004 $0.00621
Haiku 4.5 $0.00002 $0.00310

Measured 10d ago against content hash 8ecd5fa7c171, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

tools-unity-navmesh scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

This is a copy

100% identical to tools-unity-navmesh — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

skills/tools-unity-navmesh/SKILL.md · 582 lines

How it starts

The opening of the file, as written. The whole thing — 582 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Unity NavMesh Pathfinding

Overview

NavMesh provides AI pathfinding in Unity. This skill covers safe usage patterns to prevent the 30K+ pathfinding errors seen in production.

When to Use

  • AI movement and navigation
  • Enemy patrolling and chasing
  • NPC pathfinding
  • Dynamic obstacle avoidance
  • Multi-agent navigation

Critical Safety Patterns

Graph Validation Before Query

using Pathfinding;

public class SafePathfinder
{
    private readonly Seeker _seeker;
    
    public bool TryCalculatePath(Vector3 start, Vector3 end, out Path path)
    {
        path = null;
        
        // CRITICAL: Check graph exists
        if (AstarPath.active == null)
        {
            Debug.LogError("No AstarPath instance active");
            return false;
        }
        
        if (AstarPath.active.graphs == null || AstarPath.active.graphs.Length == 0)
        {
            Debug.LogError("No graphs available");
            return false;
        }
        
        // Check if position is on navmesh
        var startNode = AstarPath.active.GetNearest(start).node;
        var endNode = AstarPath.active.GetNearest(end).node;
        
        if (startNode == null || !startNode.Walkable)
        {
            Debug.LogWarning($"Start position {start} not on walkable navmesh");
            return false;
        }
        
        if (endNode == null || !endNode.Walkable)
        {
            Debug.LogWarning($"End position {end} not on walkable navmesh");
            return false;
        }
        
        // Safe to calculate path
        _seeker.StartPath(start, end, OnPathComplete);
        return true;
    }
    
    private void OnPathComplete(Path p)
    {
        if (p.error)
        {
            Debug.LogWarning($"Path failed: {p.errorLog}");
            return;
        }
        
        // Use path
    }
}

Null Graph Guard (Critical Fix for 30K errors)

public class PathfindingGuard
{
    public static bool IsPathfindingReady()
    {
        // Check 1: AstarPath singleton exists
        if (AstarPath.active == null)
            return false;
        
        // Check 2: Data is loaded
        if (AstarPath.active.data == null)
            return false;
        
        // Check 3: Graphs exist
        if (AstarPath.active.data.graphs == null)
            return false;
        
        // Check 4: At least one graph is scanned
        foreach (var graph in AstarPath.active.data.graphs)
        {
            if (graph != null && graph.CountNodes() > 0)
                return true;
        }
        
        return false;
    }
}

// Usage in AI
public class EnemyAI : MonoBehaviour
{
    private void RequestPath()
    {
        if (!PathfindingGuard.IsPathfindingReady())
        {
            // Defer pathfinding or use fallback behavior
            StartCoroutine(WaitForPathfinding());
            return;
        }
        
        _seeker.StartPath(transform.position, _target.position);
    }
    
    private IEnumerator WaitForPathfinding()
    {
        while (!PathfindingGuard.IsPathfindingReady())
        {
            yield return new WaitForSeconds(0.5f);
        }
        
        RequestPath();
    }
}

Read the full file on GitHub · 582 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 10d ago First seen · 582 lines · 20 tokens per session scan A 8ecd5fa7c171

Subscribe to this mod's changes

tools-unity-navmesh is a skill published in the GitHub repository tjboudreaux/cc-plugin-unity-gamedev (8 stars, last pushed 7mo ago), licensed MIT. It adds 20 tokens to every session and 3,103 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. It is 100% identical to tools-unity-navmesh, differing in 0 lines, and is treated as a copy.