router

Routes any game-development request to the right specialized skill(s): it detects the engine (Godot, Unity, Unreal, Bevy, Phaser, PixiJS, three.js, LÖVE, pygame, Roblox) and the task, then reads the chosen skill before acting. Use to make a game or to decide which skill applies — for players, levels

By gamedev-skills · 2,638 installs

npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill router

Source repository · Upstream listing

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 1. Detect engine and version — project fingerprint → at most one engine skill set (or "unknown"), then read the project's version source. §1. 2. Classify task — phrasing → discipline(s) + at most one genre + workflow(s). §2. 3. Resolve — the minimal set: engine skill(s) + discipline(s) + genre + workflow(s). §3. 4. Read (disclosure) — open only the chosen SKILL.md bodies; references/ only on demand. §4. 5. Compose — order: engine fundamentals → discipline concept → genre glue → workflow. §5. 6. Fallback — preserve existing engines, including custom/proprietary ones; bind missing APIs from project evidence and state any gap. For a new project with no engine preference, see §6. 1. Engine detection (project fingerprint) Scan for the highest confidence signal; choose exactly one engine for the target project. An explicitly identified custom/proprietary engine is a valid result even without a catalog skill. Check the target's build and runtime entry point before treating a bundled library/tool as its engine. 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 Ebitengine go.mod requiring github.com/hajimehoshi/ebiten/v2 skills/ebitengine/ 5 Bevy Cargo.toml with a bevy dependency skills/other engines/bevy ecs/ 6 Phaser package.json dep phaser skills/web engines/phaser 7 PixiJS package.json dep pixi.js skills/web engines/pixijs rendering/ 8 three.js package.json dep three skills/web engines/threejs 9 Defold game.project skills/other engines/defold core/ 10 LÖVE conf.lua / main.lua calling love. skills/other engines/love2d core/ 11 pygame .py with import pygame skills/other engines/pygame core/ 12 Roblox .rbxl(x) / .project.json (Rojo) skills/other engines/roblox For secondary signals, the Godot C /Unity/Bevy, Defold/LÖVE/Lua 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; each engine skill states its new project baseline, and the catalog wide table is docs/VERSION SUPPORT.md in the source repository (it is not installed with the router). 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/ ): language godot gdscript / godot csharp ; structure godot nodes scenes , godot signals groups ; 2D godot 2d movement , godot tilemap ; 3D godot 3d essentials ; physics godot physics ; UI godot ui control ; animation godot animation ; shaders godot shaders ; data godot resources ; audio godot audio ; netcode godot multiplayer ; headless CLI tests godot gdscript headless testing ; ship godot export . Unity ( skills/unity/ ): scripting unity csharp scripting ; input unity input system ; physics unity physics ; animation unity animation ; data unity scriptableobjects ; 2D unity tilemap 2d ; AI nav unity navmesh ; ship unity build pipeline . Unreal ( skills/unreal/ ): visual scripting unreal blueprints ; C++ gameplay unreal cpp gameplay ; input unreal enhanced input ; AI unreal behavior trees ; VFX unreal niagara ; ship unreal packaging . Ebitengine ( skills/ebitengine/ ): ebitengine game for Go 2D games and focused input, rendering, text, audio, state/testing and build work. Select only its relevant references; generating the starter is optional for an existing project. 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 ; Defold defold core (collections, game objects, scripts, input, messages, factories, proxies, Bob builds); Roblox foundation roblox luau , persistence roblox datastores , UI roblox ui , remotes/security roblox networking , character lifecycle roblox characters , simulation/queries roblox physics , in Studio operation roblox studio workflow , and simulator/tycoon/idle economy balancing roblox simulator economy . 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, WFC 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 roblox ui + game ui ux (+ input systems for gameplay bindings); remote exploit or replication requests use roblox networking + roblox luau ; respawn/rig requests use roblox characters ; physical simulation/query requests use roblox physics (+ physics tuning for stability); simulator, tycoon, clicker or idle economy requests (upgrade costs, rebirths, offline earnings, big numbers, paid eggs/crates odds) use roblox simulator economy + roblox networking (+ roblox datastores for saving); direct place editing also uses roblox studio workflow . For Ebitengine, bind engine specific slots to ebitengine game and its relevant reference (input, rendering, text/UI, audio, gameplay, tilemaps or state/testing). Add only the needed disciplines; do not load Godot or Unity APIs from a genre's example bindings. Native 3D and a ready made network backend are not supplied by this 2D skill; state those gaps when relevant. For Defold, bind engine specific slots (movement, input, spawning, level loading, build) to defold core and add only the needed disciplines, e.g. "add player movement to my Defold game" → defold core + input systems (+ platformer for a platformer). Defold has no dedicated GUI, tilemap or physics skill yet; use defold core and its build reference's pointers, and state the gap. 3c. Genres — compose engine + disciplines (bind to the detected engine) Genre ( says: ) composes platformer, jump, double jump godot 2d movement (or engine physics) + godot tilemap / unity tilemap 2d + level design + camera systems + game feel roguelike, procedural dungeon, permadeath procedural gen + godot tilemap / unity tilemap 2d + game ai + save systems + game feel RPG, stats, inventory, quests godot resources / unity scriptableobjects + dialogue systems + save systems + game ui ux FPS, first person, hitscan godot 3d essentials / unreal cpp gameplay + input systems + game ai + camera systems + game feel tower defense, waves, lanes game ai + engine movement + level design + game ui ux card game, deckbuilder, TCG godot resources / unity scriptableobjects + game ui ux (+ engine UI) visual novel, branching story dialogue systems + save systems + game ui ux survival, crafting, gathering save systems + godot resources / unity scriptableobjects + procedural gen + game ui ux puzzle, match 3, grid logic godot tilemap / unity tilemap 2d + level design + game feel 3d. Workflows — engine independent process & shipping game jam (jam, 48 hour, Ludum Dare/GMTK) · prototype fast (vertical slice, MVP, greybox) · steam publish (Steam, Steamworks, depot; steam appid.txt ) · itch publish (itch.io, butler; .itch.toml ). For the exhaustive per skill trigger list and every engine binding, read references/routing table.md . 4. Read protocol (progressive disclosure) 1. Preloaded: only each skill's name + description are in context. Decide from those plus the fingerprint — do not pre read bodies. 2. On selection: read the body o