unreal-blueprint-analyzer について
Unreal Blueprint Analyzerは、Unreal EngineプロジェクトのBlueprintバイナリーアセットを読み取り専用で分析するスキルです。開発者がアセットの手掛かりをソース、設定、ドキュメントと照合し、確認済みの根拠と推測を区別できるようにします。バイナリーは直接編集しません。
主な機能
- 01Blueprintアセット種別の特定
- 02構造化パーサーによる手掛かり抽出
- 03ソースや文書との照合
- 04根拠と推測の区別
- 05確度とエディター確認点の提示
活用シーン
- 01Blueprintの用途の調査
- 02ランタイム参照と契約の追跡
- 03静的分析の不確実性の評価
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ demon673/ demon-agent-skill --skill unreal-blueprint-analyzerインストール後、Claude Code で/unreal-blueprint-analyzerを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yamlscripts/extract_uasset_strings.py
詳細
Unreal Blueprint Analyzer
あらゆる Unreal Engine プロジェクトの Blueprint バイナリアセットを読み取り専用で分析します。.uasset、.umap などの Unreal アセットはバイナリソースファイルとして扱い、直接編集しないでください。
基本ルール
.uasset、.umap、.navmesh、その他の Unreal バイナリアセットを直接編集しないでください。- 確認済みの事実と推測を分けてください。証拠の情報源には、ソース、ドキュメント、参照情報、バイナリ文字列、エディターからのエクスポートのいずれかを明記してください。
- 利用可能な中で最も信頼性の高い情報源を優先してください。公式エディターからのエクスポート、Commandlet、ユーザー提供のスクリーンショット、JSON などが該当します。
- ユーザーが Blueprint の変更を求めた場合は、安全なエディターでの手順、またはスクリプト可能なエディター/エクスポートのパイプラインを提示し、バイナリパッチは提示しないでください。
解析方法
生の文字列検索より、構造化パーサーを優先してください。
- CUE4Parse(FModel が内部で使用する .NET ライブラリ)。
.uasset、.umap、.pakのパッケージ構造に使用します。 - UAssetAPI。Blueprint の Kismet バイトコードと式グラフに使用します。
- FModel。すぐに使えるビューアー兼エクスポーターです。
構造化パーサーが利用できない場合は、python <skill>/scripts/extract_uasset_strings.py <asset> --json(または strings/PowerShell によるバイト読み取り)にフォールバックしてください。
ワークフロー
- アセットのパスと種類を特定します。Actor Blueprint、UI Widget、Behavior Tree Task、Data Asset、Map、または不明のいずれかです。
- 隣接するソース、設定ファイル、ドキュメントを探します。アセット名またはパスを、近くにある C++、Blueprint のネイティブ化出力、Python/Editor Utility、Verse、Lua、C#、プラグインスクリプト、設定ファイル、データテーブル、またはプロジェクトのスクリプトレイヤーと照合します。アセット名、生成クラス名、親クラス、ClassPaths、コンポーネント名、Widget 名、イベント/関数名、Delegate、RPC 名、Gameplay Tag、Blackboard キー、Input Action、Data Table の行、設定参照を検索します。
AGENTS.md、GLOSSARY.md、README.md、設計ドキュメント、プラグインのドキュメント、ソースコメントがあれば読みます。 - アセットを変更せずに手がかりを抽出します。組み込みスクリプト
python <skill>/scripts/extract_uasset_strings.py <asset> --jsonを優先してください。利用できない場合は、strings、PowerShell によるバイト読み取り、またはエディターからのエクスポートを使います。 - 抽出した手がかりを分類します。アセットパス、ClassPaths、親クラス、コンポーネント名、Widget 名、公開変数、関数名、イベント名、RPC 名、Blackboard キー、Data Table 名、タグ、ソケット、アニメーション名、参照先アセットが対象です。
- ソース、設定ファイル、ドキュメント、エディターからのエクスポートと照合して手がかりを検証します。バイナリにしか現れない文字列は弱い証拠です。ソース、設定ファイル、ドキュメント、エクスポートにも現れる手がかりは、より強い証拠です。
- 簡潔なレポートを作成します。静的解析では実行フローを証明できない場合は、確信度と、エディターで具体的に再確認すべき点を示します。
サンセットに関する注記
Blueprint は、リリース版 UE5 で現在も主要なオーサリングシステムですが、Epic は Verse への段階的な移行を発表しています(UE6 の早期アクセスは 2027 年第 4 四半期、正式版は 2029 年半ばまでに提供される予定です)。Blueprint アセットは長く使われるものの、将来にわたって使い続けられるとは限りません。このワークフローを恒久的なものとして提示しないでください。
出力形式
ユーザーから別途指定がない限り、次の構成を使用します。
- Asset:パス、推定される種類、関連するソース/設定/エクスポートのパス。
- Purpose:Blueprint が何をする可能性が高いかと、その確信度。
- Evidence:確認済みのソース/ドキュメント上の証拠と、バイナリ文字列からの推測に分けて記載します。
- Runtime contracts:ランタイムが依存するコンポーネント名、Widget 名、フィールド、Blackboard キー、RPC、アセットパス、保存/同期フィールド。
- Risks / Unknowns:静的なバイナリ解析では証明できないこと。
- Editor follow-up:Blueprint エディターで具体的に再確認すべき項目、または安全な手動変更。
ローカルコマンドの例
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 技術スタックを使用している場合、関連コードにはそのスタックを使用してください。スクリプト言語を決めつけないでください。たとえば、Source/ の C++ クラス、Editor Utility Python、UEFN プロジェクトの Verse、Oasis/PUBG Mobile UGC プロジェクトの Lua、UnrealCLR 形式の統合における C#、プラグインで定義された Blueprint Library、データ駆動型の設定などがあります。