- Skill ID
- gamedev-skills/awesome-gamedev-agent-skills/router
- Publisher
- gamedev-skills
- Repository
- awesome-gamedev-agent-skills
- Installs
- 234
- Files
- 4
- Synced
- Oct 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
gamedev-skills/awesome-gamedev-agent-skills/routerInstalls these files- SKILL.md
- agents/openai.yaml
- references/engine-detection.md
- references/routing-table.md
What this skill tells the agent
Master Router — Game-Development Skill Dispatcher
The entry point for game-development work. It fingerprints the project to pick one engine, classifies the task from the request, names the minimal set of specialized skills, and tells you to read them before acting. It dispatches and composes — it does not re-teach engine APIs.
When to use
- Use at the start of any game-development request — building or debugging a game, level, player, enemy, shader, UI, save system, multiplayer, input, audio, AI, dialogue, procedural content, or visual asset set — to decide which skill(s) to load.
- Use when the user names an engine or genre, says "make a game", or asks "which skill should I use?".
*When not to use: once the right skill is loaded and the task is squarely inside it, work from that skill — don't re-run the router every turn. Re-route only when the task pivots* to a new engine or concern (router step 6).
Routing algorithm
- Detect engine and version — project fingerprint → at most one engine skill set (or "unknown"), then read the project's version source. §1.
- Classify task — phrasing → discipline(s) + at most one genre + workflow(s). §2.
- Resolve — the minimal set: engine skill(s) + discipline(s) + genre + workflow(s). §3.
- Read (disclosure) — open only the chosen
SKILL.mdbodies;references/only on demand. §4. - Compose — order: engine fundamentals → discipline concept → genre glue → workflow. §5.
- Fallback — engine unknown or no skill fits → ask or default to Godot; state any gap. §6.
1. Engine detection (project fingerprint)
Scan for the highest-confidence signal; choose exactly one engine. Stop at the first match.
| # | Engine | Primary signal | Skill set root |
|---|---|---|---|
| 1 | Godot | project.godot | skills/godot/ |
| 2 | Unreal | *.uproject | skills/unreal/ |
| 3 | Unity | Assets/ and ProjectSettings/ProjectVersion.txt | skills/unity/ |
| 4 | Bevy | Cargo.toml with a bevy dependency | skills/other-engines/bevy-ecs/ |
| 5 | Phaser | package.json dep phaser | skills/web-engines/phaser-* |
| 6 | PixiJS | package.json dep pixi.js | skills/web-engines/pixijs-rendering/ |
| 7 | three.js | package.json dep three | skills/web-engines/threejs-* |
| 8 | LÖVE | conf.lua / main.lua calling love.* | skills/other-engines/love2d-core/ |
| 9 | pygame | *.py with import pygame | skills/other-engines/pygame-core/ |
| 10 | Roblox | *.rbxl(x) / *.project.json (Rojo) | skills/other-engines/roblox-* |
For secondary signals, the Godot-C#/Unity/Bevy and multi-web disambiguation rules, monorepos, and plain-text engine mentions, read references/engine-detection.md.
After identifying the engine, read its version from project metadata or dependency locks before choosing APIs. Existing projects keep their pinned version unless migration is requested; the catalog baseline is only for new projects. The exact version sources are in the detection reference and ../docs/VERSION-SUPPORT.md.
2. Task classification (phrasing → category)
After the engine, read the request for task signals (three additive categories):
- disciplines (cross-engine concepts):
create-game-assets,game-ai,ai-behavior-trees-utility-ai,procedural-gen,dialogue-systems,save-systems,audio-design,shader-programming,physics-tuning,level-design,input-systems,game-feel,camera-systems,game-ui-ux,performance-optimization. Triggered by concept words ("sprite sheet", "art direction", "texture", "pathfinding", "save slots", "fragment shader", "screen shake", "camera follow", "HUD/menu", "optimize/low FPS"). - genres (whole-game templates):
platformer,roguelike,rpg,fps-shooter,tower-defense,card-game,visual-novel,survival-crafting,puzzle. Triggered by genre words ("make a roguelike", "deckbuilder"). - workflows (process/shipping):
game-jam,prototype-fast,steam-publish,itch-publish. Triggered by process words ("publish on Steam", "vertical slice").
File signals sharpen this: *.yarn/*.ink → dialogue-systems/visual-novel; steam_appid.txt → steam-publish; *.inputactions → unity-input-system.
3. Routing table (task → category → skill)
3a. Engine skills — read the one matching the detected engine + sub-task
- Godot (
skills/godot/): languagegodot-gdscript/godot-csharp; structuregodot-nodes-scenes,godot-signals-groups; 2Dgodot-2d-movement,godot-tilemap; 3Dgodot-3d-essentials; physicsgodot-physics; UIgodot-ui-control; animationgodot-animation; shadersgodot-shaders; datagodot-resources; audiogodot-audio; netcodegodot-multiplayer; shipgodot-export. - Unity (
skills/unity/): scriptingunity-csharp-scripting; inputunity-input-system; physicsunity-physics; animationunity-animation; dataunity-scriptableobjects; 2Dunity-tilemap-2d; AI navunity-navmesh; shipunity-build-pipeline. - Unreal (
skills/unreal/): visual scriptingunreal-blueprints; C++ gameplayunreal-cpp-gameplay; inputunreal-enhanced-input; AIunreal-behavior-trees; VFXunreal-niagara; shipunreal-packaging. - Web (
skills/web-engines/):phaser-core,phaser-arcade-physics;pixijs-rendering;threejs-scene-setup,threejs-gltf-loading,threejs-materials-lighting. - Other (
skills/other-engines/):bevy-ecs,pygame-core,love2d-core; Roblox foundationroblox-luau, persistenceroblox-datastores, UIroblox-ui, remotes/securityroblox-networking, character lifecycleroblox-characters, simulation/queriesroblox-physics, and in-Studio operationroblox-studio-workflow.
3b. Disciplines — load with the engine skill (concept ↔ engine API)
Concept (says:) | Discipline skill | Pairs with (engine API) |
|---|---|---|
| art direction, game assets, sprites, tilesets, textures, icons, 3D props | create-game-assets | engine importer/rendering skill; imagegen when available |
| enemy AI, behavior tree, pathfinding, steering | game-ai | unity-navmesh / unreal-behavior-trees / Godot nav |
| BT runtime, blackboard, decorator, selector/sequence, utility AI, response curve, consideration | ai-behavior-trees-utility-ai | game-ai (model choice) / unreal-behavior-trees (engine assets) |
| procedural, noise, seed, dungeon generator | procedural-gen | engine tilemap/grid skill |
| dialogue, Yarn, Ink, conversation tree | dialogue-systems | engine UI skill |
| save/load, slots, persistence | save-systems | roblox-datastores / engine IO |
| adaptive music, mixer, ducking, SFX | audio-design | godot-audio / Unity AudioMixer |
| shader, fragment, dissolve/outline | shader-programming | godot-shaders / engine material |
| jitter, tunneling, fixed timestep | physics-tuning | godot-physics / unity-physics |
| whitebox, blockout, tile layout, pacing | level-design | godot-tilemap / unity-tilemap-2d |
| rebind, gamepad, input buffering | input-systems | unity-input-system / unreal-enhanced-input / Godot InputMap |
| screen shake, hit-stop, juice, squash & stretch, "make it punchy" | game-feel | engine animation/tween + camera-systems (shake) |
| camera follow, deadzone, look-ahead, orbit, first-person | camera-systems | godot-2d-movement / godot-3d-essentials / Cinemachine |
| HUD, menu, UI layout, scaling, safe area, focus nav | game-ui-ux | godot-ui-control / Unity UI (UGUI/UI Toolkit) |
| low FPS, optimize, draw calls, GC spike, pooling, profiler | performance-optimization | engine profiler + physics-tuning |
For Roblox, compose cross-engine concepts with the focused engine skill: HUD/menu requests use
More from gamedev-skills
Use this skill in a project
Open any RiverX project, search the Skills panel for gamedev-skills/awesome-gamedev-agent-skills/router, and install it in one click.
