editor.graph.getGraphs
Lists all UEdGraph objects owned by a given asset (Blueprint, Material, etc.).
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
asset_path | string | Yes | Path to the asset |
Returns:
| Name | Type | Description |
|---|---|---|
count | number | Number of graphs |
graphs | array | Each: {name, class, schema, node_count} |
asset_path | string | Asset path |
Example Request:
{ "jsonrpc": "2.0", "id": 1, "method": "editor.graph.getGraphs", "params": { "asset_path": "/Game/Blueprints/BP_Hero" } } editor.graph.getNodes
Lists all nodes in a specific graph within an asset.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
asset_path | string | Yes | Path to the asset |
graph_name | string | Yes | Name of the graph |
Returns:
| Name | Type | Description |
|---|---|---|
count | number | Number of nodes |
nodes | array | Each: {id, class, title, position: {x, y}, pin_count} |
graph_name | string | Graph name |
asset_path | string | Asset path |
Example Request:
{
"jsonrpc": "2.0", "id": 1, "method": "editor.graph.getNodes",
"params": { "asset_path": "/Game/Blueprints/BP_Hero", "graph_name": "EventGraph" }
} editor.graph.getNodeDetails
Returns detailed information about a specific node including all pins with connection data.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
asset_path | string | Yes | Path to the asset |
graph_name | string | Yes | Name of the graph |
node_id | string | Yes | Node GUID |
Returns:
| Name | Type | Description |
|---|---|---|
id | string | Node GUID |
class | string | Node class name |
title | string | Node display title |
position | object | {x, y} |
is_enabled | bool | Whether node is enabled |
comment | string | Node comment (if non-empty) |
pins | array | Pin details with name, direction, type, connections |
pin_count | number | Number of pins |
Example Request:
{
"jsonrpc": "2.0", "id": 1, "method": "editor.graph.getNodeDetails",
"params": { "asset_path": "/Game/Blueprints/BP_Hero", "graph_name": "EventGraph", "node_id": "A1B2C3D4-..." }
} editor.graph.getPinInfo
Returns detailed information about a specific pin on a node.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
asset_path | string | Yes | Path to the asset |
graph_name | string | Yes | Name of the graph |
node_id | string | Yes | Node GUID |
pin_name | string | Yes | Pin name |
Returns: All pin fields (name, direction, type, sub_type, default_value, connected_to, etc.) plus node_id, graph_name, asset_path.
Example Request:
{
"jsonrpc": "2.0", "id": 1, "method": "editor.graph.getPinInfo",
"params": { "asset_path": "/Game/Blueprints/BP_Hero", "graph_name": "EventGraph", "node_id": "A1B2...", "pin_name": "ReturnValue" }
} editor.graph.createNode
Creates a new graph node of a given UEdGraphNode subclass.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
asset_path | string | Yes | Path to the asset |
graph_name | string | Yes | Name of the graph |
node_class | string | Yes | Class name (e.g. "K2Node_CallFunction") |
position | object | No | {x, y} node position (default 0,0) |
Returns:
| Name | Type | Description |
|---|---|---|
id | string | New node GUID |
class | string | Node class name |
title | string | Node title |
position | object | {x, y} |
pins | array | Pin objects |
pin_count | number | Number of pins |
Example Request:
{
"jsonrpc": "2.0", "id": 1, "method": "editor.graph.createNode",
"params": { "asset_path": "/Game/Blueprints/BP_Hero", "graph_name": "EventGraph", "node_class": "K2Node_CallFunction", "position": { "x": 200, "y": 100 } }
} editor.graph.deleteNode
Deletes a node from a graph, breaking all links first.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
asset_path | string | Yes | Path to the asset |
graph_name | string | Yes | Name of the graph |
node_id | string | Yes | Node GUID to delete |
Returns:
| Name | Type | Description |
|---|---|---|
success | bool | Whether deletion succeeded |
node_id | string | Deleted node GUID |
Example Request:
{
"jsonrpc": "2.0", "id": 1, "method": "editor.graph.deleteNode",
"params": { "asset_path": "/Game/Blueprints/BP_Hero", "graph_name": "EventGraph", "node_id": "A1B2..." }
} editor.graph.connectPins
Creates a connection (wire) between two pins on two nodes.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
asset_path | string | Yes | Path to the asset |
graph_name | string | Yes | Name of the graph |
source_node_id | string | Yes | Source node GUID |
source_pin_name | string | Yes | Source pin name |
target_node_id | string | Yes | Target node GUID |
target_pin_name | string | Yes | Target pin name |
validate | bool | No | Check schema compatibility (default true) |
Returns:
| Name | Type | Description |
|---|---|---|
success | bool | Whether connection was made |
Example Request:
{
"jsonrpc": "2.0", "id": 1, "method": "editor.graph.connectPins",
"params": {
"asset_path": "/Game/Blueprints/BP_Hero", "graph_name": "EventGraph",
"source_node_id": "A1B2...", "source_pin_name": "then",
"target_node_id": "C3D4...", "target_pin_name": "execute"
}
} editor.graph.disconnectPins
Breaks a specific connection between two pins.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
asset_path | string | Yes | Path to the asset |
graph_name | string | Yes | Name of the graph |
source_node_id | string | Yes | Source node GUID |
source_pin_name | string | Yes | Source pin name |
target_node_id | string | Yes | Target node GUID |
target_pin_name | string | Yes | Target pin name |
Returns:
| Name | Type | Description |
|---|---|---|
success | bool | Whether disconnection succeeded |
Example Request:
{
"jsonrpc": "2.0", "id": 1, "method": "editor.graph.disconnectPins",
"params": {
"asset_path": "/Game/Blueprints/BP_Hero", "graph_name": "EventGraph",
"source_node_id": "A1B2...", "source_pin_name": "then",
"target_node_id": "C3D4...", "target_pin_name": "execute"
}
} editor.graph.disconnectAllPins
Breaks all connections on all pins of a specific node.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
asset_path | string | Yes | Path to the asset |
graph_name | string | Yes | Name of the graph |
node_id | string | Yes | Node GUID |
Returns:
| Name | Type | Description |
|---|---|---|
success | bool | Whether disconnection succeeded |
broken_link_count | number | Number of connections broken |
node_id | string | Node GUID |
Example Request:
{
"jsonrpc": "2.0", "id": 1, "method": "editor.graph.disconnectAllPins",
"params": { "asset_path": "/Game/Blueprints/BP_Hero", "graph_name": "EventGraph", "node_id": "A1B2..." }
} editor.graph.setNodePosition
Moves a graph node to a new X/Y position.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
asset_path | string | Yes | Path to the asset |
graph_name | string | Yes | Name of the graph |
node_id | string | Yes | Node GUID |
position | object | Yes | {x, y} target position |
snap_grid_size | number | No | Grid snap size (default 0 = no snap) |
Returns:
| Name | Type | Description |
|---|---|---|
success | bool | Whether position was set |
node_id | string | Node GUID |
position | object | {x, y} final position |
Example Request:
{
"jsonrpc": "2.0", "id": 1, "method": "editor.graph.setNodePosition",
"params": { "asset_path": "/Game/Blueprints/BP_Hero", "graph_name": "EventGraph", "node_id": "A1B2...", "position": { "x": 400, "y": 200 } }
} editor.graph.getSelectedNodes
Returns the currently selected nodes in an open graph editor tab.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
asset_path | string | Yes | Path to the asset |
graph_name | string | Yes | Name of the graph |
Returns:
| Name | Type | Description |
|---|---|---|
count | number | Number of selected nodes |
nodes | array | Each: {id, class, title} |
Example Request:
{
"jsonrpc": "2.0", "id": 1, "method": "editor.graph.getSelectedNodes",
"params": { "asset_path": "/Game/Blueprints/BP_Hero", "graph_name": "EventGraph" }
} editor.graph.selectNodes
Sets the selection in an open graph editor tab to the specified nodes.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
asset_path | string | Yes | Path to the asset |
graph_name | string | Yes | Name of the graph |
node_ids | array | Yes | Array of node GUIDs to select |
clear_existing | bool | No | Clear current selection first (default true) |
Returns:
| Name | Type | Description |
|---|---|---|
success | bool | Whether selection was set |
selected_count | number | Nodes actually selected |
requested_count | number | Nodes requested |
Example Request:
{
"jsonrpc": "2.0", "id": 1, "method": "editor.graph.selectNodes",
"params": { "asset_path": "/Game/Blueprints/BP_Hero", "graph_name": "EventGraph", "node_ids": ["A1B2...", "C3D4..."] }
}