mcpField
U
ue5-editor-control

ue5-editor-control

github.com/chacelowDevelopment483 installsUpdated 37w ago
Repository

About ue5-editor-control

ue5-editor-control is a skill for automating UE5 projects through the local HTTP API provided by the UE5AIAssistant plugin. It covers editor tasks across actors, Blueprints, materials, animation, and assets, with task-specific reference modules.

Key features

  1. 01Control the UE5 editor through an HTTP API
  2. 02Manage actors, Blueprints, and materials
  3. 03Create animation Blueprints and state machines
  4. 04Inspect and modify assets and project properties
  5. 05Check plugin installation and connectivity

Use cases

  1. 01Find, spawn, or transform actors in a level
  2. 02Build and compile Blueprint logic
  3. 03Create materials and apply them to actors
  4. 04Manage animation Blueprints and project assets

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/chacelow/ue5-editor-control --skill ue5-editor-control

After installing, type/ue5-editor-controlin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
actor.md
animation.md
blueprint.md
input-character.md
material.md
property.md
scripts/
install.sh
ue5cmd.sh

Details

From the project README

UE5 Editor Control

HTTP API for the UE5 editor. Plugin UE5AIAssistant runs on localhost:58080.

Auto-Setup Flow (MUST follow on first use)

Every time you need to use this skill, start here:

Step 1: Check if plugin is already running
curl -s --max-time 3 http://localhost:58080/api/ping
  • If response contains "success": true → Skip to Quick Start below
  • If connection refused / timeout → Plugin not running, continue to Step 2
Step 2: Find user's UE5 project

Ask the user: "你的 UE5 项目路径是什么?"

Or auto-detect (look for .uproject files):

# macOS common locations
find ~/Documents ~/Desktop ~/Projects ~/codeprojects -maxdepth 3 -name "*.uproject" 2>/dev/null

Save the project path for later use.

Step 3: Check if plugin is installed in the project
# Check if plugin exists in the UE5 project
test -f "<UE5_PROJECT_PATH>/Plugins/UE5AIAssistant/UE5AIAssistant.uplugin" && echo "INSTALLED" || echo "NOT INSTALLED"
  • If INSTALLED → Tell user: "插件已安装,请打开 UE5 编辑器然后告诉我"
  • If NOT INSTALLED → Continue to Step 4
Step 4: Install the plugin

Option A — Download prebuilt binary (recommended, no C++ required):

bash scripts/install.sh "<UE5_PROJECT_PATH>"

If this fails (no releases published yet), fall back to Option B.

Option B — Copy source code (requires UE5 C++ compilation):

The skill's GitHub repo contains the C++ source. Clone and copy:

# 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/"

Then tell user: "插件已复制到项目中。请打开 UE5 编辑器,它会自动编译插件。打开后告诉我。"

Step 5: Verify connection
curl -s --max-time 3 http://localhost:58080/api/ping

If still failing, tell user to check:

  • UE5 editor is open with the correct project
  • Check Output Log for "UE5AIAssistant: HTTP server started on port 58080"
  • Plugin is enabled: Edit → Plugins → search "UE5AIAssistant"

Prerequisites Summary

RequirementDetail
UE55.4+ installed and project created
OSmacOS / Windows / Linux
curlPre-installed on macOS/Linux; Git Bash on Windows
UE5 EditorMust be running with plugin enabled
C++ (Option B only)Only if no prebuilt binary available for your platform

Quick Start

# 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 '{}'

Response: { "success": true|false, "data": {...}|null, "error": "..."|null }

Common Mistakes — Do NOT

  • Do NOT add nodes one-by-one — always use batch_execute
  • Do NOT guess C++ function names — use list_functions first
  • Do NOT hardcode pin names — read them from response pins array
  • Do NOT skip compile_blueprint after editing
  • Do NOT use ue5cmd.sh for complex JSON — use curl directly

Task Router — Read the Right Module

Based on the user's task, read only the relevant module file for detailed commands, parameters, and workflows:

User wants to...Read this file
Work with actors (spawn, delete, transform, properties)references/actor.md
Build blueprint structure & logic (create BP, variables, functions, nodes, batch_execute)references/blueprint.md
Create materials (expressions, connections, apply)references/material.md
Build animation blueprints (state machines, states, transitions)references/animation.md
Access any property via reflection, manage assets (create/read/write)references/property.md
Set up Enhanced Input, configure character movement, build end-to-end charactersreferences/input-character.md

Rules:

  1. Read only the module(s) needed for the current task — do NOT read all files
  2. If unsure which module, check the table above or read the user's intent
  3. Multiple tasks may require multiple modules (e.g., character = blueprint + input-character)

65 Commands Overview (for quick orientation only)

CategoryCommandsCount
Actorget_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_actor10
Blueprint Structurecreate_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_child11
Blueprint Discoverylist_node_types, list_blueprint_classes, list_functions3
Blueprint Nodesadd_node, connect_nodes, remove_node, get_node_pins, set_pin_default, batch_execute, add_pin, auto_layout_graph8
Materialcreate_material, add_material_expression, connect_material_expressions, apply_material_to_actor, get_available_materials5
Assetsearch_assets, get_assets_by_class, get_asset_details3
Editorfocus_viewport, get_current_level_info, save_all, get_project_settings, set_project_setting, get_world_settings, set_world_setting7
Animationcreate_anim_blueprint, get_anim_blueprint_info, add_anim_state_machine, add_anim_state, add_anim_transition, set_anim_state_animation, compile_anim_blueprint7
Generic Reflectionlist_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_python11

Error Quick Reference

Error patternFix
"not found"Use discovery commands (find_actors_by_name, search_assets, list_functions, list_node_types, list_properties)
"Pin 'xxx' not found"Error response lists all available pins — use the correct name
compile_blueprint diagnosticsRead references/blueprint.md error handling section

Comments

Markdown supported