编程

unreal-plugin

通过 MCP 客户端驱动正在运行的 Unreal Engine 编辑器,管理关卡、Actor、PIE 与控制台命令。

它能做什么

通过本地 27184 端口的嵌入式 MCP 桥接服务,以及向 OpenClaw Gateway 发起 HTTP 轮询的连接方式,控制在跑的 UE 编辑器;两种模式可同时运行。工具覆盖关卡打开/保存、Actor 创建/删除与属性编辑、基于 UE 反射的位置/旋转/缩放读写、PIE 启动/暂停/停止、视口截图、项目日志读取、键鼠模拟输入,以及控制台命令执行。插件默认开启 disableModelInvocation: true,并根据安全说明,要求在删除 Actor、保存关卡、执行控制台命令或模拟输入等破坏性操作前获得用户确认。

什么时候用它

  • 在关卡中放置并整理基本体、灯光、相机等 Actor
  • 迭代调试过程中读取与修改 Actor 的位置、旋转、缩放
  • 从 MCP 客户端启动、暂停或停止 PIE
  • 截取编辑器视口截图并读取项目日志辅助调试

技能文档

OpenClaw Unreal Plugin

MCP skill for controlling Unreal Engine Editor via OpenClaw.

Connection Modes

Mode A: OpenClaw Gateway (Remote)

The plugin connects to OpenClaw Gateway via HTTP polling. Works automatically when Gateway is running.

Mode B: MCP Direct (Claude Code / Cursor)

The plugin runs an embedded HTTP server on port 27184. Use the included MCP bridge:

# Claude Code
claude mcp add unreal -- node /path/to/Plugins/OpenClaw/MCP~/index.js

# Cursor — add to .cursor/mcp.json
{"mcpServers":{"unreal":{"command":"node","args":["/path/to/Plugins/OpenClaw/MCP~/index.js"]}}}

Both modes run simultaneously.

Editor Panel

Window → OpenClaw Unreal Plugin — opens a dockable tab with:

  • Connection status indicator
  • MCP server info (address, protocol)
  • Connect / Disconnect buttons
  • Live log of tool calls and messages

Tools

Level

  • level.getCurrent — current level name
  • level.list — all levels in project
  • level.open — open level by name
  • level.save — save current level

Actor

  • actor.find — find by name/class
  • actor.getAll — list all actors
  • actor.create — create actors: StaticMeshActor (Cube, Sphere, Cylinder, Cone), PointLight, Camera
  • actor.delete — delete by name
  • actor.getData — detailed actor info
  • actor.setProperty — set properties via UE reflection system

Transform

  • transform.getPosition / transform.setPosition
  • transform.getRotation / transform.setRotation
  • transform.getScale / transform.setScale

Transform tools require a valid RootComponent (works on StaticMeshActor, PointLight, etc. — not on bare Actor).

Component

  • component.get — get component data
  • component.add — add component (not yet implemented)
  • component.remove — remove component (not yet implemented)

Editor

  • editor.play — start PIE (uses RequestPlaySession)
  • editor.stop — stop PIE
  • editor.pause / editor.resume — pause/resume PIE
  • editor.getState — current editor state

Debug

  • debug.hierarchy — actor hierarchy tree
  • debug.screenshot — capture editor viewport
  • debug.log — write to output log

Input

  • input.simulateKey — simulate key press
  • input.simulateMouse — simulate mouse
  • input.simulateAxis — simulate axis

Asset

  • asset.list — list assets at path
  • asset.import — import asset (not yet implemented)

Console

  • console.execute — run console command
  • console.getLogs — read project log file; params: count (number of lines), filter (text filter)

Blueprint

  • blueprint.list — list blueprints
  • blueprint.open — open blueprint (not yet implemented)

Troubleshooting

Stale binaries / plugin not loading

Clear the build cache and restart the editor:

rm -rf YourProject/Plugins/OpenClaw/Binaries YourProject/Plugins/OpenClaw/Intermediate

Connection issues

  • Ensure OpenClaw Gateway is running: openclaw gateway status
  • Check the Editor Panel log for errors
  • Verify the MCP port is not blocked by firewall

Security & Privacy Disclosure

This skill drives a live Unreal Editor. Full disclosure of capabilities and current limitations:

  • Local HTTP server hardening (plugin v1.3.1+): the embedded server (port 27184) rejects browser-originated requests (any Origin header → 403) and supports optional shared-secret auth — set OPENCLAW_BRIDGE_TOKEN for both the Unreal Editor process and the MCP client to require X-OpenClaw-Token on every request. Without the token set, keep the port on trusted machines only — any local process can send editor commands.
  • Destructive operations — confirm with the user before: deleting actors, saving levels, importing assets, running console commands (console.execute), and simulating keyboard/mouse input. None of these should run implicitly from a vague request.
  • Data visibility: debug.screenshot and console.getLogs can capture whatever is on screen or in project logs — including credentials, tokens, or source paths if present. Review before sharing captures outside the machine.
  • Trigger scope: routine-sounding requests ("clean up the level", "save everything", "just run it") map to state-changing Editor operations — confirm once before the first state-changing call in a session.
  • Safety defaults: disableModelInvocation: true is set — the model cannot auto-invoke this skill; it runs only on explicit user request. Keep the project under source control before automation sessions. The Korean SKILL_KO.md states the same recommendation; if the two ever disagree, this file governs.

License

Apache-2.0 — See LICENSE.md

相关技能

通过 30 个内置工具驱动 Godot 4.x 编辑器,覆盖场景、节点、变换、输入模拟、截图和日志。

114 次安装

通过约 100 个工具控制 Unity 编辑器,覆盖场景、GameObject、输入模拟与 C# 代码执行。

116 次安装3 星标

按命令族和 profile 选择合适的 OpenClaw CLI 命令,并校验执行结果。

334 次安装6 星标

集成公告源监控、签名校验与风险技能处置的 ClawSec 套装管理入口。

357 次安装8 星标

用一条 CLI 命令管理 Nextcloud 的笔记、任务、日历、文件、联系人和 Deck 看板。

187 次安装9 星标