PinWright
← All text formats

Blueprint graphs

BPIR
Read and write

A Blueprint event graph is stored in a binary .uasset. Normally you read it by opening the editor and following wires across the canvas. BPIR is the same graph as short, line-based text, with every node named and every branch written out. Your assistant reads it, changes the lines your request needs, and writes the result back into the Blueprint, which then compiles.

What it gives you

Diffable in version control
A graph edit becomes a few changed lines in a pull request. Reviewers can read it without opening the editor.
Reviewable like code
Control flow is explicit: named values, labeled blocks, and [pin -> @label] targets. You can see what a branch does and where it rejoins without following wires.
Easy for your assistant to write
One consistent format that your assistant learns from a few examples. It writes a whole event or function in one step, instead of placing and wiring nodes one at a time.
What carries over
Node identity and authored @(x, y) positions are kept. Comment boxes are left out. Writing the text back runs a real Blueprint compile.

What the text looks like

Named results (%name), Blueprint variables ($name), and labeled targets (@label) let you read the graph top to bottom. Branches and where they rejoin are written out:

bpir
entry event BeginPlay() {
    call PrintString(InString: "Hello")
    %valid = call IsValid(Object: $MyRef)
    %b = branch(%valid) [true -> @ok, false -> @end]

@ok:
    set Score = 100
    call DoSomething(Target: $MyRef)

@end:
    call PrintString(InString: "Done")
}

How to ask for it

Ask for the change in plain words. Your assistant reads the current graph as text, edits it, and writes it back in one step. More examples are on the Blueprints page.

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

Done. BP_Door has a new OnInteract event. It plays the Open animation
and turns off collision. The Blueprint compiled.

Coverage

BPIR covers the common Blueprint nodes and handles the rest through a generic form. Unusual composite or plugin-defined nodes may need a check after the change. For an unfamiliar pattern, ask your assistant to read an existing graph that uses it first.