Coding

unreal-plugin

Control Unreal Editor levels, actors, PIE sessions, input, console commands, screenshots, and logs.

What it does

Controls a live Unreal Engine Editor through a remote gateway or the included MCP bridge on port 27184. It can inspect and modify levels, actors, reflected properties, and transforms; control PIE; simulate input; execute console commands; and capture viewport screenshots or project logs. State-changing and data-capturing operations require care in trusted local projects.

When to use it

  • Managing levels and actors
  • Automating PIE test sessions
  • Inspecting screenshots and project logs
  • Running console commands and input tests

The skill document

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

Questions people ask

How does it connect to Unreal Engine Editor?
It supports an OpenClaw Gateway mode using HTTP polling and a direct MCP mode through an embedded HTTP server on port 27184. The direct mode uses the included Node.js MCP bridge for clients such as Claude Code or Cursor, and both modes can run simultaneously.
Which editor operations are supported?
It can list, open, and save levels; find, create, delete, and inspect actors; change reflected properties and transforms; control PIE; simulate keyboard, mouse, and axis input; execute console commands; and retrieve screenshots or logs.
What limitations and safety checks should I know about?
Adding or removing components, importing assets, and opening blueprints are not implemented. Confirm before deleting actors, saving levels, running console commands, or simulating input, and review screenshots and logs for sensitive data before sharing.

Related skills

Control Godot 4.x scenes, nodes, playback, input, logs, and screenshots from an agent.

114 installs

Control and debug Unity Editor scenes, objects, input, assets, tests, and Play mode from an agent.

116 installs3 stars

Monitor signed advisories, match affected installed skills, and gate risky installs or removals on approval.

357 installs8 stars

Manage Nextcloud notes, tasks, calendars, files, contacts, shares, and Deck boards from one JSON CLI.

187 installs9 stars

Install, switch, validate, export, restore, and publish Soul Spec personas from the CLI.

50 installs