Navigation
API > API/Plugins > API/Plugins/PCG > API/Plugins/PCG/Elements
Inheritance Hierarchy
- UObject
- UPCGBlueprintElement
References
| Module | PCG |
| Header | /Engine/Plugins/PCG/Source/PCG/Public/Elements/PCGExecuteBlueprint.h |
| Include | #include "Elements/PCGExecuteBlueprint.h" |
Syntax
UCLASS (Abstract, BlueprintType, Blueprintable, HideCategories=(Object))
class UPCGBlueprintElement : public UObject
Variables
| Type | Name | Description | |
|---|---|---|---|
| bool | bComputeFullDataCrc | In cases where your node is non-cacheable but is likely to yield the same results on subsequent executions, this controls whether we will do a deep & computationally intensive CRC computation (true), which will allow cache usage in downstream nodes in your graph, or, by default (false), a shallow but quick crc computation which will not be cache-friendly. | |
| bool | bEnablePreconfiguredSettings | ||
| bool | bExposeToLibrary | ||
| bool | bHasDefaultInPin | ||
| bool | bHasDefaultOutPin | ||
| bool | bIsCacheable | Controls whether results can be cached so we can bypass execution if the inputs & settings are the same in a subsequent execution. | |
| bool | bOnlyExposePreconfiguredSettings | ||
| bool | bRequiresGameThread | Controls whether this node execution can be run from a non-game thread. | |
| FText | Category | ||
| FPCGContext * | CurrentContext | Since we duplicate the blueprint elements prior to execution, they will be unique and have a 1:1 match with their context, which allows us to store it here | |
| TArray< FPCGPinProperties > | CustomInputPins | ||
| TArray< FPCGPinProperties > | CustomOutputPins | ||
| TSet< TObjectPtr< UObject > > | DataDependencies | ||
| int32 | DependencyParsingDepth | ||
| FText | Description | ||
| FOnPCGBlueprintChanged | OnBlueprintChangedDelegate | ||
| TArray< FPCGPreConfiguredSettingsInfo > | PreconfiguredInfo |
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | ApplyPreconfiguredSettings
(
UPARAM(ref) const FPCGPreConfiguredSettingsInfo& InPreconfigureInfo |
Apply the preconfigured settings specified in the class default. | |
| void | BeginDestroy () |
||
| TSet< FName > | Returns the labels of custom input pins only. | ||
| TSet< FName > | Returns the labels of custom output pins only. | ||
| void | Execute
(
const FPCGDataCollection& Input, |
Main execution function that will contain the logic for this PCG Element. | |
| void | ExecuteWithContext
(
UPARAM(ref) FPCGContext& InContext, |
Main execution function that will contain the logic for this PCG Element, with the context as parameter. | |
| FPCGContext & | GetContext () |
Retrieves the execution context - note that this will not be valid outside of the Execute functions | |
| bool | GetInputPinByLabel
(
FName InPinLabel, |
Returns true if there is an input pin with the matching label. | |
| TArray< FPCGPinProperties > | GetInputPins () |
||
| bool | GetOutputPinByLabel
(
FName InPinLabel, |
Returns true if there is an output pin with the matching label. | |
| TArray< FPCGPinProperties > | |||
| FString | Used for filtering | ||
| FRandomStream | GetRandomStream
(
UPARAM(ref) FPCGContext& InContext |
Creates a random stream from the settings & source component | |
| int | GetSeed
(
UPARAM(ref) FPCGContext& InContext |
Gets the seed from the associated settings & source component | |
| UWorld * | GetWorld () |
Needed to be able to call certain blueprint functions | |
| void | Initialize () |
Called after object creation to setup the object callbacks | |
| bool | Override for the IsCacheable node property when it depends on the settings in your node. | ||
| void | IterationLoop
(
UPARAM(ref) FPCGContext& InContext, |
Calls the IterationLoopBody a fixed number of times, optional parameters are used to potentially initialized the Out Data, but otherwise are used to remove the need to have variables | |
| bool | IterationLoopBody
(
const FPCGContext& InContext, |
Multi-threaded loop that will be called N number of times (defined by Iteration Loop parameter NumIterations). | |
| void | NestedLoop
(
UPARAM(ref) FPCGContext& InContext, |
Calls the NestedLoopBody function on all nested loop pairs (e.g. (o, i) for all o in Outer, i in Inner) | |
| bool | NestedLoopBody
(
const FPCGContext& InContext, |
Multi-threaded loop that will iterate on all nested loop pairs (e.g. (o, i) for all o in Outer, i in Inner). | |
| FLinearColor | Override for the default node color. | ||
| FName | Override for the default node name | ||
| EPCGSettingsType | Override to change the node type. | ||
| void | OnDependencyChanged
(
UObject* Object, |
||
| void | PointLoop
(
UPARAM(ref) FPCGContext& InContext, |
Calls the PointLoopBody function on all points | |
| bool | PointLoopBody
(
const FPCGContext& InContext, |
Multi-threaded loop that will iterate on all points in InData. | |
| void | PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
||
| void | PostLoad () |
||
| void | SetCurrentContext
(
FPCGContext* InCurrentContext |
Called after the element duplication during execution to be able to get the context easily - internal call only | |
| void | VariableLoop
(
UPARAM(ref) FPCGContext& InContext, |
Calls the VariableLoopBody function on all points, each call can return a variable number of points | |
| TArray< FPCGPoint > | VariableLoopBody
(
const FPCGContext& InContext, |
Multi-threaded loop that will be called on all points in InData. |
Deprecated Variables
| Type | Name | Description | |
|---|---|---|---|
| bool | bCanBeMultithreaded_DEPRECATED | This property is deprecated, please use 'Requires Game Thread' instead. | |
| TSet< FName > | InputPinLabels_DEPRECATED | ||
| TSet< FName > | OutputPinLabels_DEPRECATED |