About unreal-blueprint-analyzer
Unreal Blueprint Analyzer is a read-only skill for examining Blueprint binary assets in Unreal Engine projects. It helps developers trace asset clues against source, configuration, and documentation, while distinguishing confirmed evidence from inference and avoiding binary edits.
Key features
- 01Identify Blueprint asset types
- 02Extract clues with structured parsers
- 03Cross-check against source and docs
- 04Separate evidence from inference
- 05Report confidence and editor checks
Use cases
- 01Investigate a Blueprint's likely purpose
- 02Trace runtime references and contracts
- 03Assess uncertainty in static analysis
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ demon673/ demon-agent-skill --skill unreal-blueprint-analyzerAfter installing, type/unreal-blueprint-analyzerin Claude Code to confirm it loaded.
Bundled filesagents/openai.yamlscripts/extract_uasset_strings.py
Details
From the project READMEUnreal 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.pakpackage 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
- Identify the asset path and type: Actor Blueprint, UI Widget, Behavior Tree Task, Data Asset, Map, or unknown.
- 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,GLOSSARY.md,README.md, design docs, plugin docs, or source comments if present. - Extract clues without modifying the asset: prefer the built-in script
python <skill>/scripts/extract_uasset_strings.py <asset> --json; otherwise usestrings, PowerShell byte reads, or editor exports. - 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.
- 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.
- 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
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.