unreal-blueprint-analyzer
Explains what Unreal Engine Blueprints do so you understand game logic without reading code.
Installation
Paste this into Claude Code, Cursor, or any agent that can run commands.
SKILL.mdShow the author's original SKILL.md
--- name: unreal-blueprint-analyzer description: Read-only analysis of Unreal Engine Blueprint assets. Use when the user asks to explain what a Blueprint or Blueprint-related asset does, working from structured parsers, binary strings, editor exports, and adjacent source. --- # Unreal Blueprint Analyzer Read-only analysis of Blueprint binary assets in any Unreal Engine project. Treat `.uasset`, `.umap`, and similar Unreal assets as binary source files; never patch them in place. ## Core rules - Do not edit `.uasset`, `.umap`, `.navmesh`, or other Unreal binary assets directly. - Separate confirmed fact from inference. Label evidence sources as source, docs, references, binary strings, or editor exports. - Prefer the most reliable source available: official editor exports, Commandlets, user-provided screenshots, or JSON. - If the user asks to modify a Blueprint, give safe editor steps or a scriptable editor/export pipeline, not a binary patch. ## Parsing method Prefer structured parsers over raw string grepping: - CUE4Parse (the .NET library behind FModel) for `.uasset`, `.umap`, and `.pak` package structure. - UAssetAPI for Blueprint Kismet bytecode and expression graphs. - FModel as a ready-made viewer and exporter. Fall back to `python <skill>/scripts/extract_uasset_strings.py <asset> --json` (or `strings` / PowerShell byte reads) when no structured parser is available. ## Workflow 1. Identify the asset path and type: Actor Blueprint, UI Widget, Behavior Tree Task, Data Asset, Map, or unknown. 2. Find adjacent source, config, and docs: match the asset name or path to nearby C++, Blueprint nativization output, Python/Editor Utility, Verse, Lua, C#, plugin scripts, config files, data tables, or project scripting layers; search asset names, generated class names, parent classes, ClassPaths, component names, Widget names, event/function names, Delegates, RPC names, Gameplay Tags, Blackboard keys, Input Actions, Data Table rows, and config references; read `AGENTS.md`, `CONTEXT.md`, `README.md`, design docs, plugin docs, or source comments if present. 3. Extract clues without modifying the asset: prefer the built-in script `python <skill>/scripts/extract_uasset_strings.py <asset> --json`; otherwise use `strings`, PowerShell byte reads, or editor exports. 4. Classify the extracted clues: asset paths, ClassPaths, and parent classes; component names, Widget names, and exposed variables; function, event, and RPC names; Blackboard keys, Data Table names, tags, sockets, animation names, and referenced assets. 5. Cross-validate clues against source, config, docs, and editor exports. Strings that appear only in the binary are weak evidence; clues that also appear in source, config, docs, or exports are stronger. 6. Write a short report. When static analysis cannot prove execution flow, give a confidence level and concrete editor re-check points. ## Sunset note Blueprint is still a first-class authoring system in shipping UE5, but Epic has announced a gradual migration to Verse (UE6 early access expected Q4 2027, full by mid-2029). Treat Blueprint assets as long-lived but not evergreen; do not present this workflow as permanent. ## Output format Unless the user specifies otherwise, use this structure: - Asset: path, inferred type, and related source/config/export paths. - Purpose: what the Blueprint most likely does, with a confidence level. - Evidence: grouped into confirmed source/doc evidence and binary-string inference. - Runtime contracts: component names, Widget names, fields, Blackboard keys, RPCs, asset paths, and save/sync fields the runtime depends on. - Risks / Unknowns: what static binary analysis cannot prove. - Editor follow-up: specific items to re-check in the Blueprint editor, or safe manual changes. ## Local command examples ```powershell python .\scripts\extract_uasset_strings.py <path-to-asset>.uasset --json rg "BP_Door|Door_C|OpenDoor|Interact|BeginOverlap" Source Content Config Plugins docs ``` When a project uses a custom Unreal tech stack, follow that stack for adjacent code — do not presume a scripting language. For example: C++ classes in `Source/`, Editor Utility Python, Verse in UEFN projects, Lua in Oasis/PUBG Mobile UGC projects, C# in UnrealCLR-style integrations, plugin-defined Blueprint Libraries, or data-driven config.
Ships with 2 supporting files:
- agents/openai.yaml
- scripts/extract_uasset_strings.py
Mirrored from the author's public source. Install counts from the open skills registry.