godot-stealth-perception

Build a Godot stealth enemy perception system with vision cones, hearing alerts, and FSM states.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you build the perception layer for a stealth enemy in Godot when simple distance checks are not enough. It solves the common problem of enemies failing to notice the player, never hearing noise, or snapping instantly between patrol and chase.

Core Features & Use Cases

  • Vision cone detection: Uses a VisionCone3D to detect the player through a field-of-view cone with line-of-sight checks.
  • Hearing-based aggro: Uses a custom HearingArea and an emit_noise seam so noises can alert enemies even when the player is out of sight.
  • FSM-aware search behavior: Drives Patrol, Aggro, Alert, and Search transitions while tracking last_known_position for believable stealth behavior.
  • Use case: Ideal for stealth games where enemies should notice visible players, react to sound, and investigate a last known location before returning to patrol.

Quick Start

Ask for a Godot stealth enemy setup that wires VisionCone3D and HearingArea into an FSM with Patrol, Aggro, Alert, and Search states.

Frequently Asked Questions about godot-stealth-perception

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

FAQPage Schema
How do I make a Godot stealth enemy detect the player through a vision cone and hearing?

To make a Godot stealth enemy detect the player, use a VisionCone3D for sight and a custom HearingArea for noise alerts. This setup ensures enemies notice visible players and react to sound even when the player is out of sight.

What is the best way to handle enemy aggro and search behavior in Godot stealth AI?

The best way to handle enemy aggro and search behavior in Godot stealth AI is using an FSM with Patrol, Aggro, Alert, and Search states. This tracks the last known position so enemies investigate before returning to patrol.

Why does my Godot enemy instantly snap between patrolling and chasing the player?

Godot enemies snap between patrolling and chasing when missing FSM transitions for Alert and Search. Implementing a last known position tracking system allows the enemy to investigate lost targets and recover smoothly into patrol behavior.

Can I use distance checks alone for enemy perception in stealth games?

Distance checks alone are insufficient for stealth games. Combining vision cone detection with line-of-sight checks and hearing-based noise alerts provides believable enemy perception where targets are detected through sight or sound.

How do I set up an FSM for enemy perception in Godot?

To set up an FSM for enemy perception in Godot, wire a VisionCone3D and HearingArea into state transitions for Patrol, Aggro, Alert, and Search. This gates player detection using player groups and archetype-driven tuning.

Do I need a custom HearingArea to detect player noise in Godot?

You need a custom HearingArea to detect player noise in Godot. It uses an emit_noise seam so noises alert enemies even when the player is out of sight, enabling hearing-based aggro for stealth AI scenarios.