Godot Gdscript Patterns
925236118/AlphaAgent
Master Godot 4 GDScript patterns including signals, scenes, state machines, and optimization.
A skill your agent uses when building gameplay systems in Godot 4.7: enemy AI that patrols, chases and attacks, state machines, behavior trees (LimboAI), NavigationAgent3D pathfinding and avoidance…
$ npx skills add scenario-labs/skills --skill scenario-godot-gameplay -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install scenario-labs/skills scenario-godot-gameplay --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/game-engines/godot/scenario-godot-gameplay .claude/skills/scenario-godot-gameplay && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "scenario-godot-gameplay" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-gameplay into .claude/skills/scenario-godot-gameplay/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-godot-gameplay", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-gameplayType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add scenario-labs/skills --skill scenario-godot-gameplay -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install scenario-labs/skills scenario-godot-gameplay --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/game-engines/godot/scenario-godot-gameplay .agents/skills/scenario-godot-gameplay && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "scenario-godot-gameplay" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-gameplay into .agents/skills/scenario-godot-gameplay/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-godot-gameplay", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add scenario-labs/skills --skill scenario-godot-gameplay -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install scenario-labs/skills scenario-godot-gameplay --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/game-engines/godot/scenario-godot-gameplay .cursor/skills/scenario-godot-gameplay && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "scenario-godot-gameplay" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-gameplay into .cursor/skills/scenario-godot-gameplay/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-godot-gameplay", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/scenario-labs/skills.git --path skills/game-engines/godot/scenario-godot-gameplay--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add scenario-labs/skills --skill scenario-godot-gameplay -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install scenario-labs/skills scenario-godot-gameplay --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/game-engines/godot/scenario-godot-gameplay .gemini/skills/scenario-godot-gameplay && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "scenario-godot-gameplay" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-gameplay into .gemini/skills/scenario-godot-gameplay/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-godot-gameplay", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install scenario-labs/skills scenario-godot-gameplayInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add scenario-labs/skills --skill scenario-godot-gameplay -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/game-engines/godot/scenario-godot-gameplay .github/skills/scenario-godot-gameplay && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "scenario-godot-gameplay" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-gameplay into .github/skills/scenario-godot-gameplay/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-godot-gameplay", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add scenario-labs/skills --skill scenario-godot-gameplay -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install scenario-labs/skills scenario-godot-gameplay --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/game-engines/godot/scenario-godot-gameplay .opencode/skills/scenario-godot-gameplay && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "scenario-godot-gameplay" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-gameplay into .opencode/skills/scenario-godot-gameplay/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-godot-gameplay", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
scenario-godot-gameplayA skill your agent uses when building gameplay systems in Godot 4.7: enemy AI that patrols, chases and attacks, state machines, behavior trees (LimboAI), NavigationAgent3D pathfinding and avoidance…
Scenario Godot Gameplay is an agent skill from scenario-labs/skills. Use when building gameplay systems in Godot 4.7: enemy AI that patrols, chases and attacks, state machines, behavior trees (LimboAI), NavigationAgent3D pathfinding and avoidance for 100 to 1000 enemies, 'agents stack up' or 'path is empty', hitbox and hurtbox combat, fast bullets going through walls, save and load, inventory, quests, dialogue (Dialogue Manager), input remapping, procedural dungeons, or measuring agent counts and frame time headless.
Its SKILL.md is about 4.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 38 other files, including scripts and reference files (for example `references/critique.md`, `references/expert-notes.md` and `references/gui-paths.md`).
It sits in Game Development, covering Game development. It works with Godot. The repository describes itself as: Get production-ready images, video, audio, and 3D from any AI agent: skills that pick the right model, price before spending, and keep characters and brands consistent through… The licence is MIT.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit f6f8ab7. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 11 files in scripts/, which the agent can run.
Shell commands in SKILL.md call:
npxFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Scenario Godot Gameplay loads about 4.9k tokens when it runs, and up to ~18k if it reads all its reference files. Until then it costs about 119 tokens; SKILL.md has 2,119 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from scenario-labs/skills at commit f6f8ab7, republished under its MIT licence (© scenario-labs). 2,119 words, ~4,881 tokens.
.claude/skills/scenario-godot-gameplay/SKILL.md (or your agent's skills folder). This skill also uses 34 other files; get the full folder from GitHub.Target: Godot 4.7.2.stable, Jolt, macOS Apple Silicon.
At expert level, gameplay systems are small contracts that can be tested without a scene: pure decision functions, Resources for data, groups for discovery. Their cost is measured at the agent count the game needs before anyone argues about it. The core stance: build the rule as data, run it headless at --fixed-fps 60, then look at one capture. If a sibling skill named here is missing from your available skills, ask the user to install it (npx skills add scenario-labs/skills --skill <name>); unattended, proceed from tool schemas and flag the gap.
REQUIRED BACKGROUND: scenario-godot-expert (channels, gd_run, the review loop, 4.7 traps).
Status (2026-10-02): 16 live tests, the round-2 checks (P15) and the offline suite pass in Godot 4.7.2 (references/procedures.md, tests/code/godot-gameplay/). Dialogue Manager 4.1.0, LimboAI 1.8.1 and GUT 9.7.1 were run in their own project copies.
--fixed-fps 60, never plain headless. A headless frame sleeps 6.9 ms (low_processor_usage_mode_sleep_usec) and runs fewer physics ticks than frames. Performance.TIME_* monitors refresh about once per second and read 0 under fixed fps. Measure wall milliseconds per frame, median of 3, and compare A/B pairs from the same run (observed, P0).max_neighbors or the repath interval gave no measurable gain. What avoidance buys is correctness: 0 overlapping pairs against 3108 without it (P2). Go to server agents plus one MultiMesh (0.26 ms for 200) only when the agents need no nodes.region_get_iteration_id before assigning, wait for it to move, then one more map sync (nav_tools.wait_applied, P1).continuous_cd, 6 of 8 balls went through a 0.1 m wall even at 30 m/s. Jolt clamps at 500 m/s. Ray-swept data bullets drawn by one MultiMesh cost 0.35 ms per 1000, against 1.05 ms for pooled RigidBody3D with CCD (P5)..tres save is code. A GDScript sub_resource runs on load (Godotneers 43BZsLZheA4 01:03:14; reproduced P6). Scan before loading, load with CACHE_MODE_IGNORE, version and migrate, validate values instead of encrypting (01:01:37).Docs warnings (NavigationAgents page) and Bramwell (2W4JP48oZ8U 00:14:14), measured in 4.7.2 unless marked:
target_position. With avoidance on and no target, safe_velocity stayed 0 for 30 ticks; with a target it returned the full 3 m/s.get_next_path_position() per physics frame, and none after the end. Once is_navigation_finished() is true it still returns the last point (0.93 m away here): stop steering there, or the agent creeps.path_desired_distance must exceed one tick of travel and the navmesh's float above the floor (about 0.3 m). At 25 m/s (0.42 m per tick) with 0.1, the agent reversed on 1782 of 1800 ticks and never arrived; at 1.0 it arrived in 182. With 0.1 and the feet measured at floor height, it never left the first path point.time_horizon_agents 1.0, time_horizon_obstacles 0.0. Lower the horizon if agents slow down too early. Too few max_neighbors and avoidance is ignored (docs; not measured here).| Input | Why it changes the plan | Default |
|---|---|---|
| Agent count on screen | nodes vs server agents, think budget | 200 |
| Frame budget for gameplay | the gate for every benchmark | a quarter of 16.67 ms (4.2 ms) at 60 fps [added] |
| 2D or 3D | NavigationAgent2D vs 3D, Area2D vs 3D | 3D |
| Who authors behavior | code (FSM, enum) vs designers (LimboAI) | code |
| Save trust | own files only vs shared or modded saves | shared: scan or JSON |
| Platform | input devices, CPU budget | desktop, keyboard and mouse plus pad |
gd_env.base_project("3d", P) and give it its own application/config/name, because clones otherwise share user://. Run gg.install(P).3d/physics_engine="Jolt Physics" and a stated renderer; gd_run.check_all(P) reports 0 parse errors.nav_source. Build the mesh with make_navmesh(parsed colliders, source group), then bake, then wait_applied.map_get_path between sample points is non-empty with 0 obstacle crossings; the polygon count is above 0; no hole at NPC spawns (P1).velocity_computed drives move_and_slide; repath is throttled; steering is XZ only.gg.crowd_bench(P, n) at 50, 200 and 800, then gg.scaling_verdict. In your own benchmark scene, log Performance.add_custom_monitor(&"ai/thinks", callable) and OBJECT_ORPHAN_NODE_COUNT beside wall time (it read 5 after 5 stray Node.new(), P15).gg.budget_share); the orphan count is flat. Then a windowed capture of the crowd, opened.decide(state, percept) with hysteresis. Perception is cheap first (distance, cone, one ray, stale-hit check). The manager thinks at about 5 Hz with a per-tick cap. Far enemies think less: key the tiers on squared distance, because VisibleOnScreenNotifier3D.is_on_screen() stays false headless and a benchmark would put everyone in the far tier (P15). The node FSM is for the hero; LimboAI if designers author.bullet_pool; bouncing objects are RigidBody3D with CCD.migrate(), save_io.save_resource_atomic, load_resource_checked; inventories duplicated per holder..dialogue files; quest order is turn in, then continue, then offer.gg.check_dialogue_text finds no missing cue; a headless walk reaches each branch and mutates state (P8)._unhandled_input; remaps go to a ConfigFile.dungeon_gen), validators, then geometry, bake and path.test_gameplay_live.py and copy the evidence. Score yourself against references/critique.md.| Value | Measured | Relative to |
|---|---|---|
| 200 bodies with avoidance | 1.98 ms per frame, 0 overlaps | M5 Max, fixed fps 60, 60 m arena with 14 obstacles |
| Scaling with avoidance | 50 agents: 1.07 ms, 200: 2.00, 800: 7.31 (about 9 µs per agent) | same |
| 200 server agents plus MultiMesh | 0.26 ms | same |
| Think cost, 200 enemies | budget 0.40 ms, every tick 0.78, none 0.33 | 5 Hz, 40 per tick |
| First navmesh sync | 3 physics frames; rebake applied after 2 to 16 | async iterations on (default) |
| Bake | 5 ms, 180 polygons | 60 m arena, cell 0.25 |
| 1000 bullets | data 0.35 ms; RigidBody3D with CCD 1.05; without CCD 1.00 (45% miss walls) | 60 m/s, 2 s life |
| Jolt speed clamp | 500 m/s | physics/jolt_physics_3d/limits/max_linear_velocity |
| Dungeon generate plus validate | 88 µs median, 1000 of 1000 valid | 14-room main path, 4 branches |
| NavigationAgent3D defaults | radius 0.5, max_neighbors 10, neighbor_distance 50, max_speed 10, avoidance off | 4.7.2 ClassDB |
scaling_verdict; budget_share; GUT (gd_run.run_tests) green after one deliberate red; check_all with 0 parse errors; validators on 1000 seeds; save fixtures; the dialogue compile.gd_review.image_checks and a contact sheet of 1600 px or less, opened and looked at. Look for crowd spacing round the player, no agents inside obstacles, and the dungeon path from start to boss.| Mistake | What it looks like | Fix |
|---|---|---|
| Benchmarking plain headless | about 7 ms per "frame" whatever the load | --fixed-fps 60 |
| Path queried right after assigning the mesh | empty path, agents idle at spawn | wait_applied |
| Default bake (Both from root) with NPCs inside | holes round spawn points | group plus static colliders |
| Avoidance off "for speed" | 3108 overlapping pairs, enemies merge | avoidance on: it costs little at 200 |
| Vision as one Area3D per enemy | broadphase churn | distance, cone, one ray [added] |
| Trusting a ray hit on a teleported body | enemy "sees" through a wall | stale-hit distance check |
| Hit areas on layer 1 and mask 1 | self-hits, triple damage | mask or layer only; HitLog |
monitoring = false in area_entered | "Function blocked during in/out signal" | set_deferred |
| Bullet bodies on the default layer | 1000 bodies collide: 110 to 170 ms per frame | own layer, mask world and targets |
| No CCD on fast bodies | bullets pass walls at 30 m/s | continuous_cd or ray-swept data |
Loading a downloaded .tres | its script runs | load_resource_checked or JSON with from_native |
Default load() after re-saving | old values come back | CACHE_MODE_IGNORE |
save.items = [...] on Array[String] | runtime error or a silent no-op through set() | items.assign([...]) |
Preloaded inventory .tres on every chest | one chest's loot shows in all | duplicate(true) per holder |
| Always-succeeding first child in a Selector | the attack branch never runs (Chap.C E_FIy2dTkNc 00:17:27) | gate first, BTProbability or AlwaysFail |
| Logical keycodes in actions | WASD breaks on AZERTY | physical keycodes |
| Teleport with physics interpolation on | the body is drawn sliding across the jump [added, not measured] | reset_physics_interpolation() after the move (method exists) |
queue_free() on an autoload | no crash in 4.7.2; every later access is a "previously freed" error reading 0 (docs say crash) | never free one; reset its state instead |
nav_source and the controller (scenario-godot-3d-world); TileMapLayer navigation (scenario-godot-2d); art from scenario-* skills through those two.state_changed to scenario-godot-animation; play events and priorities to scenario-godot-audio (mix, buses, attenuation and the listener stay there); inventory signals, dialogue balloon and remap menu to scenario-godot-ui; hit position and normal to scenario-godot-vfx; Resources and pure decide() to scenario-godot-multiplayer; benchmark JSON to scenario-godot-performance-export.region_bake_navigation_mesh is deprecated: use parse_source_geometry_data plus bake_from_source_geometry_data (or the async variant). region_get_iteration_id exists. query_path(params, result, callback) ran its callback before returning (P15): it does not move work off the frame.custom_aabb (exists) and split big crowds by area.geometry_parsed_geometry_type is Both (2). Default cell size and height are 0.25.duplicate(true) copies only file-internal subresources (4.5 and later). duplicate_deep(DEEP_DUPLICATE_ALL) copies external ones too.JSON.from_native and to_native exist; plain JSON numbers come back as floats.InputEventKey.as_text() prints "W - Physical". A new InputEventKey has device 16 (DEVICE_ID_KEYBOARD).references/procedures.md (P0 to P15 with code and live results), expert-notes.md (judgment by expert, timestamps), critique.md (rubric), gui-paths.md (editor menus), sources.md (videos, docs, addon hashes).scripts/gd_gameplay.py: install, run_job, crowd_bench, scaling_verdict, budget_share, dialogue lint, save scan.scripts/agentkit/gameplay/: nav_tools, arena, crowd_bench, enemy_body, state machine and states, brain, perception, enemy_manager, hitbox, hurtbox, hit_log, combat_layers, bullet_pool, save_io, inventory, quest_rules, dungeon_gen, voice_pool.© scenario-labs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 34 other files (scripts, references) in skills/game-engines/godot/scenario-godot-gameplay of scenario-labs/skills.
Open the folder on GitHubat commit f6f8ab7
Scenario Godot Gameplay next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Scenario Godot Gameplay this skillscenario-labs/skills | 946 | — | ~4.9k | Automated safety check: Pass | MIT | |
| Godot Gdscript Patterns925236118/AlphaAgent | 103 | 10 repos | ~5k | Automated safety check: Pass | MIT | |
| 2D Map and Scene Generator0x0funky/agent-sprite-forge | 4.4k | — | ~2.9k | Automated safety check: Pass | MIT | |
| Godot UI Integrationzimo-xiao-zheng/godot-ui-integration | 285 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Godot Wechat Minigame Adaptergodothub/godot-minigame | 187 | — | ~1.5k | Automated safety check: Pass | MIT | |
| AI Game Art Pipelineybuild-ai/ai-game-art-pipeline-skill | 297 | — | ~1.1k | Automated safety check: Pass | MIT |
925236118/AlphaAgent
Master Godot 4 GDScript patterns including signals, scenes, state machines, and optimization.
0x0funky/agent-sprite-forge
Plans and builds 2D game maps and scenes, from tilemaps and parallax backgrounds to HD-2D plates, with collision checks, a playable HTML preview and Tiled, Godot or LDtk export.
zimo-xiao-zheng/godot-ui-integration
Build or revise Godot UI from an approved design, separated art, or a visual reference when scene structure, gameplay binding, and runtime visual verification all matter.
godothub/godot-minigame
Apply the bundled self-contained Godot WeChat Mini Game adapter kit to an official Godot checkout.
ybuild-ai/ai-game-art-pipeline-skill
Provider-neutral open-source skill for planning and producing game-runtime art assets and animation: static props/icons, canonical character sheets, combat sprites, 3D/video motion references…
RandallLiuXin/GodotMaker
Runtime debugging and live project inspection via godot-mcp.
scenario-labs/skills
A skill your agent uses when drawing or animating with Grease Pencil in Blender 5.x from Python: 2D or 2.5D illustration, frame-by-frame animation, a cutout or part-based 2D character, strokes with…
scenario-labs/skills
A skill your agent uses when grooming hair or fur in Blender with hair curves, such as a character hairstyle, animal fur, procedural fur in geometry nodes, or hair cards and mesh hair for games.
scenario-labs/skills
A skill your agent uses when lighting, rendering or compositing in Blender: light a character, product or hero shot, interior at dusk or night, three-point or motivated lighting, sun and sky, HDRI…
scenario-labs/skills
A skill your agent uses when creating a ChatGPT pet or Codex pet with Scenario: hatching an animated companion from a text idea, a character, mascot or brand cue, or reference photos and art; making…
scenario-labs/skills
A skill your agent uses when animating characters or scenes in Godot 4.7: AnimationPlayer clips and RESET, AnimationTree state machines and blend spaces built in code, Mixamo or glTF import, loop…
scenario-labs/skills
A skill your agent uses when adding or fixing sound in Godot 4.7: audio buses and effects, volume sliders, 'too many sounds', combat audio with hundreds of enemies, sounds clipping or distorting, 3D…
Works with
Categories
A skill your agent uses when building gameplay systems in Godot 4.7: enemy AI that patrols, chases and attacks, state machines, behavior trees (LimboAI), NavigationAgent3D pathfinding and avoidance…. Scenario Godot Gameplay is an agent skill from scenario-labs/skills.7: enemy AI that patrols, chases and attacks, state machines, behavior trees (LimboAI), NavigationAgent3D pathfinding and avoidance for 100 to 1000 enemies, 'agents stack up' or 'path is empty', hitbox and hurtbox combat, fast bullets going through walls, save and load, inventory, quests, dialogue (Dialogue Manager), input remapping, procedural dungeons, or measuring agent counts and frame time headless.
Scenario Godot Gameplay fits situations like: building gameplay systems in Godot 4.7: enemy AI that patrols; chases and attacks; behavior trees (LimboAI); navigationAgent3D pathfinding and avoidance for 100 to 1000 enemies.
Run `npx skills add scenario-labs/skills --skill scenario-godot-gameplay -a claude-code`. Or copy the skill folder (skills/game-engines/godot/scenario-godot-gameplay in scenario-labs/skills) into .claude/skills/scenario-godot-gameplay in your project. Claude Code loads it when a task matches its description.
Run `npx skills add scenario-labs/skills --skill scenario-godot-gameplay -a codex`. Or copy the skill folder (skills/game-engines/godot/scenario-godot-gameplay in scenario-labs/skills) into .agents/skills/scenario-godot-gameplay in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add scenario-labs/skills --skill scenario-godot-gameplay -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/scenario-godot-gameplay, .gemini/skills/scenario-godot-gameplay, .github/skills/scenario-godot-gameplay and .opencode/skills/scenario-godot-gameplay in your project.
Going by SKILL.md and its folder, Scenario Godot Gameplay needs the command-line tools its instructions call (npx). Our summary lists: Node.js.
SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Scenario Godot Gameplay is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.9k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 13k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Scenario Godot Gameplay: Godot Gdscript Patterns (925236118/AlphaAgent, 103 stars), 2D Map and Scene Generator (0x0funky/agent-sprite-forge, 4.4k stars), Godot UI Integration (zimo-xiao-zheng/godot-ui-integration, 285 stars) and Godot Wechat Minigame Adapter (godothub/godot-minigame, 187 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
scenario-labs (a GitHub organization) maintains it in scenario-labs/skills, which has 946 GitHub stars. The repository holds 146 skills in this directory. The repository was last updated on October 10, 2026.
Source: scenario-labs/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.