unreal-blueprint-analyzer
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseUnreal Blueprint Analyzer
Unreal Blueprint 分析器
Read-only analysis of Blueprint binary assets in any Unreal Engine project. Treat , , and similar Unreal assets as binary source files; never patch them in place.
.uasset.umap对任意Unreal Engine项目中的Blueprint二进制资产进行只读分析。将、及类似Unreal资产视为二进制源文件;切勿就地修补它们。
.uasset.umapCore rules
核心规则
- Do not edit ,
.uasset,.umap, or other Unreal binary assets directly..navmesh - 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.
- 请勿直接编辑、
.uasset、.umap或其他Unreal二进制资产。.navmesh - 将已确认的事实与推断内容区分开。将证据来源标记为源码、文档、引用、二进制字符串或编辑器导出内容。
- 优先使用最可靠的可用来源:官方编辑器导出内容、Commandlets、用户提供的截图或JSON。
- 如果用户要求修改Blueprint,请提供安全的编辑器操作步骤或可脚本化的编辑器/导出流程,而非二进制补丁。
Parsing method
解析方法
Prefer structured parsers over raw string grepping:
- CUE4Parse (the .NET library behind FModel) for ,
.uasset, and.umappackage structure..pak - UAssetAPI for Blueprint Kismet bytecode and expression graphs.
- FModel as a ready-made viewer and exporter.
Fall back to (or / PowerShell byte reads) when no structured parser is available.
python <skill>/scripts/extract_uasset_strings.py <asset> --jsonstrings优先使用结构化解析器而非原始字符串匹配:
- 使用CUE4Parse(FModel背后的.NET库)分析、
.uasset和.umap包结构。.pak - 使用UAssetAPI分析Blueprint Kismet字节码和表达式图。
- 使用FModel作为现成的查看器和导出工具。
当没有可用的结构化解析器时,退而使用(或/PowerShell字节读取)。
python <skill>/scripts/extract_uasset_strings.py <asset> --jsonstringsWorkflow
工作流程
- 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,CONTEXT.md, design docs, plugin docs, or source comments if present.README.md - Extract clues without modifying the asset: prefer the built-in script ; otherwise use
python <skill>/scripts/extract_uasset_strings.py <asset> --json, PowerShell byte reads, or editor exports.strings - 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.
- 识别资产路径和类型:Actor Blueprint、UI Widget、Behavior Tree Task、Data Asset、地图或未知类型。
- 查找关联的源码、配置和文档:将资产名称或路径与附近的C++代码、Blueprint原生输出、Python/编辑器实用工具、Verse、Lua、C#、插件脚本、配置文件、数据表或项目脚本层匹配;搜索资产名称、生成的类名、父类、ClassPaths、组件名称、Widget名称、事件/函数名称、委托、RPC名称、Gameplay Tags、黑板键、输入操作、数据表格行和配置引用;若存在则阅读、
AGENTS.md、CONTEXT.md、设计文档、插件文档或源码注释。README.md - 在不修改资产的前提下提取线索:优先使用内置脚本;否则使用
python <skill>/scripts/extract_uasset_strings.py <asset> --json、PowerShell字节读取或编辑器导出内容。strings - 对提取的线索进行分类:资产路径、ClassPaths和父类;组件名称、Widget名称和暴露变量;函数、事件和RPC名称;黑板键、数据表名称、标签、插槽、动画名称和引用的资产。
- 对照源码、配置、文档和编辑器导出内容交叉验证线索。仅出现在二进制中的字符串属于弱证据;同时出现在源码、配置、文档或导出内容中的线索可信度更高。
- 撰写简短报告。当静态分析无法证明执行流程时,给出置信度和具体的编辑器复查要点。
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.
Blueprint仍是UE5正式版本中的一等创作系统,但Epic已宣布将逐步迁移至Verse(UE6抢先体验版预计2027年第四季度推出,2029年年中全面完成迁移)。请将Blueprint资产视为长期存在但非永久有效的资产;切勿将此工作流程表述为永久方案。
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.
除非用户另有指定,否则使用以下结构:
- 资产:路径、推断类型及相关的源码/配置/导出路径。
- 用途:该Blueprint最可能的功能,并标注置信度。
- 证据:分为已确认的源码/文档证据和二进制字符串推断两部分。
- 运行时约定:运行时依赖的组件名称、Widget名称、字段、黑板键、RPC、资产路径以及保存/同步字段。
- 风险/未知项:静态二进制分析无法证明的内容。
- 编辑器后续操作:需在Blueprint编辑器中复查的具体项,或安全的手动修改建议。
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 docsWhen 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 , 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.
Source/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当项目使用自定义Unreal技术栈时,请遵循该栈处理关联代码——不要预设脚本语言。例如:中的C++类、编辑器实用工具Python、UEFN项目中的Verse、Oasis/PUBG Mobile UGC项目中的Lua、UnrealCLR风格集成中的C#、插件定义的Blueprint Libraries,或数据驱动的配置文件。
Source/