mcpField
U
unreal-blueprint-analyzer

unreal-blueprint-analyzer

github.com/demon673開発074 回インストール1 日前に更新
リポジトリ

unreal-blueprint-analyzer について

Unreal Blueprint Analyzerは、Unreal EngineプロジェクトのBlueprintバイナリーアセットを読み取り専用で分析するスキルです。開発者がアセットの手掛かりをソース、設定、ドキュメントと照合し、確認済みの根拠と推測を区別できるようにします。バイナリーは直接編集しません。

主な機能

  1. 01Blueprintアセット種別の特定
  2. 02構造化パーサーによる手掛かり抽出
  3. 03ソースや文書との照合
  4. 04根拠と推測の区別
  5. 05確度とエディター確認点の提示

活用シーン

  1. 01Blueprintの用途の調査
  2. 02ランタイム参照と契約の追跡
  3. 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 によるバイト読み取り)にフォールバックしてください。

ワークフロー

  1. アセットのパスと種類を特定します。Actor Blueprint、UI Widget、Behavior Tree Task、Data Asset、Map、または不明のいずれかです。
  2. 隣接するソース、設定ファイル、ドキュメントを探します。アセット名またはパスを、近くにある 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、設計ドキュメント、プラグインのドキュメント、ソースコメントがあれば読みます。
  3. アセットを変更せずに手がかりを抽出します。組み込みスクリプト python <skill>/scripts/extract_uasset_strings.py <asset> --json を優先してください。利用できない場合は、strings、PowerShell によるバイト読み取り、またはエディターからのエクスポートを使います。
  4. 抽出した手がかりを分類します。アセットパス、ClassPaths、親クラス、コンポーネント名、Widget 名、公開変数、関数名、イベント名、RPC 名、Blackboard キー、Data Table 名、タグ、ソケット、アニメーション名、参照先アセットが対象です。
  5. ソース、設定ファイル、ドキュメント、エディターからのエクスポートと照合して手がかりを検証します。バイナリにしか現れない文字列は弱い証拠です。ソース、設定ファイル、ドキュメント、エクスポートにも現れる手がかりは、より強い証拠です。
  6. 簡潔なレポートを作成します。静的解析では実行フローを証明できない場合は、確信度と、エディターで具体的に再確認すべき点を示します。

サンセットに関する注記

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、データ駆動型の設定などがあります。

コメント