godot-navmesh-pathing-4-6

Fix Godot 4.6 enemy pathing with runtime navmesh baking and navigation map sync.

8|3|Updated Jun 12, 2026
One-click install
npx skills add https://github.com/arthur0n/xenodot-forge --skill godot-navmesh-pathing-4-6
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: godot-navmesh-pathing-4-6
Source: https://github.com/arthur0n/xenodot-forge/tree/main/plugin/skills/godot-navmesh-pathing-4-6
Command: npx skills add https://github.com/arthur0n/xenodot-forge --skill godot-navmesh-pathing-4-6

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill resolves Godot 4.6 navigation failures where enemies freeze, navmeshes bake empty in the editor, destinations miss the mesh, or movement gets overwritten by entity update order.

Core Features & Use Cases

  • Runtime Navmesh Baking: Bakes a level navmesh in the level _ready() using the level root as the source geometry, avoiding the empty editor-bake trap in Godot 4.6.
  • Navigation Server Sync: Forces the navigation map to update so newly spawned agents can path immediately instead of reporting finished on frame one.
  • Destination and Movement Repair: Snaps targets onto the mesh, handles one-tick path resolution races, throttles repathing, and preserves navigation velocity when a base entity owns _physics_process.
  • Use Case: A designer adds a new enemy room and the agents spawn but stand still; this Skill shows how to bake the level at runtime, sync the nav map, and restore movement without fighting knockback or FSM ordering.

Quick Start

Ask the Skill to diagnose a Godot 4.6 enemy pathing setup and generate the runtime navmesh bake, nav-server sync, and movement-ordering fixes for a level whose enemies are frozen.

Frequently Asked Questions about godot-navmesh-pathing-4-6

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why are my Godot 4.6 enemies standing still when I spawn them?

Godot 4.6 enemies stand still when spawned because the editor-baked navmesh is empty or the navigation map has not synced. You must explicitly bake the level-root navmesh at runtime and force the navigation map to update so agents can path immediately.

How do I bake a navigation mesh at runtime in Godot 4.6?

To bake a navigation mesh at runtime in Godot 4.6, call the navmesh baking function inside the level's `_ready()` method using the level root as the source geometry. This avoids the empty editor-bake trap and ensures the mesh is available for NavigationAgent3D.

How do I fix NavigationAgent3D reporting path finished on frame one?

NavigationAgent3D reports path finished on frame one due to spawn-frame pathing races. Fix this by forcing the navigation map to update after baking, or by deferring the first destination assignment so the agent queries the mesh after it is fully committed.

How do I preserve navigation velocity when a base entity controls _physics_process?

To preserve navigation velocity when a base entity owns `_physics_process`, apply FSM-before-move update ordering. This ensures the entity's state machine updates the agent's target before movement is applied, preventing knockback or shove logic from overwriting nav velocity.

What is the best way to handle off-mesh destinations for Godot enemy pathing?

The best way to handle off-mesh destinations in Godot enemy pathing is destination snapping. You snap the target position to the closest point on the navigation mesh, ensuring the agent has a valid reachable path instead of freezing when the target misses the mesh.