PCG
Every PCG command in CodeFizz Editor Agent, with parameters and examples.
Every PCG command in CodeFizz Editor Agent, with parameters and examples.
100 commands. Each shows its parameters and an example, and has a copyable deep link, so you (or an AI agent) can jump straight to one.
create_pcg_graphCreate a new empty PCG Graph asset
Creates a new UPCGGraph at the given content path. Uses UPCGGraphFactory with bSkipTemplateSelection=true to avoid the template picker dialog. Pass force=true to overwrite an existing asset at the same path.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Content Browser path for the new graph |
| force | bool | No | Overwrite an existing asset at this path |
cfa create_pcg_graph --asset-path /Game/PCG/PCG_Forestcreate_pcg_graph_instanceCreate a PCG Graph Instance bound to a parent graph
Creates a UPCGGraphInstance whose ParentGraph is set to the given source graph. The instance inherits the parent's nodes and exposes its UserParameters as overridable values via ParametersOverrides.
| Parameter | Type | Required | Description |
|---|---|---|---|
| parent_graph_path | string | Yes | Path to the source UPCGGraph |
| asset_path | string | Yes | Content Browser path for the new instance |
cfa create_pcg_graph_instance --parent-graph-path /Game/PCG/PCG_Forest --asset-path /Game/PCG/PCG_Forest_Instcreate_pcg_builder_settingsCreate a new PCG Builder Settings asset
Creates a UPCGBuilderSettings asset used to configure how PCG components build their output (e.g. partitioning, runtime generation). Empty settings on creation; modify via set_object_property afterward.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Content Browser path for the new asset |
cfa create_pcg_builder_settings --asset-path /Game/PCG/BS_Defaultcreate_pcg_compute_sourceCreate a new PCG Compute Source asset
Creates a UPCGComputeSource asset, an HLSL source bundle consumed by PCG compute graph nodes. Empty source on creation; edit via set_pcg_compute_source afterward.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Content Browser path for the new asset |
cfa create_pcg_compute_source --asset-path /Game/PCG/CS_NoiseFieldget_pcg_compute_sourceRead the HLSL source and AdditionalSources of a PCG Compute Source asset
Loads a UPCGComputeSource and returns its Source FString plus the AdditionalSources array (each entry: index, path, name). Use this to inspect or copy shader text.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the UPCGComputeSource asset |
cfa get_pcg_compute_source --asset-path /Game/PCG/CS_NoiseFieldset_pcg_compute_sourceWrite the HLSL source text on a PCG Compute Source asset
Replaces the Source FString on a UPCGComputeSource asset. Saves the asset on success. Sets the value reflectively via FStrProperty (no engine SetSource link dependency).
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the UPCGComputeSource asset |
| source | string | Yes | New HLSL source text (replaces the entire Source field) |
cfa set_pcg_compute_source --asset-path /Game/PCG/CS_NoiseField --source "float Noise() { return 0.0; }"add_pcg_compute_source_additionalAppend a UComputeSource to a PCG Compute Source's AdditionalSources
Adds an entry to the inherited AdditionalSources TArray on a UPCGComputeSource. Idempotent, returns already_present=true if the entry is already in the array.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the target UPCGComputeSource |
| additional_source_path | string | Yes | Path to a UComputeSource asset to add |
cfa add_pcg_compute_source_additional --asset-path /Game/PCG/CS_Main --additional-source-path /Game/PCG/CS_Helpersremove_pcg_compute_source_additionalRemove an entry from a PCG Compute Source's AdditionalSources
Removes by index, or by additional_source_path if index is omitted/negative. Returns the index that was removed.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the target UPCGComputeSource |
| index | int | No | Array index to remove (use -1 to match by additional_source_path) |
| additional_source_path | string | No | Path to remove (used when index < 0) |
cfa remove_pcg_compute_source_additional --asset-path /Game/PCG/CS_Main --index 0
cfa remove_pcg_compute_source_additional --asset-path /Game/PCG/CS_Main --additional-source-path /Game/PCG/CS_Helperslist_pcg_compute_sourcesList all UPCGComputeSource assets via Asset Registry
Asset Registry query for UPCGComputeSource assets. Returns asset_path, asset_name, package_path. Optionally scope by package path and substring filter.
| Parameter | Type | Required | Description |
|---|---|---|---|
| path | string | No | Optional package path scope (e.g. /Game/PCG) |
| filter | string | No | Case-sensitive substring filter on asset name |
| recursive | bool | No | Recurse into subfolders of 'path' (default true) |
cfa list_pcg_compute_sources
cfa list_pcg_compute_sources --path /Game/PCG --filter Noiselist_pcg_kernel_typesList EPCGKernelType enum values for the Custom HLSL node
Enumerates EPCGKernelType (Custom, PointProcessor, PointGenerator, TextureProcessor, TextureGenerator, AttributeSetProcessor) with display names and tooltips. Use the returned 'name' values when assigning the KernelType property on a Custom HLSL node.
cfa list_pcg_kernel_typeslist_pcg_templatesList PCG Graph assets marked as templates
Scans the Asset Registry for UPCGGraph assets with bIsTemplate=true. Filters tag-only so no assets are loaded. Returns name, path, category, and description for each template.
| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | string | No | Case-insensitive substring filter on template name |
| category | string | No | Exact match on the template's Category property |
| max_results | int | No | Maximum number of results |
cfa list_pcg_templates
cfa list_pcg_templates --filter Forest --category Vegetationcreate_pcg_graph_from_templateCreate a new PCG Graph by duplicating a template
Duplicates a template UPCGGraph into a new asset using UPCGGraphFactory's TemplateGraph path (StaticDuplicateObject). Clears bIsTemplate on the resulting asset so it functions as a regular graph. Use list_pcg_templates to discover candidates.
| Parameter | Type | Required | Description |
|---|---|---|---|
| template_path | string | Yes | Path to the source UPCGGraph template |
| asset_path | string | Yes | Content Browser path for the new graph |
cfa create_pcg_graph_from_template --template-path /PCG/Templates/Forest --asset-path /Game/PCG/PCG_MyForestsearch_pcg_nodesSearch PCG node types (UPCGSettings subclasses) by name or category
Iterates exposed UPCGSettings classes (bExposeToLibrary, non-abstract) and returns node metadata (title, class path, category, type, description, has_preconfigured_variants). Requires at least one of filter or category to avoid flooding results.
| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | string | No | Case-insensitive substring on title, class name, or tooltip |
| category | string | No | EPCGSettingsType display or enum name (e.g. Sampler, Metadata) |
| max_results | int | No | Maximum number of results |
cfa search_pcg_nodes --filter Sampler
cfa search_pcg_nodes --category Metadatalist_pcg_node_categoriesList EPCGSettingsType category values for search_pcg_nodes
Enumerates all values of the EPCGSettingsType enum (Spatial, Sampler, Metadata, etc.).
cfa list_pcg_node_categorieslist_pcg_advanced_nodesList PCG nodes with advanced or preconfigured-only behavior
Returns nodes that have at least one Advanced pin or whose CDO returns OnlyExposePreconfiguredSettings()=true. Useful for discovering hidden nodes.
| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | string | No | Case-insensitive substring on title or class name |
| max_results | int | No | Maximum number of results |
cfa list_pcg_advanced_nodes --filter Mathlist_pcg_node_preconfigured_variantsList preconfigured variants for a PCG settings class
Returns the GetPreconfiguredInfo() array for a given UPCGSettings subclass, each entry is a preconfigured variant (label, tooltip, preconfigured_index) sharing the same UClass.
| Parameter | Type | Required | Description |
|---|---|---|---|
| class_path | string | Yes | Full class path or short name |
cfa list_pcg_node_preconfigured_variants --class-path /Script/PCG.PCGAttributeRemapSettingsget_pcg_node_type_infoGet full schema for a PCG node type
Returns title, category, type, description, dynamic-input flag, full input/output pin schema (label, allowed_types, usage, status, multiple, invisible, tooltip), exposed properties (with PCG_Overridable flag and enum values), and preconfigured variants.
| Parameter | Type | Required | Description |
|---|---|---|---|
| class_path | string | Yes | Full class path or short name |
| filter | string | No | Substring filter applied to property names |
| include_tooltips | bool | No | Include property tooltips in the response |
| include_engine_internals | bool | No | Include noisy engine-internal properties |
cfa get_pcg_node_type_info --class-path /Script/PCG.PCGAttributeFilterSettingsget_pcg_property_valid_valuesGet valid values for a PCG settings property (enums, attribute pickers, extractors)
Returns the values selectable for a PCG settings property. Response 'kind' field: 'enum' (UEnumProperty/FByteProperty entries), 'attribute_input_selector' / 'attribute_output_selector' (FPCGAttributePropertySelector pickers, values[] includes @Last, @Source/@LastCreated for output, plus $Density, $Position, $Rotation, $Scale, $Transform, $BoundsMin, $BoundsMax, $Color, $Seed, $Index etc.; extractors[] lists per-type suffix groups like Vector→X/Y/Z/Length, Rotator→Roll/Pitch/Yaw/Up/Forward/Right, Transform→Location/Rotation/Scale, chain with '.': '$Rotation.Up', '$Position.X'), 'attribute_preset' (legacy FName), or 'non_enumerable'. Call BEFORE writing attribute-selector values to avoid garbage strings.
| Parameter | Type | Required | Description |
|---|---|---|---|
| class_path | string | Yes | UPCGSettings class path or short name |
| property_path | string | Yes | Property name on the class |
| filter | string | No | Case-insensitive substring filter |
| max_results | int | No | Maximum number of returned entries |
cfa get_pcg_property_valid_values --class-path /Script/PCG.PCGAttributeFilterSettings --property-path Operatorread_pcg_graphRead a PCG graph at a chosen verbosity
Reads a UPCGGraph and returns its node list. Verbosity controls payload size: 'summary' (index/name/title/type/position only), 'connections' (adds per-pin link details), 'full' (adds per-node properties with PCG_Overridable flag and graph parameters). Optional filter narrows nodes by title/class/name substring.
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| verbosity | string | No | summary | connections | full |
| filter | string | No | Case-insensitive substring filter on node title/class/name |
| include_pin_meta | bool | No | Include per-pin usage/status/allowed_types/flags (default lean: label+edge_count only) |
cfa read_pcg_graph --graph-path /Game/PCG/PCG_Forest --verbosity connectionsget_pcg_nodeGet full info on one PCG node
Returns pins, per-pin connections, properties (with values from the settings instance), and subgraph info if the node is a subgraph node.
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| node_name | string | No | Node by stable name (preferred, survives deletes) |
| node_index | int | No | Index into the graph's Nodes array (legacy) |
cfa get_pcg_node --graph-path /Game/PCG/PCG_Forest --node-index 3get_pcg_node_connectionsGet pin-by-pin connections for one node
Returns input_pins / output_pins arrays where each pin has its connections list with from_index/to_index and from_pin/to_pin labels.
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| node_name | string | No | Node by stable name (preferred, survives deletes) |
| node_index | int | No | Index into the graph's Nodes array (legacy) |
cfa get_pcg_node_connections --graph-path /Game/PCG/PCG_Forest --node-index 3trace_pcg_connectionTrace reachable nodes from a starting node
BFS traversal up to max_depth, cycle-safe. Direction selects upstream, downstream, or both. Returns visited nodes with depth and parent_index.
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| node_name | string | No | Starting node by stable name (preferred) |
| node_index | int | No | Starting node by index (legacy) |
| direction | string | No | upstream | downstream | both |
| max_depth | int | No | BFS depth cap (1..50) |
cfa trace_pcg_connection --graph-path /Game/PCG/PCG_Forest --node-index 0 --direction downstream --max-depth 5get_pcg_graph_parametersEnumerate UserParameters on a PCG graph
Lists graph-level user parameters (FInstancedPropertyBag) with name, type, default_value, and description for each entry.
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
cfa get_pcg_graph_parameters --graph-path /Game/PCG/PCG_Forestget_pcg_graph_propertiesList editable UPROPERTYs on the UPCGGraph asset
Returns the graph's editable properties (name, type, category, current value) for discovering version-specific graph-setting names (e.g. the HiGen multiplier differs across 5.6/5.7/5.8) before calling set_pcg_graph_property. Distinct from graph USER parameters.
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| filter | string | No | Optional case-insensitive substring filter on property name |
cfa get_pcg_graph_properties --graph-path /Game/PCG/PCG_Forest --filter HiGenset_pcg_graph_propertySet a graph-level UPROPERTY on the UPCGGraph (HiGen, landscape, cosmetic)
Sets a property on the UPCGGraph asset (e.g. bUseHierarchicalGeneration, HiGenGridSize, bUse2DGrid) and fires the graph's real PostEditChangeChainProperty, so grid linkage / compilation rebuilds and open editors refresh, exactly like editing Graph Settings by hand (raw set_asset_property skips this). Some names differ by engine version; use get_pcg_graph_properties to discover. Not a graph USER parameter.
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| property_name | string | Yes | UPROPERTY name on UPCGGraph (e.g. HiGenGridSize) |
| property_value | any | Yes | JSON value (string for export-text, e.g. "Grid512") |
cfa set_pcg_graph_property --graph-path /Game/PCG/PCG_Forest --property-name bUseHierarchicalGeneration --property-value trueadd_pcg_nodeAdd a node to a PCG graph
Creates a new UPCGSettings instance via NewObject and registers it with the graph via AddNode.
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| settings_class | string | Yes | UPCGSettings subclass path or short name |
| position_x | float | No | Node X position |
| position_y | float | No | Node Y position |
| preconfigure_index | int | No | Index into GetPreconfiguredInfo() (-1 for none) |
| node_comment | string | No | Optional node comment |
cfa add_pcg_node --graph-path /Game/PCG/PCG_Forest --settings-class PCGAttributeFilterSettingsdelete_pcg_nodeDelete a node from a PCG graph
Delete a node identified by stable name (node_name, preferred, survives deletes) OR by index (node_index, legacy).
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| node_name | string | No | Node by stable name (preferred) |
| node_index | int | No | Node by index (legacy) |
connect_pcg_pinsConnect two PCG pins (add edge)
Connect a source node's output pin to a destination node's input pin. Identify each node by stable name (from_node_name / to_node_name, preferred, survives deletes) OR by index (from_node_index / to_node_index, legacy, shifts when nodes are deleted).
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| from_node_name | string | No | Source node by stable name (preferred) |
| from_node_index | int | No | Source node by index (legacy) |
| from_pin_label | string | Yes | Upstream output pin label |
| to_node_name | string | No | Destination node by stable name (preferred) |
| to_node_index | int | No | Destination node by index (legacy) |
| to_pin_label | string | Yes | Downstream input pin label |
build_pcg_graphAtomically build a PCG graph (nodes + edges + auto-layout) in one call
Creates multiple nodes and edges in a single transaction with one save and one editor refresh, then auto-lays-out (topological columns) unless node x/y are supplied. More robust and token-efficient than add_pcg_node + connect_pcg_pins per element (no index-shift corruption, no half-built graph on failure). nodes: [{id, settings_class, params?(object), x?, y?, comment?}]; edges: [{from(id), from_pin, to(id), to_pin}]. Returns each node's stable name + index.
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| nodes | json | Yes | Array of {id, settings_class, params?, x?, y?, comment?} |
| edges | json | No | Array of {from, from_pin, to, to_pin} |
| clear_existing | bool | No | Remove existing nodes before building |
| auto_layout | bool | No | Auto-layout when node x/y are omitted |
cfa build_pcg_graph --json '{"graph_path":"/Game/PCG/PCG_X","nodes":[{"id":"a","settings_class":"PCGSurfaceSamplerSettings"},{"id":"b","settings_class":"PCGStaticMeshSpawnerSettings"}],"edges":[{"from":"a","from_pin":"Out","to":"b","to_pin":"In"}]}'disconnect_pcg_pinRemove all edges from one pin
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| node_name | string | No | Node by stable name (preferred, survives deletes) |
| node_index | int | No | Node by index (legacy, shifts on delete) |
| pin_label | string | Yes | Pin label |
| side | string | No | input | output |
disconnect_pcg_edgeRemove a specific edge
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| from_node_index | int | Yes | Upstream node index |
| from_pin_label | string | Yes | Upstream output pin label |
| to_node_index | int | Yes | Downstream node index |
| to_pin_label | string | Yes | Downstream input pin label |
set_pcg_node_propertySet a property on a node's UPCGSettings
Uses ImportText_Direct on the live settings UObject. Supports any UPROPERTY exportable type.
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| node_name | string | No | Node by stable name (preferred, survives deletes) |
| node_index | int | No | Node by index (legacy, shifts on delete) |
| property_name | string | Yes | Property name |
| property_value | any | Yes | JSON value (string for export-text) |
set_pcg_node_positionMove a node
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| node_name | string | No | Node by stable name (preferred, survives deletes) |
| node_index | int | No | Node by index (legacy, shifts on delete) |
| x | float | Yes | X position |
| y | float | Yes | Y position |
set_pcg_node_commentSet a node's comment string
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| node_name | string | No | Node by stable name (preferred, survives deletes) |
| node_index | int | No | Node by index (legacy, shifts on delete) |
| comment | string | Yes | Comment string (empty hides bubble) |
add_pcg_dynamic_input_pinAdd a dynamic input pin
Calls UPCGSettingsWithDynamicInputs::OnUserAddDynamicInputPin on the node.
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| node_name | string | No | Node by stable name (preferred, survives deletes) |
| node_index | int | No | Node by index (legacy, shifts on delete) |
remove_pcg_dynamic_input_pinRemove a dynamic input pin
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| node_name | string | No | Node by stable name (preferred, survives deletes) |
| node_index | int | No | Node by index (legacy, shifts on delete) |
| pin_index | int | Yes | Dynamic pin index to remove |
add_pcg_graph_parameterAdd a graph-level user parameter
Type ∈ bool|int|float|double|name|string|text|enum:<EnumPath>|object:<ClassPath>|struct:<StructPath>|soft_object:<ClassPath>
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| name | string | Yes | Parameter name |
| type | string | Yes | Parameter type |
| default_value | any | No | Default value (JSON) |
remove_pcg_graph_parameterRemove a graph parameter
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| name | string | Yes | Parameter name |
rename_pcg_graph_parameterRename a graph parameter
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| old_name | string | Yes | Current name |
| new_name | string | Yes | New name |
set_pcg_graph_parameter_valueSet a graph parameter's default value
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| name | string | Yes | Parameter name |
| value | any | Yes | New value (JSON) |
set_pcg_graph_parameter_typeChange a graph parameter's type
May invalidate existing connections inside the graph; engine handles cleanup.
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| name | string | Yes | Parameter name |
| new_type | string | Yes | New type spec (same syntax as add) |
set_pcg_subgraph_targetRe-target a subgraph node
Calls UPCGSubgraphSettings::SetSubgraph to repoint the SubgraphInstance at a new UPCGGraphInterface.
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the parent UPCGGraph asset |
| node_name | string | No | Subgraph node by stable name (preferred) |
| node_index | int | No | Index of the subgraph node (legacy) |
| target_graph_path | string | Yes | Path to the new target UPCGGraphInterface |
get_pcg_subgraph_overridesList subgraph parameter overrides
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the parent UPCGGraph asset |
| node_name | string | No | Subgraph node by stable name (preferred) |
| node_index | int | No | Index of the subgraph node (legacy) |
set_pcg_subgraph_overrideOverride a subgraph parameter
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the parent UPCGGraph asset |
| node_name | string | No | Subgraph node by stable name (preferred) |
| node_index | int | No | Index of the subgraph node (legacy) |
| parameter_name | string | Yes | Parameter name |
| value | any | Yes | New value (JSON) |
reset_pcg_subgraph_overrideReset a subgraph parameter to default
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the parent UPCGGraph asset |
| node_name | string | No | Subgraph node by stable name (preferred) |
| node_index | int | No | Index of the subgraph node (legacy) |
| parameter_name | string | Yes | Parameter name |
validate_pcg_graphValidate a PCG graph
Primes the graph compilation cache and returns graph-structure findings (unconnected required pins, dangling edges).
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
get_pcg_graph_errorsRead cached graph validation findings
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
layout_pcg_graphAuto-layout the graph
Modes: auto (topological lanes), grid (NxN), compact.
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| mode | string | No | Layout mode: auto|grid|compact |
| reroutes | bool | No | Insert reroute nodes on column-skipping wires (auto/compact only) |
add_pcg_commentAttach a comment to the graph
Editor-graph comment boxes are editor-only; this binds the comment to the input node as a fallback.
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| comment_text | string | Yes | Comment text |
force_regen_pcg_componentsGenerate() all components bound to a graph
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| force | bool | No | Pass bForce=true to UPCGComponent::Generate |
cancel_pcg_generationCancelGeneration() on all components
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
pause_pcg_regenToggle UPCGComponent::bActivated for a graph
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| paused | bool | Yes | true to pause, false to resume |
set_pcg_node_property_pathSet a nested PCG node property via dotted path with [N] indexers
Auto-creates null instanced UObject sub-properties along the path. Supports struct fields, array indices, and FObjectProperty deref.
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| node_name | string | No | Node by stable name (preferred, survives deletes) |
| node_index | int | No | Node by index from read_pcg_graph (legacy, shifts on delete) |
| property_path | string | Yes | Dotted path with optional [N] array indexers |
| property_value | any | Yes | JSON value to write |
cfa set_pcg_node_property_path --graph-path /Game/PCG/PCG_Forest --node-index 2 \
--property-path "MeshSelectorParameters.MeshEntries[0].Descriptor.StaticMesh" \
--property-value '"/Game/Meshes/SM_Tree.SM_Tree"'get_pcg_node_propertyRead a nested PCG node property value
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| node_name | string | No | Node by stable name (preferred, survives deletes) |
| node_index | int | No | Node by index from read_pcg_graph (legacy, shifts on delete) |
| property_path | string | Yes | Dotted path with optional [N] array indexers |
| max_depth | int | No | Recursion depth for nested struct/object expansion |
list_pcg_node_property_pathsDiscover nested property paths on a PCG node
Walks reflected properties recursively. Requires 'filter' or 'root_path' to keep responses small.
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| node_name | string | No | Node by stable name (preferred, survives deletes) |
| node_index | int | No | Node by index from read_pcg_graph (legacy, shifts on delete) |
| root_path | string | No | Optional root path to descend into before listing |
| filter | string | No | Case-insensitive substring on the full path |
| max_depth | int | No | Maximum recursion depth |
| max_results | int | No | Cap on returned entries |
| include_engine_internals | bool | No | Include noisy engine-internal properties |
add_pcg_node_property_array_elementAppend or insert an element into a PCG node TArray property
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| node_name | string | No | Node by stable name (preferred, survives deletes) |
| node_index | int | No | Node by index from read_pcg_graph (legacy, shifts on delete) |
| array_path | string | Yes | Dotted path to the TArray property |
| value | any | No | Optional JSON value to seed the new element |
| index | int | No | Insert index (negative = append) |
remove_pcg_node_property_array_elementRemove an element from a PCG node TArray property
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| node_name | string | No | Node by stable name (preferred, survives deletes) |
| node_index | int | No | Node by index from read_pcg_graph (legacy, shifts on delete) |
| array_path | string | Yes | Dotted path to the TArray property |
| element_index | int | Yes | Element index to remove |
set_pcg_node_property_classReplace an instanced FObjectProperty with a NewObject of a specified class
When the property has a sibling '<Name>Type' TSubclassOf property (PCG MeshSelectorType convention), it is mirrored automatically.
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| node_name | string | No | Node by stable name (preferred, survives deletes) |
| node_index | int | No | Node by index from read_pcg_graph (legacy, shifts on delete) |
| property_path | string | Yes | Path to the FObjectProperty to replace |
| class_path | string | Yes | Full class path (e.g. /Script/PCG.PCGMeshSelectorWeighted) |
set_pcg_custom_hlsl_kernel_typeSwitch a Custom HLSL node's kernel type (mirrors the engine's SetKernelType)
Sets KernelType on a UPCGCustomHLSLSettings node and, for generator kernels, clears the required input pins (a no-input generator with a dangling required pin is silently culled by the GPU compiler). Use this instead of set_pcg_node_property KernelType, which leaves pins inconsistent. Processors keep their input pin (feed it a point source).
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| node_name | string | No | Node by stable name (preferred) |
| node_index | int | No | Node by index (legacy) |
| kernel_type | string | Yes | PointProcessor | PointGenerator | TextureProcessor | TextureGenerator | Custom | AttributeSetProcessor | AttributeSetGenerator | TextureArrayGenerator | TextureArrayProcessor |
cfa set_pcg_custom_hlsl_kernel_type --graph-path /Game/PCG/PCG_X --node-name CustomHLSL_0 --kernel-type PointGeneratorset_pcg_static_mesh_spawner_meshesSet a Static Mesh Spawner's weighted mesh list in one call
Ensures the node uses a Weighted mesh selector, clears existing entries, and adds one weighted entry per mesh path, replacing the verbose set_pcg_node_property_class -> add_array_element -> set_path sequence. Fires the faithful notify so entry display names and the selector refresh like a hand edit.
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | Path to the UPCGGraph asset |
| node_name | string | No | Node by stable name (preferred) |
| node_index | int | No | Node by index (legacy) |
| meshes | json | Yes | JSON array of static mesh asset paths (e.g. ["/Game/.../SM_X.SM_X"]) |
| weights | json | No | Optional JSON int array of per-mesh weights (parallel to meshes; default 1) |
cfa set_pcg_static_mesh_spawner_meshes --graph-path /Game/PCG/PCG_X --node-name StaticMeshSpawner_0 --meshes '["/Game/Meshes/SM_Tree_A_01.SM_Tree_A_01","/Game/Meshes/SM_Tree_A_02.SM_Tree_A_02"]'pcg_generate_componentCall UPCGComponent::Generate on the named actor
Wraps UPCGComponent::Generate(bForce). Triggers a delayed generation. NetMulticast Reliable on UE 5.8.
| Parameter | Type | Required | Description |
|---|---|---|---|
| actor_label | string | Yes | Editor label of the owning actor |
| component_name | string | No | Optional UPCGComponent name (empty = first) |
| force | bool | No | Force generate even if not dirty |
cfa pcg_generate_component --actor-label PCG_Forest_01 --forcepcg_cleanup_componentCall UPCGComponent::Cleanup on the named actor
Wraps UPCGComponent::Cleanup(bRemoveComponents).
| Parameter | Type | Required | Description |
|---|---|---|---|
| actor_label | string | Yes | Editor label of the owning actor |
| component_name | string | No | Optional UPCGComponent name |
| remove_components | bool | No | Remove spawned components |
cfa pcg_cleanup_component --actor-label PCG_Forest_01pcg_generate_localCall UPCGComponent::GenerateLocal(Trigger, bForce, Grid)
Trigger: 0=OnLoad, 1=OnDemand, 2=AtRuntime. Grid: hierarchical grid size (0 = uninitialized). UE 5.7 takes EPCGHiGenGrid enum, 5.8 takes uint32, handled internally.
| Parameter | Type | Required | Description |
|---|---|---|---|
| actor_label | string | Yes | Editor label of the owning actor |
| component_name | string | No | Optional UPCGComponent name |
| force | bool | No | Force generate even if not dirty |
| trigger | int | No | EPCGComponentGenerationTrigger (0/1/2) |
| grid | int | No | Hierarchical grid size (0 = uninitialized) |
cfa pcg_generate_local --actor-label PCG_Forest_01 --trigger 1 --forcepcg_cleanup_localCall UPCGComponent::CleanupLocal(bRemoveComponents)
Scheduled (non-immediate) cleanup on the local component.
| Parameter | Type | Required | Description |
|---|---|---|---|
| actor_label | string | Yes | Editor label of the owning actor |
| component_name | string | No | Optional UPCGComponent name |
| remove_components | bool | No | Remove spawned components |
cfa pcg_cleanup_local --actor-label PCG_Forest_01pcg_cleanup_local_immediateCall UPCGComponent::CleanupLocalImmediate, synchronous, no delayed tasks
If cleanup_local_components=true, also cleans up per-grid local PCG components.
| Parameter | Type | Required | Description |
|---|---|---|---|
| actor_label | string | Yes | Editor label of the owning actor |
| component_name | string | No | Optional UPCGComponent name |
| remove_components | bool | No | Remove spawned components |
| cleanup_local_components | bool | No | Also cleanup local per-grid PCG components |
cfa pcg_cleanup_local_immediate --actor-label PCG_Forest_01 --cleanup-local-componentspcg_cancel_component_generationCall UPCGComponent::CancelGeneration on the named actor
Cancels any in-flight generation for this single component (unlike cancel_pcg_generation which works on all components bound to a graph).
| Parameter | Type | Required | Description |
|---|---|---|---|
| actor_label | string | Yes | Editor label of the owning actor |
| component_name | string | No | Optional UPCGComponent name |
cfa pcg_cancel_component_generation --actor-label PCG_Forest_01pcg_set_component_graphCall UPCGComponent::SetGraph to assign a PCG graph to a component
NetMulticast Reliable, replicates to clients. Wraps UPCGComponent::SetGraph(UPCGGraphInterface*).
| Parameter | Type | Required | Description |
|---|---|---|---|
| actor_label | string | Yes | Editor label of the owning actor |
| graph_path | string | Yes | Content path of the UPCGGraph asset |
| component_name | string | No | Optional UPCGComponent name |
cfa pcg_set_component_graph --actor-label PCG_Forest_01 --graph-path /Game/PCG/PCG_Forestpcg_get_generated_outputRead the last generated FPCGDataCollection from a component
Wraps UPCGComponent::GetGeneratedGraphOutput(). Returns tagged_data: [{pin, type, tags, pinless}...].
| Parameter | Type | Required | Description |
|---|---|---|---|
| actor_label | string | Yes | Editor label of the owning actor |
| component_name | string | No | Optional UPCGComponent name |
cfa pcg_get_generated_output --actor-label PCG_Forest_01pcg_clear_pcg_linkCall UPCGComponent::ClearPCGLink, detach generated content into a standalone actor
Optional template_actor_class controls the spawned actor type (e.g. /Script/Engine.StaticMeshActor). Empty uses the engine default.
| Parameter | Type | Required | Description |
|---|---|---|---|
| actor_label | string | Yes | Editor label of the owning actor |
| component_name | string | No | Optional UPCGComponent name |
| template_actor_class | string | No | Full class path of the target actor template |
cfa pcg_clear_pcg_link --actor-label PCG_Forest_01pcg_is_partitionedCheck whether a UPCGComponent is partitioned
Wraps UPCGComponent::IsPartitioned() + GetGridBounds().
| Parameter | Type | Required | Description |
|---|---|---|---|
| actor_label | string | Yes | Editor label of the owning actor |
| component_name | string | No | Optional UPCGComponent name |
cfa pcg_is_partitioned --actor-label PCG_World_01pcg_list_partition_actorsList APCGPartitionActors in the world, optionally filtered by an original PCG component
If actor_label is given, returns only partition actors serving that original. Otherwise returns ALL partition actors in the editor world. Concise output, no bounds per entry.
| Parameter | Type | Required | Description |
|---|---|---|---|
| actor_label | string | No | Optional original-component owner label to filter by |
| component_name | string | No | Optional UPCGComponent name (with actor_label) |
cfa pcg_list_partition_actors --actor-label PCG_World_01pcg_get_partition_actor_infoGet detailed info on one APCGPartitionActor by name
Returns grid coord, grid size, fixed bounds, runtime/2D flags, local + original component counts, and original owner actor labels.
| Parameter | Type | Required | Description |
|---|---|---|---|
| partition_actor_name | string | Yes | Actor name of the APCGPartitionActor |
cfa pcg_get_partition_actor_info --partition-actor-name PCGPartitionGridActor_3200_4_8pcg_aggregate_partition_outputAggregate generated output across all partition actors of a partitioned PCG component
Iterates partition actors, collects GetLocalComponent(Original)->GetGeneratedGraphOutput(). Per-partition entries are summaries only. Pass summary_only=true to omit them entirely.
| Parameter | Type | Required | Description |
|---|---|---|---|
| actor_label | string | Yes | Editor label of the original PCG component owner |
| component_name | string | No | Optional UPCGComponent name |
| max_entries_per_partition | int | No | Cap on tagged_data preview entries per partition (0 = no cap) |
| summary_only | bool | No | Omit per_partition array, return only aggregate counts |
cfa pcg_aggregate_partition_output --actor-label PCG_World_01 --summary-onlypcg_schedule_graphSchedule a PCG graph for async execution against a component as execution source
Wraps UPCGSubsystem::ScheduleGraph(UPCGGraph*, IPCGGraphExecutionSource*...). Returns the FPCGTaskId.
| Parameter | Type | Required | Description |
|---|---|---|---|
| graph_path | string | Yes | PCG graph asset path |
| actor_label | string | Yes | Actor label whose PCG component is the execution source |
| component_name | string | No | Optional UPCGComponent name on that actor |
| dependencies | string | No | Optional JSON array of FPCGTaskId integers to wait on |
cfa pcg_schedule_graph --graph-path /Game/PCG/PCG_Forest --actor-label PCG_World_01pcg_schedule_componentSchedule a PCG component's own graph for async execution
Wraps UPCGSubsystem::ScheduleComponent. On 5.8 grid is uint32 (0 = uninitialized/all); on 5.7 it's the EPCGHiGenGrid enum value.
| Parameter | Type | Required | Description |
|---|---|---|---|
| actor_label | string | Yes | Actor label owning the PCG component |
| component_name | string | No | Optional UPCGComponent name |
| grid | int | No | Grid size (uint32 on 5.8, EPCGHiGenGrid on 5.7). 0 = uninitialized/all |
| force | bool | No | Force regeneration even if not dirty |
| dependencies | string | No | Optional JSON array of FPCGTaskId integers |
cfa pcg_schedule_component --actor-label PCG_World_01 --forcepcg_schedule_cleanupSchedule cleanup of a PCG component's graph
Wraps UPCGSubsystem::ScheduleCleanup. Returns the FPCGTaskId.
| Parameter | Type | Required | Description |
|---|---|---|---|
| actor_label | string | Yes | Actor label owning the PCG component |
| component_name | string | No | Optional UPCGComponent name |
| remove_components | bool | No | Also remove spawned components/actors |
| dependencies | string | No | Optional JSON array of FPCGTaskId integers |
cfa pcg_schedule_cleanup --actor-label PCG_World_01pcg_schedule_refreshRefresh a PCG component on the current or next frame (editor only)
Wraps UPCGComponent::Refresh(EPCGChangeType, bCancelExistingRefresh). Uses the safe public component API rather than UPCGSubsystem::ScheduleRefresh directly, so the component's CurrentGenerationTask invariant is respected.
| Parameter | Type | Required | Description |
|---|---|---|---|
| actor_label | string | Yes | Actor label owning the PCG component |
| component_name | string | No | Optional UPCGComponent name |
| change_type | string | No | EPCGChangeType name (default "None"). Valid: None, Cosmetic, Settings, Input, Edge, Node, Structural, GenerationGrid, ShaderSource, GraphCustomization, ExternalModification |
| cancel_existing_refresh | bool | No | Cancel any in-flight refresh before scheduling this one |
cfa pcg_schedule_refresh --actor-label PCG_World_01 --change-type Structuralpcg_generate_all_componentsGenerate every registered PCG component in the world (editor only)
Wraps UPCGSubsystem::GenerateAllPCGComponents. Fires OnAllComponentsGenerated when done.
| Parameter | Type | Required | Description |
|---|---|---|---|
| force | bool | No | Force regeneration even on clean components |
cfa pcg_generate_all_components --forcepcg_cleanup_all_componentsCleanup every registered PCG component in the world (editor only)
Wraps UPCGSubsystem::CleanupAllPCGComponents(bPurge). purge=false (default) is a soft cleanup that lets components auto-regenerate. purge=true routes each component through CleanupLocalDeleteAllGeneratedObjects (PCGSubsystem.cpp:1910): deletes ALL generated objects, prevents auto-regen, you must call pcg_generate_all_components --force afterward to restore content. Mass actor deletion can race with editor actor-tracking refresh and emit a benign ensure() at PCGManagedResourceContainer.cpp:161; non-fatal.
| Parameter | Type | Required | Description |
|---|---|---|---|
| purge | bool | No | If true: destructive cleanup that deletes ALL generated objects. Content will NOT auto-regenerate; call pcg_generate_all_components --force afterward. |
cfa pcg_cleanup_all_components # SAFE soft cleanup
cfa pcg_cleanup_all_components --purge # DESTRUCTIVE, requires manual regen afterpcg_refresh_runtime_gen_sourcesRefresh all GenerateAtRuntime PCG execution sources
Wraps RefreshAllRuntimeGenExecutionSources (5.8) / deprecated RefreshAllRuntimeGenComponents (5.7). For the canonical 'refresh all runtime-gen content including partition actors' behavior, prefer pcg_runtime_generation_refresh which mirrors the pcg.RuntimeGeneration.Refresh console command (uses EPCGChangeType::GenerationGrid).
| Parameter | Type | Required | Description |
|---|---|---|---|
| change_type | string | No | EPCGChangeType: None|Cosmetic|Settings|Input|Edge|Node|Structural|GenerationGrid|ShaderSource|GraphCustomization|ExternalModification |
cfa pcg_refresh_runtime_gen_sources --change-type GenerationGridpcg_dirty_runtime_gen_sourcesMark all runtime-gen PCG execution sources as dirty (5.8+ only)
Wraps UPCGSubsystem::DirtyRuntimeGenExecutionSources. Returns an error on 5.7.
| Parameter | Type | Required | Description |
|---|---|---|---|
| change_type | string | No | EPCGChangeType name |
cfa pcg_dirty_runtime_gen_sources --change-type Structuralpcg_refresh_all_components_filteredRefresh PCG components matching a filter predicate (editor only)
Wraps UPCGSubsystem::RefreshAllComponentsFiltered. Components must satisfy ALL non-empty filters.
| Parameter | Type | Required | Description |
|---|---|---|---|
| partitioned_only | bool | No | Only refresh components where IsPartitioned() is true |
| runtime_generated_only | bool | No | Only refresh components where IsManagedByRuntimeGenSystem() is true |
| graph_path | string | No | Only refresh components whose graph asset path matches exactly |
| actor_label_pattern | string | No | Case-insensitive Contains match on owner actor label |
| change_type | string | No | EPCGChangeType name |
cfa pcg_refresh_all_components_filtered --partitioned-only --change-type Structuralpcg_flush_cacheFlush PCG results cache and compiled-graph cache
Wraps IPCGBaseSubsystem::FlushCache (IPCGBaseSubsystem.h:91 in 5.8,:90 in 5.7). Mirrors `pcg.FlushCache` console command. Use before re-running graphs whose external dependencies (textures, data tables, etc.) changed.
cfa pcg_flush_cachepcg_runtime_generation_refreshClean up and re-generate all runtime-gen PCG components including partition actors
Exact mirror of `pcg.RuntimeGeneration.Refresh` console command. Calls UPCGSubsystem::RefreshAllRuntimeGenExecutionSources with EPCGChangeType::GenerationGrid (PCGSubsystem.h:220 in 5.8), triggers full partition-actor cleanup+regen. On 5.7 falls back to deprecated RefreshAllRuntimeGenComponents (PCGSubsystem.h:193) with the same change type. Use after a destructive pcg_cleanup_all_components --purge to reliably restore runtime-generated content.
cfa pcg_runtime_generation_refreshpcg_refresh_pcg_runtime_componentRefresh a single GenerateAtRuntime PCG component (optionally flushing cache first)
Wraps UPCGBlueprintHelpers::RefreshPCGRuntimeComponent (PCGBlueprintHelpers.cpp:370 in both 5.7 and 5.8). Internally optionally calls FlushCache then RefreshRuntimeGenExecutionSource (5.8) / RefreshRuntimeGenComponent (5.7) with EPCGChangeType::GenerationGrid. Use when one specific runtime component (and its partition cells) needs re-evaluation.
| Parameter | Type | Required | Description |
|---|---|---|---|
| actor_label | string | Yes | Owner actor's editor label |
| component_name | string | No | Optional PCG component name; empty selects the first UPCGComponent |
| flush_cache | bool | No | If true, flush the PCG cache before refreshing |
cfa pcg_refresh_pcg_runtime_component --actor-label PCG_Test --flush-cachepcg_build_landscape_cacheBuild the PCG landscape cache for the current world
Wraps UPCGSubsystem::BuildLandscapeCache (PCGSubsystem.h:364 in 5.8,:301 in 5.7). Mirrors `pcg.BuildLandscapeCache` console command.
| Parameter | Type | Required | Description |
|---|---|---|---|
| quiet | bool | No | Suppress log spam during build |
| force_build | bool | No | Force rebuild even if the cache appears up-to-date (default true) |
cfa pcg_build_landscape_cache --force-buildpcg_clear_landscape_cacheClear the PCG landscape cache for the current world
Wraps UPCGSubsystem::ClearLandscapeCache (PCGSubsystem.h:367 in 5.8,:304 in 5.7). Mirrors `pcg.ClearLandscapeCache` console command.
cfa pcg_clear_landscape_cachepcg_is_inspectingCheck whether per-node inspection is enabled on a UPCGComponent
Wraps FPCGGraphExecutionInspection::IsInspecting (PCGGraphExecutionInspection.h:44). Access path: UPCGComponent->GetExecutionState().GetInspection().IsInspecting().
| Parameter | Type | Required | Description |
|---|---|---|---|
| actor_label | string | Yes | Owner actor's editor label |
| component_name | string | No | Optional UPCGComponent name; empty selects first |
cfa pcg_is_inspecting --actor-label PCG_Testpcg_enable_node_inspectionEnable per-node inspection on a UPCGComponent
Wraps FPCGGraphExecutionInspection::EnableInspection (PCGGraphExecutionInspection.h:45). Records per-node data, GPU transfers, override application, and inactive-pin masks on the next execution. Inspection is a per-component flag, so for partitioned graphs you must also enable it on each local component on partition actors -- pass --include-partitions for that, otherwise pcg_inspect_partition_node_output will find no data.
| Parameter | Type | Required | Description |
|---|---|---|---|
| actor_label | string | Yes | Owner actor's editor label |
| component_name | string | No | Optional UPCGComponent name |
| include_partitions | bool | No | If true and the component is partitioned, also EnableInspection on every local UPCGComponent on partition actors serving this original (APCGPartitionActor::GetLocalComponent) |
cfa pcg_enable_node_inspection --actor-label PCG_ResourceVein
cfa pcg_enable_node_inspection --actor-label PCG_Test --include-partitionspcg_disable_node_inspectionDisable per-node inspection on a UPCGComponent
Wraps FPCGGraphExecutionInspection::DisableInspection (PCGGraphExecutionInspection.h:46). Pair --include-partitions with the matching enable call to also disable inspection on partition locals.
| Parameter | Type | Required | Description |
|---|---|---|---|
| actor_label | string | Yes | Owner actor's editor label |
| component_name | string | No | Optional UPCGComponent name |
| include_partitions | bool | No | If true and the component is partitioned, also DisableInspection on every local UPCGComponent on partition actors |
cfa pcg_disable_node_inspection --actor-label PCG_Test --include-partitionspcg_was_node_executedCheck whether a node's task executed during the last generation
Wraps FPCGGraphExecutionInspection::WasNodeExecuted (PCGGraphExecutionInspection.h:58). Stack defaults to [Component, Graph]; pass --stack-frames for nested subgraphs/loops.
| Parameter | Type | Required | Description |
|---|---|---|---|
| actor_label | string | Yes | Owner actor's editor label |
| component_name | string | No | Optional UPCGComponent name |
| node_name | string | No | Node FName (e.g. SurfaceSampler_2). Provide this OR node_id. |
| node_id | int | No | Integer index into Graph->GetNodes() (-2=input, -1=output). Provide this OR node_name. |
| stack_frames | string | No | Advanced JSON array of extra frame objects/loop indices appended after [Component, Graph] |
cfa pcg_was_node_executed --actor-label PCG_Test --node-name SurfaceSampler_2pcg_has_node_produced_dataCheck whether a node produced data in the last execution
Wraps FPCGGraphExecutionInspection::HasNodeProducedData (PCGGraphExecutionInspection.h:72).
| Parameter | Type | Required | Description |
|---|---|---|---|
| actor_label | string | Yes | Owner actor's editor label |
| component_name | string | No | Optional UPCGComponent name |
| node_name | string | No | Node FName. Provide this OR node_id. |
| node_id | int | No | Integer node index. Provide this OR node_name. |
| stack_frames | string | No | Advanced JSON array override |
cfa pcg_has_node_produced_data --actor-label PCG_Test --node-name SurfaceSampler_2pcg_get_node_inactive_pin_maskGet the bitmask of output pins deactivated by dynamic branching
Wraps FPCGGraphExecutionInspection::GetNodeInactivePinMask (PCGGraphExecutionInspection.h:66). Returns raw uint64 mask plus resolved pin labels.
| Parameter | Type | Required | Description |
|---|---|---|---|
| actor_label | string | Yes | Owner actor's editor label |
| component_name | string | No | Optional UPCGComponent name |
| node_name | string | No | Node FName. Provide this OR node_id. |
| node_id | int | No | Integer node index. Provide this OR node_name. |
| stack_frames | string | No | Advanced JSON array override |
cfa pcg_get_node_inactive_pin_mask --actor-label PCG_Test --node-name BranchApcg_did_node_trigger_gpu_to_cpu_readbackCheck whether a node triggered a GPU->CPU readback during last execution
Wraps FPCGGraphExecutionInspection::DidNodeTriggerGPUToCPUReadback (PCGGraphExecutionInspection.h:77). Useful for perf diagnosis on GPU compute graphs.
| Parameter | Type | Required | Description |
|---|---|---|---|
| actor_label | string | Yes | Owner actor's editor label |
| component_name | string | No | Optional UPCGComponent name |
| node_name | string | No | Node FName. Provide this OR node_id. |
| node_id | int | No | Integer node index. Provide this OR node_name. |
| stack_frames | string | No | Advanced JSON array override |
cfa pcg_did_node_trigger_gpu_to_cpu_readback --actor-label PCG_Test --node-name GPUNodepcg_did_node_trigger_cpu_to_gpu_uploadCheck whether a node triggered a CPU->GPU upload during last execution
Wraps FPCGGraphExecutionInspection::DidNodeTriggerCPUToGPUUpload (PCGGraphExecutionInspection.h:78).
| Parameter | Type | Required | Description |
|---|---|---|---|
| actor_label | string | Yes | Owner actor's editor label |
| component_name | string | No | Optional UPCGComponent name |
| node_name | string | No | Node FName. Provide this OR node_id. |
| node_id | int | No | Integer node index. Provide this OR node_name. |
| stack_frames | string | No | Advanced JSON array override |
cfa pcg_did_node_trigger_cpu_to_gpu_upload --actor-label PCG_Test --node-name GPUNodepcg_node_applied_data_overridesCheck whether data overrides were applied to a node during last execution
Wraps FPCGGraphExecutionInspection::NodeAppliedDataOverrides (PCGGraphExecutionInspection.h:84).
| Parameter | Type | Required | Description |
|---|---|---|---|
| actor_label | string | Yes | Owner actor's editor label |
| component_name | string | No | Optional UPCGComponent name |
| node_name | string | No | Node FName. Provide this OR node_id. |
| node_id | int | No | Integer node index. Provide this OR node_name. |
| stack_frames | string | No | Advanced JSON array override |
cfa pcg_node_applied_data_overrides --actor-label PCG_Test --node-name Spawnerpcg_inspect_node_outputInspect a node's output data collection (compact, AI-friendly summary)
Wraps FPCGGraphExecutionInspection::InspectData (PCGGraphExecutionInspection.h:50). Stack auto-built as [Component, Graph, Node]. Returns per-tagged-data entry: pin, type, point_count, attributes, optional preview points, tags. Never dumps full point data.
| Parameter | Type | Required | Description |
|---|---|---|---|
| actor_label | string | Yes | Owner actor's editor label |
| component_name | string | No | Optional UPCGComponent name |
| node_name | string | No | Node FName. Provide this OR node_id. |
| node_id | int | No | Integer node index. Provide this OR node_name. |
| stack_frames | string | No | Advanced JSON array of extra frames after [Component, Graph] |
| max_points_per_entry | int | No | 0 = stats only. >0 = include sample points per entry. |
| include_attributes | bool | No | Include attribute names per tagged-data entry |
cfa pcg_inspect_node_output --actor-label PCG_Test --node-name SurfaceSampler_2 --max-points-per-entry 5pcg_inspect_partition_node_outputInspect a node's output across ALL partition cells of a partitioned PCG component
Use this for partitioned graphs (PCG_Test style). Use pcg_inspect_node_output for non-partitioned components. Walks every APCGPartitionActor referencing the original component, calls GetLocalComponent (PCGPartitionActor.h:126), and aggregates FPCGGraphExecutionInspection::InspectData (PCGGraphExecutionInspection.h:50) per local. Returns per-partition summary: grid_coord, grid_size, entries, points, tagged_data.
| Parameter | Type | Required | Description |
|---|---|---|---|
| actor_label | string | Yes | Original component's actor editor label |
| component_name | string | No | Optional original UPCGComponent name |
| node_name | string | No | Node FName on the shared graph. Provide this OR node_id. |
| node_id | int | No | Integer node index. Provide this OR node_name. |
| max_points_per_entry | int | No | 0 = stats only. >0 = include sample points per entry. |
| include_attributes | bool | No | Include attribute names per tagged-data entry |
| max_partitions | int | No | 0 = unlimited. >0 caps how many partition cells are walked. |
cfa pcg_inspect_partition_node_output --actor-label PCG_Test --node-name SurfaceSampler_2pcg_list_executed_nodesList all nodes executed during last generation (compact)
Wraps FPCGGraphExecutionInspection::GetExecutedNodeStacks (PCGGraphExecutionInspection.h:63). One entry per node with stack_count (>1 means executed under multiple stacks, dynamic subgraphs or loop iterations). Does not dump stack contents.
| Parameter | Type | Required | Description |
|---|---|---|---|
| actor_label | string | Yes | Owner actor's editor label |
| component_name | string | No | Optional UPCGComponent name |
cfa pcg_list_executed_nodes --actor-label PCG_Testpcg_clear_inspection_dataClear cached inspection data on a UPCGComponent
Wraps FPCGGraphExecutionInspection::ClearInspectionData (PCGGraphExecutionInspection.h:55). Pass --clear-per-node-execution-data=false to keep per-node execution tracking while dropping the data cache.
| Parameter | Type | Required | Description |
|---|---|---|---|
| actor_label | string | Yes | Owner actor's editor label |
| component_name | string | No | Optional UPCGComponent name |
| clear_per_node_execution_data | bool | No | If false, only clears the data cache; keeps per-node execution flags |
cfa pcg_clear_inspection_data --actor-label PCG_Test