ue5-editor-control について
ue5-editor-controlは、UE5AIAssistantプラグインのローカルHTTP APIを通じてUE5プロジェクトを操作するスキルです。Actor、Blueprint、マテリアル、アニメーション、アセットなどの編集に対応し、タスク別のリファレンスを備えています。
主な機能
- 01HTTP API経由でUE5エディターを操作
- 02Actor、Blueprint、マテリアルの管理
- 03アニメーションBlueprintとステートマシンの作成
- 04アセットとプロジェクト設定の確認・変更
- 05プラグインの導入と接続を確認
活用シーン
- 01レベル内のActorの検索・生成・変換
- 02Blueprintロジックの構築とコンパイル
- 03マテリアルの作成とActorへの適用
- 04アニメーションBlueprintとアセットの管理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ chacelow/ ue5-editor-control --skill ue5-editor-controlインストール後、Claude Code で/ue5-editor-controlを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/actor.mdanimation.mdblueprint.mdinput-character.mdmaterial.mdproperty.mdscripts/install.shue5cmd.sh詳細
UE5 Editor Control
UE5 エディター用の HTTP API です。プラグイン UE5AIAssistant は localhost:58080 で動作します。
自動セットアップフロー(初回使用時に必ず実行)
このスキルを使用する必要があるときは、毎回ここから開始してください。
ステップ 1:プラグインがすでに実行中か確認する
curl -s --max-time 3 http://localhost:58080/api/ping
- 応答に
"success": trueが含まれている場合 → 以下のクイックスタートに進みます - 接続拒否/タイムアウトの場合 → プラグインは実行されていません。ステップ 2 に進みます
ステップ 2:ユーザーの UE5 プロジェクトを探す
ユーザーに尋ねます:「UE5 プロジェクトのパスは何ですか?」
または、自動検出します(.uproject ファイルを検索します)。
# macOS common locations
find ~/Documents ~/Desktop ~/Projects ~/codeprojects -maxdepth 3 -name "*.uproject" 2>/dev/null
後で使えるよう、プロジェクトのパスを保存します。
ステップ 3:プロジェクトにプラグインがインストールされているか確認する
# Check if plugin exists in the UE5 project
test -f "<UE5_PROJECT_PATH>/Plugins/UE5AIAssistant/UE5AIAssistant.uplugin" && echo "INSTALLED" || echo "NOT INSTALLED"
INSTALLEDの場合 → ユーザーに伝えます:「プラグインはインストール済みです。UE5 エディターを開いて、私に知らせてください」NOT INSTALLEDの場合 → ステップ 4 に進みます
ステップ 4:プラグインをインストールする
オプション A — ビルド済みバイナリをダウンロードする(推奨、C++ 不要):
bash scripts/install.sh "<UE5_PROJECT_PATH>"
失敗した場合(まだリリースが公開されていない場合)は、オプション B に進みます。
オプション B — ソースコードをコピーする(UE5 の C++ コンパイルが必要):
このスキルの GitHub リポジトリには C++ ソースが含まれています。クローンしてコピーします。
# Clone the repo (if not already available)
git clone https://github.com/1103837067/ue5-editor-control.git /tmp/ue5-editor-control
# Copy plugin source to UE5 project
mkdir -p "<UE5_PROJECT_PATH>/Plugins/UE5AIAssistant"
cp -r /tmp/ue5-editor-control/Source "<UE5_PROJECT_PATH>/Plugins/UE5AIAssistant/"
cp /tmp/ue5-editor-control/UE5AIAssistant.uplugin "<UE5_PROJECT_PATH>/Plugins/UE5AIAssistant/"
次にユーザーに伝えます:「プラグインをプロジェクトにコピーしました。UE5 エディターを開くと、プラグインが自動的にコンパイルされます。開いたら私に知らせてください。」
ステップ 5:接続を確認する
curl -s --max-time 3 http://localhost:58080/api/ping
それでも失敗する場合は、次の点を確認するようユーザーに伝えます。
- UE5 エディターが正しいプロジェクトで開いていること
- Output Log に「UE5AIAssistant: HTTP server started on port 58080」と表示されていること
- プラグインが有効になっていること:Edit → Plugins → 「UE5AIAssistant」を検索
前提条件の概要
| 要件 | 詳細 |
|---|---|
| UE5 | 5.4 以降がインストールされ、プロジェクトが作成済みであること |
| OS | macOS / Windows / Linux |
| curl | macOS / Linux ではプリインストール済み。Windows では Git Bash が必要 |
| UE5 エディター | プラグインを有効にした状態で実行していること |
| C++(オプション B のみ) | お使いのプラットフォーム向けのビルド済みバイナリがない場合のみ必要 |
クイックスタート
# Execute command (preferred for complex JSON)
curl -s -X POST -H "Content-Type: application/json" \
-d '{"command":"get_actors_in_level","args":{}}' \
http://localhost:58080/api/execute
# Simple commands via helper
bash scripts/ue5cmd.sh exec get_actors_in_level '{}'
応答:{ "success": true|false, "data": {...}|null, "error": "..."|null }
よくある間違い — しないでください
- ノードを 1 つずつ追加しないでください — 必ず
batch_executeを使用してください - C++ 関数名を推測しないでください — まず
list_functionsを使用してください - ピン名をハードコードしないでください — 応答の
pins配列から読み取ってください - 編集後に
compile_blueprintを実行し忘れないでください - 複雑な JSON に
ue5cmd.shを使用しないでください —curlを直接使用してください
タスクルーター — 適切なモジュールを読む
ユーザーのタスクに応じて、詳細なコマンド、パラメーター、ワークフローが記載された関連モジュールファイルのみを読みます。
| ユーザーの目的... | 読むファイル |
|---|---|
| アクターを操作する(スポーン、削除、トランスフォーム、プロパティ) | references/actor.md |
| ブループリントの構造とロジックを構築する(BP の作成、変数、関数、ノード、batch_execute) | references/blueprint.md |
| マテリアルを作成する(式、接続、適用) | references/material.md |
| アニメーションブループリントを構築する(ステートマシン、ステート、遷移) | references/animation.md |
| リフレクションを使って任意のプロパティにアクセスし、アセットを管理する(作成/読み取り/書き込み) | references/property.md |
| Enhanced Inputをセットアップし、キャラクターの移動を設定して、エンドツーエンドのキャラクターを構築する | references/input-character.md |
ルール:
- 現在のタスクに必要なモジュールのみを読みます — すべてのファイルを読まないでください
- どのモジュールを読むべきか不明な場合は、上の表を確認するか、ユーザーの意図を読み取ってください
- 複数のタスクには複数のモジュールが必要になる場合があります(例:キャラクター = blueprint + input-character)
65 個のコマンド一覧(概要をすばやく確認するためのものです)
| カテゴリ | コマンド | 数 |
|---|---|---|
| アクター | get_actors_in_level, find_actors_by_name, get_selected_actors, spawn_actor, delete_actor, set_actor_transform, get_actor_properties, set_actor_property, attach_actor, detach_actor | 10 |
| ブループリント構造 | create_blueprint, compile_blueprint, read_blueprint_content, create_variable, add_component_to_blueprint, create_function, add_function_parameter, create_event_dispatcher, create_blueprint_interface, implement_interface, add_widget_child | 11 |
| ブループリント検索 | list_node_types, list_blueprint_classes, list_functions | 3 |
| ブループリントノード | add_node, connect_nodes, remove_node, get_node_pins, set_pin_default, batch_execute, add_pin, auto_layout_graph | 8 |
| マテリアル | create_material, add_material_expression, connect_material_expressions, apply_material_to_actor, get_available_materials | 5 |
| アセット | search_assets, get_assets_by_class, get_asset_details | 3 |
| エディター | focus_viewport, get_current_level_info, save_all, get_project_settings, set_project_setting, get_world_settings, set_world_setting | 7 |
| アニメーション | create_anim_blueprint, get_anim_blueprint_info, add_anim_state_machine, add_anim_state, add_anim_transition, set_anim_state_animation, compile_anim_blueprint | 7 |
| 汎用リフレクション | list_components, list_properties, get_component_property, set_component_property, create_asset, get_asset_property, set_asset_property, call_function, get_object, modify_array_property, execute_python | 11 |
エラーのクイックリファレンス
| エラーパターン | 解決方法 |
|---|---|
"not found" | 検索コマンド(find_actors_by_name、search_assets、list_functions、list_node_types、list_properties)を使用します |
"Pin 'xxx' not found" | エラーレスポンスに利用可能なピンがすべて表示されます。正しい名前を使用してください |
compile_blueprint の診断情報 | references/blueprint.md のエラー処理のセクションを参照してください |