Quickstart

Once your agent is connected, you do not run anything by hand. You describe what you want in plain language, and the assistant does it in the editor.

1. Make sure your agent is connected

The most common snag is the agent not reaching the server. Check, in order:

Launched the agent before the editor? Some agents (Claude among them) only check the connection at startup, so they will not pick up the server if Unreal was not running yet. Once the editor is up, run /mcp in the agent and connect to pinwright. More in Troubleshooting.

2. Ask for something

Just talk to your assistant. It works out which operations to run, reads the current state as text, and writes the change back. Here it edits a Blueprint graph through the text IR (simplified):

You: In BP_Door, add an OnInteract event that plays Open and disables collision.

  call("blueprint.decompile_bpir", {path:"/Game/BP_Door"})
    → {bpir:"event BeginPlay() { ... }"}
  call("blueprint.compile_bpir", {path:"/Game/BP_Door",
        bpir:"event OnInteract() { PlayAnim('Open'); SetCollision(false) }"})
    → {ok:true, compiled:true}

Done. OnInteract added: plays Open, disables collision.

And here it edits a widget by reading its tree as XML first:

You: In the pause menu, rename Resume to Continue and make it green.

  call("widget.export_xml", {path:"/Game/WBP_PauseMenu"})
    → "<Button name='Resume'> ... </Button>"
  call("widget.rename", {path:"/Game/WBP_PauseMenu", from:"Resume", to:"Continue"})
    → {ok:true}
  call("widget.set_style", {path:"/Game/WBP_PauseMenu", target:"Continue", color:"#3fb950"})
    → {ok:true}

Done. Renamed to Continue and recolored green.

Other things you might ask:

3. Review and keep it

The assistant makes real changes in your editor. Look at what it did, keep what works, and roll back the rest with your version control. You stay in control.

Next: Concepts →