🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Unreal Skill

by @tomleelive

Control and automate Unreal Editor tasks via OpenClaw AI using HTTP endpoints for level, actor, transform, component, editor, debug, input, asset, console, a...

TERMINAL
clawhub install openclaw-unreal-skill

πŸ“– About This Skill

OpenClaw Unreal Plugin

version: 1.0.0

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
  • πŸ“‹ Tips & Best Practices

    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