ai-behavior-trees-util…
Build a production behavior-tree runtime (Blackboard, action/condition leaves, sequence/selector/parallel composites, decorators)…
Build Unreal Engine 5 gameplay with Blueprint visual scripting: Blueprint Classes, the Event Graph and Construction Script, variables/functions/macros, and Blueprint communication (Cast, Interfaces, Event Dispatchers). Use when working in Blueprints, wiring an event graph,
Claude Code
$ npx -y skills add gamedev-skills/awesome-gamedev-agent-skills --skill unreal-blueprints --agent claude-code
Codex
$ npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill unreal-blueprints -a codex -y
Cursor
$ npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill unreal-blueprints -a cursor -y
Gemini CLI
$ npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill unreal-blueprints -a gemini-cli -y
GitHub Copilot
$ npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill unreal-blueprints -a github-copilot -y
OpenCode
$ npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill unreal-blueprints -a opencode -y
Windsurf
$ npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill unreal-blueprints -a windsurf -y
name: unreal-blueprints description: > Unreal Engine 5 (UE 5.8) Blueprint visual scripting: Blueprint Classes vs the Level Blueprint, Event Graph, and Cast, Interfaces and Event Dispatchers. Use for BP graphs, how one Blueprint calls another, "cast failed", slow Event Tick or Blueprint compile errors. Not for C++ (`unreal-cpp-gameplay`), input assets (`unreal-enhanced-input`) or AI trees (`unreal-behavior-trees`).
Structure UE5 gameplay in Blueprints: put logic in the right graph, expose data cleanly, and connect Blueprints without a web of hard references. Targets **UE 5.8**.
variables, functions, macros or Event Dispatchers.
**When *not* to use:** hot loops, large data, or code that needs diffs and unit tests → `unreal-cpp-gameplay`. Input assets and bindings → `unreal-enhanced-input`. AI decisions → `unreal-behavior-trees`.
1. **Read the project.** Check `EngineAssociation` in the `.uproject`, and whether a `Source/` folder exists (C++ base classes may already provide what the Blueprint needs). Blueprints are binary `.uasset` files: you cannot edit or grep them as text. Default: write the change as an exact node-by-node recipe the user applies, and verify it with the checks below. Escape hatches: Epic's `unreal-mcp` skill can create and edit graphs in a running editor, and UE 5.9 adds Python and Editor Utility functions that edit Blueprints from scripts. 2. **Pick the container.** Reusable behavior goes in a Blueprint Class (Actor, Pawn, Character or Actor Component). The Level Blueprint is only for one-off level scripting, because nothing else can reach it. 3. **Construction Script for setup, BeginPlay for gameplay.** The Construction Script reruns whenever the actor is placed, moved or edited in the editor, so it must be repeatable and must not spawn gameplay actors or start timers. 4. **Prefer events to Tick.** Overlaps, timers (`Set Timer by Event`), Timelines and Event Dispatchers instead of polling every frame. 5. **Choose communication by coupling.** Default: an Interface call for "do this to whatever I hit" and an Event Dispatcher for "tell anyone who cares". Cast only to a class the caller already depends on, because the cast loads that class with the caller. 6. **Expose data deliberately.** Instance Editable for per-instance values, Expose on Spawn for values set by `Spawn Actor`, categories for anything designers touch. Getters with no side effects can be Pure. 7. **Check it (see Verify).**
BeginPlay
-> Bind Event to OnComponentBeginOverlap (TriggerBox) [custom event OnEnterZone]
OnEnterZone (Other Actor)
-> Does Object Implement Interface (BPI_CanOpenDoors)?
True -> Play Timeline 'DoorOpen' -> Set Relative Rotation (Lerp 0..90 by Alpha)// BPI_Interactable: function Interact(Instigator: Actor) // BP_Door, BP_Chest: Class Settings -> Implemented Interfaces -> BPI_Interactable Player Use pressed -> Line Trace -> Hit Actor -> Interact (Message) [Target = Hit Actor] // The Message node does nothing on actors that don't implement it, so no Cast is needed.
BP_Player: Event Dispatcher OnHealthChanged(NewHealth: float) ApplyDamage -> Set Health -> Call OnHealthChanged(Health) WBP_HUD Construct -> Get Player Pawn -> Cast To BP_Player -> Bind Event to OnHealthChanged
Say which of these you ran; describing a graph is not a test.
1. **Compile every Blueprint headless:** `UnrealEditor-Cmd <Project>.uproject -run=CompileAllBlueprints -unattended -nullrhi` (`UnrealEditor-Cmd.exe` on Windows). Read the summary at the end of the log and every `Error` or `Warning` line that names your assets; don't rely on the exit code alone. 2. **Validate assets:** `UnrealEditor-Cmd <Project>.uproject -run=DataValidation -unattended`. 3. **Behavior:** if the project has functional tests or automation tests for this feature, run `UnrealEditor-Cmd <Project>.uproject -ExecCmds="Automation RunTest <Filter>;Quit" -unattended -nullrhi -ReportExportPath="<dir>"` and read the report. Otherwise ask the user to run PIE with a breakpoint (F9) on the node in question, and report whether it hit and the values in the Watch window. Print String on each branch is the quick fallback. 4. **Optional:** with Epic's `unreal-mcp` connected, compile the edited Blueprint and read its messages through the Blueprints toolset.
references pull whole asset trees in with it. Use the Reference Viewer (or Size Map) to see what loads, then switch to Interfaces, Dispatchers or soft references.
to was destroyed. Guard with `Is Valid` where the target can legitimately vanish.
pins also tick Expose on Spawn.
pile up and timers misbehave. Move gameplay init to BeginPlay.
non-Message version on the wrong type.
5.8 refuses such names for new locals, but older Blueprints keep the collision until you rename one of th
<img src="docs/assets/awesome-gamedev-agent-skills-banner.png" width="820" alt="awesome-gamedev-agent-skills — game-dev skills for AI coding agents.
Build a production behavior-tree runtime (Blackboard, action/condition leaves, sequence/selector/parallel composites, decorators)…
Implement game audio practice — bus/mixer architecture and gain in decibels, ducking (sidechain), adaptive/dynamic music via…
Build game cameras that feel good — 2D follow with a deadzone, look-ahead, smoothing, and level-bounds clamping; 3D third-person…
Plan, generate, source, normalize, and validate cohesive visual game assets. Use for art direction, style bibles, sprites,…
Build branching dialogue and narrative — a node/choice graph with conditions, variables, and localization hooks — and choose…
Design NPC and enemy decision-making with finite state machines, behavior trees, steering behaviors, and A* pathfinding —…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.