Skip to content

PCGToolset.PCGToolset

Toolset for building and modifying PCG graphs

30 tool(s).

PCGToolset.PCGToolset.AddCommentBox

Adds a comment box around the given nodes. Note: If the bounding box of the nodes include other nodes, they will be included in the comment.

Input schema

{
  "properties": {
    "color": {
      "default": {
        "a": 1,
        "b": 1,
        "g": 1,
        "r": 1
      },
      "description": "The color of the comment box. Defaults to White",
      "properties": {
        "a": {
          "minimum": 0,
          "type": "number"
        },
        "b": {
          "minimum": 0,
          "type": "number"
        },
        "g": {
          "minimum": 0,
          "type": "number"
        },
        "r": {
          "minimum": 0,
          "type": "number"
        }
      },
      "required": [
        "r",
        "g",
        "b",
        "a"
      ],
      "title": "LinearColor",
      "type": "object"
    },
    "comment": {
      "default": "/**\n\t * Adds a comment box around the given nodes. \n\t *  Note: If the bounding box of the nodes include other nodes, they will be included in the comment.\n\t *\n\t * @param Graph - Graph to add comment to.\n\t * @param Nodes - The list of nodes to include in the comment box.\n\t * @param Comment - The comment to put on the comment box.\n\t * @param Color - The color of the comment box. Defaults to White\n\t * @return The unique id of the comment node. (Can be used to edit/remove the comment)\n\t */",
      "description": "The comment to put on the comment box.",
      "type": "string"
    },
    "graph": {
      "description": "Graph to add comment to.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGGraph",
      "type": "object"
    },
    "nodes": {
      "description": "The list of nodes to include in the comment box.",
      "items": {
        "properties": {
          "refPath": {
            "description": "The reference stored as a soft path string.",
            "type": "string"
          }
        },
        "required": [
          "refPath"
        ],
        "title": "/Script/PCG.PCGNode",
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "graph",
    "nodes"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "The unique id of the comment node. (Can be used to edit/remove the comment)",
      "type": "string"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

PCGToolset.PCGToolset.AddNode

Adds a native node to the graph.

Input schema

{
  "properties": {
    "graph": {
      "description": "Graph to modify.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGGraph",
      "type": "object"
    },
    "jsonParams": {
      "description": "The Json string representing a dictionary of the params to set on the node. Optional. Default is empty. Only non-default params need be included.",
      "type": "string"
    },
    "nativeNodeType": {
      "description": "The native type of the added node.",
      "type": "string"
    },
    "nodeComment": {
      "description": "The comment attached to the node, if needed. Default is empty.",
      "type": "string"
    },
    "nodeName": {
      "description": "The name of the added node. (Must be unique identifier in the graph)",
      "type": "string"
    },
    "nodeTitle": {
      "description": "The Display Title of the node. Optional. Default is empty.",
      "type": "string"
    },
    "xPositionIdx": {
      "default": 0,
      "description": "The X coordinate of the position of the node in the editor. Optional. Default is 0. Typical node size X is 200",
      "type": "integer"
    },
    "yPositionIdx": {
      "default": 0,
      "description": "The Y coordinate of the position of the node in the editor. Optional. Default is 0. Typical node size Y is 100",
      "type": "integer"
    }
  },
  "required": [
    "graph",
    "nativeNodeType",
    "nodeName",
    "jsonParams",
    "nodeTitle",
    "nodeComment"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "The Added Node object",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGNode",
      "type": "object"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

PCGToolset.PCGToolset.AddSubgraphNode

Adds a subgraph node to the graph.

Input schema

{
  "properties": {
    "graph": {
      "description": "Graph to modify.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGGraph",
      "type": "object"
    },
    "jsonParams": {
      "description": "The Json string representing a dictionary of the params to override on the graph. Optional. Default is empty. Only non-default params need be included",
      "type": "string"
    },
    "nodeComment": {
      "description": "The comment attached to the node, if needed. Default is empty and will clear the comment.",
      "type": "string"
    },
    "nodeName": {
      "description": "The name of the added node. (Must be unique identifier in the graph)",
      "type": "string"
    },
    "nodeTitle": {
      "description": "The Display Title of the node. Optional. Default is empty.",
      "type": "string"
    },
    "subGraphForNode": {
      "description": "The subgraph to use in the added node.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGGraph",
      "type": "object"
    },
    "xPositionIdx": {
      "default": 0,
      "description": "The X coordinate of the position of the node in the editor. Optional. Default is 0. Typical node size X is 200",
      "type": "integer"
    },
    "yPositionIdx": {
      "default": 0,
      "description": "The Y coordinate of the position of the node in the editor. Optional. Default is 0. Typical node size Y is 100",
      "type": "integer"
    }
  },
  "required": [
    "graph",
    "subGraphForNode",
    "nodeName",
    "jsonParams",
    "nodeTitle",
    "nodeComment"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "The Added Node object",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGNode",
      "type": "object"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

PCGToolset.PCGToolset.ConnectNodePins

Add an edge between two nodes connected to the specified pins.

Input schema

{
  "properties": {
    "fromNode": {
      "description": "The source node of the edge to add.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGNode",
      "type": "object"
    },
    "fromPinLabel": {
      "description": "The label of the source pin of the source node.",
      "type": "string"
    },
    "toNode": {
      "description": "The destination node of the edge to add.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGNode",
      "type": "object"
    },
    "toPinLabel": {
      "description": "The label of the destination pin of the destination node.",
      "type": "string"
    }
  },
  "required": [
    "fromNode",
    "fromPinLabel",
    "toNode",
    "toPinLabel"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "The list of nodes (conversions and/or filters) that were added to allow the connection to work.",
      "items": {
        "properties": {
          "refPath": {
            "description": "The reference stored as a soft path string.",
            "type": "string"
          }
        },
        "required": [
          "refPath"
        ],
        "title": "/Script/PCG.PCGNode",
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

PCGToolset.PCGToolset.CreateGraph

Creates a new saved PCG graph asset.

Input schema

{
  "properties": {
    "name": {
      "description": "Name for the new PCG graph asset (e.g., \"PCG_ForestScatter\")",
      "type": "string"
    },
    "path": {
      "default": "/Game/PCG",
      "description": "Content folder path where the asset should be created. Defaults to \"/Game/PCG\"",
      "type": "string"
    }
  },
  "required": [
    "name"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "The created PCG graph",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGGraph",
      "type": "object"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

PCGToolset.PCGToolset.DisconnectNodePins

Removes the edge between two nodes connected to the specified pins.

Input schema

{
  "properties": {
    "fromNode": {
      "description": "The source node of the edge to add.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGNode",
      "type": "object"
    },
    "fromPinLabel": {
      "description": "The label of the source pin of the source node.",
      "type": "string"
    },
    "toNode": {
      "description": "The destination node of the edge to add.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGNode",
      "type": "object"
    },
    "toPinLabel": {
      "description": "The label of the destination pin of the destination node.",
      "type": "string"
    }
  },
  "required": [
    "fromNode",
    "fromPinLabel",
    "toNode",
    "toPinLabel"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "boolean representing success/failed",
      "type": "boolean"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

PCGToolset.PCGToolset.DrawSpline

Triggers the user to draw a spline in the viewport to be used later in the world building. Waits for the user to be done.

Input schema

{
  "properties": {
    "actorLabel": {
      "description": "The label of the actor created or if bRedraw, the label of the actor to redraw the spline",
      "type": "string"
    },
    "actorTag": {
      "description": "Tag assigned to the actor",
      "type": "string"
    },
    "bClosedSpline": {
      "description": "true: closed spline (region) false: path.",
      "type": "boolean"
    },
    "bRedraw": {
      "description": "false: creates a new actor with the spline. true: find an actor with the label, and replaces its spline.",
      "type": "boolean"
    }
  },
  "required": [
    "actorLabel",
    "actorTag",
    "bRedraw",
    "bClosedSpline"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "Always null",
      "type": "null"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

PCGToolset.PCGToolset.ExecuteGraphInstance

Executes the graph instance and returns any issues encountered during execution.

Input schema

{
  "properties": {
    "pCGVolume": {
      "description": "The PCG Volume whose graph instance to execute.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGVolume",
      "type": "object"
    }
  },
  "required": [
    "pCGVolume"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "Array of messages emitted while executing the graph instance (empty on success with no issues)",
      "items": {
        "properties": {
          "message": {
            "type": "string"
          },
          "reporterNode": {
            "type": "string"
          },
          "severity": {
            "type": "string"
          }
        },
        "required": [
          "message",
          "severity",
          "reporterNode"
        ],
        "title": "PCGNodeExecutionMessage",
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

PCGToolset.PCGToolset.GetGraphDescription

Returns the description of a PCG graph.

Input schema

{
  "properties": {
    "graph": {
      "description": "Graph to get the description of.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGGraph",
      "type": "object"
    }
  },
  "required": [
    "graph"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "The graph's description text, or empty string if the graph has no description set.",
      "type": "string"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

PCGToolset.PCGToolset.GetGraphInstanceParams

Gets the graph instance params of a specific actor, actor MUST have a graph instance

Input schema

{
  "properties": {
    "pCGVolume": {
      "description": "The actor to get graph instance params from",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGVolume",
      "type": "object"
    }
  },
  "required": [
    "pCGVolume"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "FInstancedPropertyBag containing the filtered graph instance parameters",
      "title": "FInstancedPropertyBag",
      "type": "object"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

PCGToolset.PCGToolset.GetGraphSchema

Returns the schema for a PCG Graph's graph parameters

Input schema

{
  "properties": {
    "graph": {
      "description": "Graph to get the graph parameters of.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGGraph",
      "type": "object"
    }
  },
  "required": [
    "graph"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "FPCGGraphSchema with graph name, params schema (JSON), input/output pins",
      "properties": {
        "graphParamsSchema": {
          "type": "string"
        },
        "inputPins": {
          "items": {
            "properties": {
              "description": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "type": {
                "type": "string"
              }
            },
            "required": [
              "name",
              "type",
              "description"
            ],
            "title": "PCGPinInfo",
            "type": "object"
          },
          "type": "array"
        },
        "name": {
          "type": "string"
        },
        "outputPins": {
          "items": {
            "properties": {
              "description": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "type": {
                "type": "string"
              }
            },
            "required": [
              "name",
              "type",
              "description"
            ],
            "title": "PCGPinInfo",
            "type": "object"
          },
          "type": "array"
        }
      },
      "required": [
        "name",
        "graphParamsSchema",
        "inputPins",
        "outputPins"
      ],
      "title": "PCGGraphSchema",
      "type": "object"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

PCGToolset.PCGToolset.GetGraphStructure

Returns the complete structure of a PCG graph including all nodes, connections, exposed parameters, and comment boxes.

Input schema

{
  "properties": {
    "graph": {
      "description": "Graph to inspect",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGGraph",
      "type": "object"
    }
  },
  "required": [
    "graph"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "FPCGGraphStructure with graph name, description, nodes, and edges",
      "properties": {
        "description": {
          "type": "string"
        },
        "edges": {
          "items": {
            "properties": {
              "destNode": {
                "type": "string"
              },
              "destPin": {
                "type": "string"
              },
              "srcNode": {
                "type": "string"
              },
              "srcPin": {
                "type": "string"
              }
            },
            "required": [
              "srcNode",
              "srcPin",
              "destNode",
              "destPin"
            ],
            "title": "PCGEdgeInfo",
            "type": "object"
          },
          "type": "array"
        },
        "name": {
          "type": "string"
        },
        "nodes": {
          "items": {
            "properties": {
              "bEnabled": {
                "type": "boolean"
              },
              "comment": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "nodeType": {
                "type": "string"
              },
              "paramOverrides": {
                "title": "FInstancedPropertyBag",
                "type": "object"
              },
              "path": {
                "type": "string"
              },
              "position": {
                "type": "string"
              },
              "title": {
                "type": "string"
              }
            },
            "required": [
              "name",
              "path",
              "position",
              "title",
              "bEnabled",
              "comment",
              "nodeType",
              "paramOverrides"
            ],
            "title": "PCGNodeInfo",
            "type": "object"
          },
          "type": "array"
        }
      },
      "required": [
        "name",
        "description",
        "nodes",
        "edges"
      ],
      "title": "PCGGraphStructure",
      "type": "object"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

PCGToolset.PCGToolset.GetNativeNodeSchema

Returns the schema for a PCG node type including input/output pins, parameters, and their types.

Input schema

{
  "properties": {
    "nodeName": {
      "description": "Node name",
      "type": "string"
    }
  },
  "required": [
    "nodeName"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "FPCGNativeNodeSchema with node name, description, properties schema (JSON), input/output pins",
      "properties": {
        "description": {
          "type": "string"
        },
        "inputPins": {
          "items": {
            "properties": {
              "description": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "type": {
                "type": "string"
              }
            },
            "required": [
              "name",
              "type",
              "description"
            ],
            "title": "PCGPinInfo",
            "type": "object"
          },
          "type": "array"
        },
        "name": {
          "type": "string"
        },
        "outputPins": {
          "items": {
            "properties": {
              "description": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "type": {
                "type": "string"
              }
            },
            "required": [
              "name",
              "type",
              "description"
            ],
            "title": "PCGPinInfo",
            "type": "object"
          },
          "type": "array"
        },
        "propertiesSchema": {
          "type": "string"
        }
      },
      "required": [
        "name",
        "description",
        "propertiesSchema",
        "inputPins",
        "outputPins"
      ],
      "title": "PCGNativeNodeSchema",
      "type": "object"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

PCGToolset.PCGToolset.GetNodeDataView

Returns a JSON Data View of a specific node's output data from the last graph execution. On first call, enables inspection so future ExecuteGraphInstance calls store per-node data. If no inspection data exists, returns an error prompting re-execution.

IMPORTANT: Inspection state is shared at the graph asset level. If multiple actors use the same graph, you MUST call this tool (and ExecuteGraphInstance) on only one actor at a time. Wait for each call to fully complete before calling on the next actor. Concurrent calls on actors sharing the same graph will cause a freeze.

Input schema

{
  "properties": {
    "attributeName": {
      "description": "Filter to a single attribute/property (e.g. \"$Position\", \"$Density\", \"MyCustomAttr\"). Empty = all attributes.",
      "type": "string"
    },
    "endIndex": {
      "default": -1,
      "description": "Element range end, exclusive. -1 means all elements (Python slice convention). Default -1.",
      "type": "integer"
    },
    "node": {
      "description": "The node whose output to inspect.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGNode",
      "type": "object"
    },
    "pCGVolume": {
      "description": "The PCG Volume whose graph was executed.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGVolume",
      "type": "object"
    },
    "pinLabel": {
      "default": "Out",
      "description": "Output pin label to read. Defaults to \"Out\".",
      "type": "string"
    },
    "startIndex": {
      "default": 0,
      "description": "Element range start, inclusive, 0-based. Default 0.",
      "type": "integer"
    }
  },
  "required": [
    "pCGVolume",
    "node",
    "attributeName"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "JSON string with the data view contents",
      "type": "string"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

PCGToolset.PCGToolset.GetNodeInfo

Returns node details including name, position, and all parameter values.

Input schema

{
  "properties": {
    "node": {
      "description": "The node to get info from.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGNode",
      "type": "object"
    }
  },
  "required": [
    "node"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "FPCGNodeInfo with node details including name, position, type, and parameter overrides",
      "properties": {
        "bEnabled": {
          "type": "boolean"
        },
        "comment": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "nodeType": {
          "type": "string"
        },
        "paramOverrides": {
          "title": "FInstancedPropertyBag",
          "type": "object"
        },
        "path": {
          "type": "string"
        },
        "position": {
          "type": "string"
        },
        "title": {
          "type": "string"
        }
      },
      "required": [
        "name",
        "path",
        "position",
        "title",
        "bEnabled",
        "comment",
        "nodeType",
        "paramOverrides"
      ],
      "title": "PCGNodeInfo",
      "type": "object"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

PCGToolset.PCGToolset.ListAvailableSubgraphs

Lists the PCG graphs that can be used with the Subgraph native node. Only these graphs should be used with the Subgraph native node.

Input schema

{
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "Array of graph asset paths that can be used with the Subgraph native node",
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

PCGToolset.PCGToolset.ListGraphInstances

Gets all actors with a PCG graph instance in the scene.

Input schema

{
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "Array of FPCGGraphInstanceInfo for all actors with a graph instance",
      "items": {
        "properties": {
          "actor": {
            "description": "Represents a reference to a UObject or UClass.",
            "properties": {
              "refPath": {
                "description": "The reference stored as a soft path string.",
                "type": "string"
              }
            },
            "required": [
              "refPath"
            ],
            "title": "/Script/PCG.PCGVolume",
            "type": "object"
          },
          "graph": {
            "description": "Represents a reference to a UObject or UClass.",
            "properties": {
              "refPath": {
                "description": "The reference stored as a soft path string.",
                "type": "string"
              }
            },
            "required": [
              "refPath"
            ],
            "title": "/Script/PCG.PCGGraph",
            "type": "object"
          }
        },
        "required": [
          "actor",
          "graph"
        ],
        "title": "PCGGraphInstanceInfo",
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

PCGToolset.PCGToolset.ListNativeNodes

Returns a list of available native PCG node type names.

Input schema

{
  "properties": {
    "bCommonOnly": {
      "default": true,
      "description": "Whether to only return the commonly used Native nodes. Only use bCommonOnly = false if the user specifically asks for it.",
      "type": "boolean"
    }
  },
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "Array of native node type names",
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

PCGToolset.PCGToolset.RemoveCommentBox

Removes a comment box from the graph. Does not affect the nodes it contains.

Input schema

{
  "properties": {
    "commentId": {
      "description": "The unique id of the comment to remove.",
      "type": "string"
    },
    "graph": {
      "description": "Graph to remove the comment from.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGGraph",
      "type": "object"
    }
  },
  "required": [
    "graph",
    "commentId"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "boolean representing success/failed",
      "type": "boolean"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

PCGToolset.PCGToolset.RemoveGraphParams

Removes graph parameters to a specific PCG graph, such that they are not overridable anymore.

Input schema

{
  "properties": {
    "graph": {
      "description": "Graph to remove graph parameter(s) from",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGGraph",
      "type": "object"
    },
    "paramNames": {
      "description": "An array of existing param names that will be removed.",
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "graph",
    "paramNames"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "boolean representing success/failed",
      "type": "boolean"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

PCGToolset.PCGToolset.RemoveNode

Removes the node from the graph, will also remove edges connected to the node.

Input schema

{
  "properties": {
    "graph": {
      "description": "The graph to remove the node from.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGGraph",
      "type": "object"
    },
    "node": {
      "description": "The node to remove.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGNode",
      "type": "object"
    }
  },
  "required": [
    "graph",
    "node"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "boolean representing success/failed",
      "type": "boolean"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

PCGToolset.PCGToolset.RepositionNode

Change the position of node.

Input schema

{
  "properties": {
    "node": {
      "description": "The node to modify the position.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGNode",
      "type": "object"
    },
    "xPositionIdx": {
      "description": "The X coordinate of the position of the node in the editor.",
      "type": "integer"
    },
    "yPositionIdx": {
      "description": "The Y coordinate of the position of the node in the editor.",
      "type": "integer"
    }
  },
  "required": [
    "node",
    "xPositionIdx",
    "yPositionIdx"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "boolean representing success/failed",
      "type": "boolean"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

PCGToolset.PCGToolset.ResetGraphInstanceParams

Resets the given graph instance params back to the graph's default values. Actor MUST have a graph instance.

Input schema

{
  "properties": {
    "pCGVolume": {
      "description": "The actor to reset graph instance params for.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGVolume",
      "type": "object"
    },
    "paramNames": {
      "description": "Names of the parameters to reset.",
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "pCGVolume",
    "paramNames"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "boolean representing success/failed",
      "type": "boolean"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

PCGToolset.PCGToolset.SetGraphDescription

Set the description of a PCGGraph

Input schema

{
  "properties": {
    "description": {
      "description": "New description of graph",
      "type": "string"
    },
    "graph": {
      "description": "Graph to set description of.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGGraph",
      "type": "object"
    }
  },
  "required": [
    "graph",
    "description"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "boolean representing success/failed",
      "type": "boolean"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

PCGToolset.PCGToolset.SetGraphInstanceParams

Sets the graph instance params of a specific actor, actor MUST have a graph instance

Input schema

{
  "properties": {
    "jsonParams": {
      "description": "JSON string representing JsonObject for the params to set. MUST be in format: {{\"property_1_name\": \"property_1_value\"}, ...}",
      "type": "string"
    },
    "pCGVolume": {
      "description": "The actor to set graph instance params for",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGVolume",
      "type": "object"
    }
  },
  "required": [
    "pCGVolume",
    "jsonParams"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "boolean representing success/failed",
      "type": "boolean"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

PCGToolset.PCGToolset.SetGraphParams

Adds one or more graph user parameters to a specific PCG graph, such that they will be overridable in per graph instance.

Input schema

{
  "properties": {
    "graph": {
      "description": "Graph to add graph parameter to",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGGraph",
      "type": "object"
    },
    "params": {
      "description": "TArray<FPCGParamDefinition> An array of UStruct for Name, Type, Description, ContainerType (optional) and DefaultValueJson (optional). If user explicitly want special default values the DefaultValueJson MUST be set, otherwise OMIT DefaultValueJson for standard UE default values!",
      "items": {
        "properties": {
          "containerType": {
            "enum": [
              "None",
              "Array",
              "Set",
              "Map",
              "Count"
            ],
            "title": "EPropertyBagContainerType",
            "type": "string"
          },
          "defaultValueJson": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "enum": [
              "Float",
              "Double",
              "Integer32",
              "Integer64",
              "Vector2",
              "Vector",
              "Vector4",
              "Quaternion",
              "Transform",
              "String",
              "Boolean",
              "Rotator",
              "Name",
              "SoftObjectPath",
              "SoftClassPath",
              "EndLegacyTypes",
              "Byte",
              "Text",
              "Enum",
              "Struct",
              "Object",
              "SoftObject",
              "Class",
              "SoftClass",
              "Count",
              "Unknown"
            ],
            "title": "EPCGMetadataTypes",
            "type": "string"
          }
        },
        "required": [
          "name",
          "type",
          "description",
          "containerType",
          "defaultValueJson"
        ],
        "title": "PCGParamDefinition",
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "graph",
    "params"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "boolean representing success/failed",
      "type": "boolean"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

PCGToolset.PCGToolset.SetNodeComment

Change the comment on the specified node.

Input schema

{
  "properties": {
    "node": {
      "description": "The node to set the comment on.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGNode",
      "type": "object"
    },
    "nodeComment": {
      "description": "The comment attached to the node.",
      "type": "string"
    }
  },
  "required": [
    "node",
    "nodeComment"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "boolean representing success/failed",
      "type": "boolean"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

PCGToolset.PCGToolset.SpawnGraphInstance

Spawns a PCG Volume with associated Graph Instance into the scene, optionally with Graph Param overrides.

Input schema

{
  "properties": {
    "graph": {
      "description": "The PCG graph to spawn an instance of",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGGraph",
      "type": "object"
    },
    "jsonParams": {
      "description": "(Optional) JSON string representing JsonObject for the params to set. MUST be in format: {{\"property_1_name\": \"property_1_value\"}, ...} The default values for the graph params will be used if not set.",
      "type": "string"
    },
    "name": {
      "description": "The name of the PCGVolume actor to spawn in the scene.",
      "type": "string"
    },
    "transform": {
      "description": "The transform to use for the new PCGVolume actor. Place at the origin unless there is a reason not to and use default scale3D of {\"x\": 25,\"y\": 25,\"z\": 10}",
      "properties": {
        "location": {
          "description": "The world-space location.",
          "properties": {
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            },
            "z": {
              "type": "number"
            }
          },
          "required": [
            "x",
            "y",
            "z"
          ],
          "title": "Vector",
          "type": "object"
        },
        "rotation": {
          "description": "The world-space rotation.",
          "properties": {
            "pitch": {
              "description": "Pitch (degrees) around Y axis",
              "type": "number"
            },
            "roll": {
              "description": "Roll (degrees) around X axis",
              "type": "number"
            },
            "yaw": {
              "description": "Yaw (degrees) around Z axis",
              "type": "number"
            }
          },
          "required": [
            "pitch",
            "yaw",
            "roll"
          ],
          "title": "Rotator",
          "type": "object"
        },
        "scale": {
          "description": "The scale.",
          "properties": {
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            },
            "z": {
              "type": "number"
            }
          },
          "required": [
            "x",
            "y",
            "z"
          ],
          "title": "Vector",
          "type": "object"
        }
      },
      "title": "ToolsetTransform",
      "type": "object"
    }
  },
  "required": [
    "graph",
    "name",
    "transform",
    "jsonParams"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "UStruct with information of the created actor and the corresponding graph instance",
      "properties": {
        "actor": {
          "description": "Represents a reference to a UObject or UClass.",
          "properties": {
            "refPath": {
              "description": "The reference stored as a soft path string.",
              "type": "string"
            }
          },
          "required": [
            "refPath"
          ],
          "title": "/Script/PCG.PCGVolume",
          "type": "object"
        },
        "graph": {
          "description": "Represents a reference to a UObject or UClass.",
          "properties": {
            "refPath": {
              "description": "The reference stored as a soft path string.",
              "type": "string"
            }
          },
          "required": [
            "refPath"
          ],
          "title": "/Script/PCG.PCGGraph",
          "type": "object"
        }
      },
      "required": [
        "actor",
        "graph"
      ],
      "title": "PCGGraphInstanceInfo",
      "type": "object"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

PCGToolset.PCGToolset.UpdateCommentBox

Updates an existing comment box with new nodes and value. Note: If the bounding box of the nodes include other nodes, they will be included in the comment.

Input schema

{
  "properties": {
    "color": {
      "default": {
        "a": 1,
        "b": 1,
        "g": 1,
        "r": 1
      },
      "description": "The color of the comment box. Defaults to White",
      "properties": {
        "a": {
          "minimum": 0,
          "type": "number"
        },
        "b": {
          "minimum": 0,
          "type": "number"
        },
        "g": {
          "minimum": 0,
          "type": "number"
        },
        "r": {
          "minimum": 0,
          "type": "number"
        }
      },
      "required": [
        "r",
        "g",
        "b",
        "a"
      ],
      "title": "LinearColor",
      "type": "object"
    },
    "comment": {
      "default": "/**\n\t * Updates an existing comment box with new nodes and value. \n\t *  Note: If the bounding box of the nodes include other nodes, they will be included in the comment.\n\t *\n\t * @param Graph - Graph to add comment to.\n\t * @param CommentId - The unique id of the comment to update.\n\t * @param Nodes - The list of nodes to include in the comment box. If empty, the box will keep its current dimensions.\n\t * @param Comment - The new comment to put on the comment box. If empty, will keep the same text as it was. Default is empty.\n\t * @param Color - The color of the comment box. Defaults to White\n\t * @return boolean representing success/failed\n\t */",
      "description": "The new comment to put on the comment box. If empty, will keep the same text as it was. Default is empty.",
      "type": "string"
    },
    "commentId": {
      "description": "The unique id of the comment to update.",
      "type": "string"
    },
    "graph": {
      "description": "Graph to add comment to.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGGraph",
      "type": "object"
    },
    "nodes": {
      "description": "The list of nodes to include in the comment box. If empty, the box will keep its current dimensions.",
      "items": {
        "properties": {
          "refPath": {
            "description": "The reference stored as a soft path string.",
            "type": "string"
          }
        },
        "required": [
          "refPath"
        ],
        "title": "/Script/PCG.PCGNode",
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "graph",
    "commentId",
    "nodes"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "boolean representing success/failed",
      "type": "boolean"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

PCGToolset.PCGToolset.UpdateNode

Updates a node by changing its params and/or title.

Input schema

{
  "properties": {
    "jsonParams": {
      "description": "The Json string representing a dictionary of the params to override. Optional. Default is empty. Only non-default params need be included",
      "type": "string"
    },
    "node": {
      "description": "The node to modify.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/PCG.PCGNode",
      "type": "object"
    },
    "nodeTitle": {
      "description": "The Display Title of the node. Optional. Default is empty. Empty will keep the old title",
      "type": "string"
    }
  },
  "required": [
    "node",
    "jsonParams",
    "nodeTitle"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "boolean representing success/failed",
      "type": "boolean"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}