mcpField
U
unreal

unreal

github.com/randroids-dojoDevelopment4663 installsUpdated 3w ago
Repository

About unreal

A work-in-progress skill for controlling Unreal Engine 5.x through PlayUnreal-style external automation. It describes setup, Remote Control launch options, selectors, and a Python API target.

Key features

  1. 01Automate Unreal Engine 5.x externally
  2. 02Set up Remote Control and Automation Driver
  3. 03Use ID and path selectors
  4. 04Reference a PlayUnreal Python API
  5. 05Cover editor and packaged builds

Use cases

  1. 01Preparing an Unreal project for automation
  2. 02Targeting UMG widgets with automation IDs
  3. 03Launching editor or packaged builds with Remote Control

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/randroids-dojo/skills --skill unreal

After installing, type/unrealin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

.claude-plugin/
plugin.json
commands/
unreal.md
references/
automation-driver.md
playunreal.md
remote-control.md
umg-automation.md
scripts/
rc_wait_ready.py
run_e2e.py
ue_launch.py

Details

From the project README

Unreal Skill (WIP)

Automate Unreal Engine 5.x with PlayUnreal style external control.

Status: WIP. PlayUnreal repo: https://github.com/Randroids-Dojo/PlayUnreal

Quick Reference

# Launch editor with Remote Control enabled
UnrealEditor "/path/MyGame.uproject" -ExecCmds="WebControl.StartServer"

# Packaged build (enable Remote Control)
MyGame.exe -RCWebControlEnable -RCWebInterfaceEnable -ExecCmds="WebControl.StartServer"

# Wait for Remote Control and ping a PlayUnreal automation actor
python plugins/unreal/scripts/rc_wait_ready.py \
  --host 127.0.0.1 --port 30010 \
  --object-path "/Game/Maps/Main.Main:PersistentLevel.PlayUnrealDriver_1"

Setup Checklist

  • Enable Remote Control and Automation Driver plugins.
  • Add the PlayUnrealAutomation plugin to the project.
  • Place the PlayUnreal driver actor or subsystem in the map.
  • Tag key UMG widgets with automation IDs for stable selectors.
  • Keep Remote Control on LAN/VPN only.

Selector Strategy

  • id=StartButton maps to Automation Driver By::Id.
  • path=#Menu//Start/<SButton> maps to By::Path.
  • text="Start" can be implemented via custom traversal if needed.

PlayUnreal Python (target API)

from playunreal import Unreal

async with Unreal.launch(
    uproject="MyGame.uproject",
    map="/Game/Maps/MainMenu",
    remote_control=True,
) as ue:
    page = ue.page()
    await page.locator("id=StartButton").click()
    await page.locator("id=HUDRoot").wait_for_visible()
    await page.screenshot("artifacts/started.png")

Packaged Builds

  • Use -RCWebControlEnable -RCWebInterfaceEnable.
  • Ensure presets and assets are staged if using Remote Control presets.

References

  • references/remote-control.md
  • references/automation-driver.md
  • references/umg-automation.md
  • references/playunreal.md

Comments

Markdown supported