className: FPCGContext

AsyncState

type: FPCGAsyncState

bShouldUnrootSettingsOnDelete

description: Used to prevent settings override being deleted, needs to be false when going through blueprint calls with a context.

CompiledTaskId

type: FPCGTaskId

CurrentPhase

type: EPCGExecutionPh...

DependenciesCrc

type: FPCGCrc

GenerationGrid

type: EPCGHiGenGrid

description: Used by grid size data linkages to store/retrieve data.

InputData

type: FPCGDataCollect...

Node

type: constUPCGNode...

description: TODO: replace this by a better identification mechanism.

type: TWeakObjectPtr<...

Stack

type: constFPCGStack...

description: The current call stack.


className: FPCGCrc

description: Crc with valid flag and helper functionality.

module: PCG


className: GUID

description: The GUID for this custom version number.

code: static const [FGuid](API\Runtime\Core\Misc\FGuid) GUID;


className: Type

code: enum Type { BeforeCustomVersionWasAdded = 0, SplitProjectionNodeInputs = 1, MoveSelfPruningParamsOffFirstPin = 2, MoveParamsOffFirstPinDensityNodes = 3, SplitSamplerNodesInputs = 4, MovePointFilterParamsOffFirstPin = 5, AddParamPinToOverridableNodes = 6, SplitVolumeSamplerNodeInputs = 7, SplineSamplerUpdatedNodeInputs = 8, RenameDefaultParamsToOverride = 9, SplineSamplerBoundedByDefault = 10, StaticMeshSpawnerApplyMeshBoundsToPointsByDefault = 11, UpdateAttributePropertyInputSelector = 12, DifferenceNodeIterateOnSourceAndUnionDifferences = 13, UpdateAddAttributeWithSelectors = 14, UpdateTransferAttributeWithSelectors = 15, VersionPlusOne, LatestVersion = VersionPlusOne - 1, }


className: FPCGCustomVersion

description: No constructors are accessible with public or protected access.

code: struct FPCGCustomVersion


code: void AddToRootSet ( [FPCGRootSet](API\Plugins\PCG\FPCGRootSet) & RootSet ) const


description: Returns all params in the collection

code: [TArray](API\Runtime\Core\Containers\TArray)< [FPCGTaggedData](API\Plugins\PCG\FPCGTaggedData) > GetAllParams() const


description: Returns all settings in the collection

code: [TArray](API\Runtime\Core\Containers\TArray)< [FPCGTaggedData](API\Plugins\PCG\FPCGTaggedData) > GetAllSettings() const


description: Returns the first/only param found on the default params pin

code: [UPCGParamData](API\Plugins\PCG\UPCGParamData) * GetFirstParamsOnParamsPin() const


description: Gets number of data items on a given pin

code: int32 GetInputCountByPin ( const [FName](API\Runtime\Core\UObject\FName) & InPinLabel ) const


description: Computes Crc for this data.

code: [FPCGCrc](API\Plugins\PCG\FPCGCrc) ComputeCrc ( bool bFullDataCrc )


description: Returns all spatial data in the collection

code: [TArray](API\Runtime\Core\Containers\TArray)< [FPCGTaggedData](API\Plugins\PCG\FPCGTaggedData) > GetInputs() const


description: Returns all data on a given pin

code: [TArray](API\Runtime\Core\Containers\TArray)< [FPCGTaggedData](API\Plugins\PCG\FPCGTaggedData) > GetInputsByPin ( const [FName](API\Runtime\Core\UObject\FName) & InPinLabel ) const


description: Returns the first params found in the collection

code: [UPCGParamData](API\Plugins\PCG\UPCGParamData) * GetParams() const


description: Returns all params on a given pin

code: [TArray](API\Runtime\Core\Containers\TArray)< [FPCGTaggedData](API\Plugins\PCG\FPCGTaggedData) > GetParamsByPin ( const [FName](API\Runtime\Core\UObject\FName) & InPinLabel ) const


description: Only used as a temporary solution for old graph with nodes that didn't have params pins. Should NOT be used with new nodes.

code: [UPCGParamData](API\Plugins\PCG\UPCGParamData) * GetParamsWithDeprecation ( const [UPCGNode](API\Plugins\PCG\UPCGNode) * Node ) const


description: Memory size calculation. Forward call to the data objects in the collection.

code: void GetResourceSizeEx ( [FResourceSizeEx](API\Runtime\Core\ProfilingDebugging\FResourceSizeEx) & CumulativeResourceSize ) const


code: const [UPCGSettings](API\Plugins\PCG\UPCGSettings) * GetSettings ( const [UPCGSettings](API\Plugins\PCG\UPCGSettings) * InDefaultSettings ) const


code: template<typename SettingsType> const SettingsType * GetSettings() const


code: const [UPCGSettingsInterface](API\Plugins\PCG\UPCGSettingsInterface) * GetSettingsInterface() const


code: const [UPCGSettingsInterface](API\Plugins\PCG\UPCGSettingsInterface) * GetSettingsInterface ( const [UPCGSettingsInterface](API\Plugins\PCG\UPCGSettingsInterface) * InDefaultSettingsInterface ) const


description: Gets number of spatial data items on a given pin

code: int32 GetSpatialInputCountByPin ( const [FName](API\Runtime\Core\UObject\FName) & InPinLabel ) const


description: Returns all spatial data on a given pin

code: [TArray](API\Runtime\Core\Containers\TArray)< [FPCGTaggedData](API\Plugins\PCG\FPCGTaggedData) > GetSpatialInputsByPin ( const [FName](API\Runtime\Core\UObject\FName) & InPinLabel ) const


description: Returns spatial union of all data on a given pin, returns null if no such data exists. bOutUnionDataCreated indicates if new data created that may need rooting.

code: const [UPCGSpatialData](API\Plugins\PCG\Data\UPCGSpatialData) * GetSpatialUnionOfInputsByPin ( const [FName](API\Runtime\Core\UObject\FName) & InPinLabel, bool & bOutUnionDataCreated ) const


description: Returns all spatial data in the collection with the given tag

code: [TArray](API\Runtime\Core\Containers\TArray)< [FPCGTaggedData](API\Plugins\PCG\FPCGTaggedData) > GetTaggedInputs ( const [FString](API\Runtime\Core\Containers\FString) & InTag ) const


description: Returns all data in the collection with the given tag and given type

code: template<typename PCGDataType> [TArray](API\Runtime\Core\Containers\TArray)< [FPCGTaggedData](API\Plugins\PCG\FPCGTaggedData) > GetTaggedTypedInputs ( const [FString](API\Runtime\Core\Containers\FString) & InTag ) const


description: Returns all params in the collection with a given tag

code: [TArray](API\Runtime\Core\Containers\TArray)< [FPCGTaggedData](API\Plugins\PCG\FPCGTaggedData) > GetTaggedParams ( const [FString](API\Runtime\Core\Containers\FString) & InTag ) const


code: bool operator== ( const [FPCGDataCollection](API\Plugins\PCG\FPCGDataCollection) & Other ) const


code: bool operator!= ( const [FPCGDataCollection](API\Plugins\PCG\FPCGDataCollection) & Other ) const


code: void RemoveFromRootSet ( [FPCGRootSet](API\Plugins\PCG\FPCGRootSet) & RootSet ) const


description: Cleans up the collection, but does not unroot any previously rooted data.

code: void Reset()


className: FPCGDataCollection

code: struct FPCGDataCollection

bCancelExecution

type: bool

description: This flag is used to cancel further computation or for the debug/isolate feature

Crc

description: A snapshot of the internal state of the data.

TaggedData

type: TArray<FPCGTag...


code: [TSoftObjectPtr](API\Runtime\CoreUObject\UObject\TSoftObjectPtr)< [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) > GetMaterial() const


className: FPCGDebugVisualizationSettings

bCheckForDuplicates

description: Warning: enabling this flag will have severe performance impact

MaterialOverride

type: TSoftObjectPtr<...

PointScale

type: float

ScaleMethod

type: EPCGDebugVisSca...


className: FPCGElementPtr

code: typedef [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [IPCGElement](API\Plugins\PCG\IPCGElement), ESPMode::ThreadSafe > FPCGElementPtr


description: Used to specify that the element passes through the data without any manipulation - used to correct target pins, etc.

code: virtual bool IsPassthrough ( const [UPCGSettings](API\Plugins\PCG\UPCGSettings) * InSettings ) const


description: Core execution method for the given element. Will be called until it returns true.

code: virtual bool ExecuteInternal ( [FPCGContext](API\Plugins\PCG\FPCGContext) * Context ) const


code: FPCGInputForwardingElement ( const [FPCGDataCollection](API\Plugins\PCG\FPCGDataCollection) & InputToForward )


className: FPCGInputForwardingElement

code: class FPCGInputForwardingElement : public [FSimplePCGElement](API\Plugins\PCG\FSimplePCGElement)

RootedData

type: TArray<UPCGDat...


description: Returns true if the node can be cached (e.g. does not create artifacts & does not depend on untracked data

code: virtual bool IsCacheable ( const [UPCGSettings](API\Plugins\PCG\UPCGSettings) * InSettings ) const


className: FPCGInputOutputElement

code: class FPCGInputOutputElement : public [FSimplePCGElement](API\Plugins\PCG\FSimplePCGElement)


description: Return if the property is currently marked overridden and has a different value than its default value.

code: bool IsPropertyOverriddenAndNotDefault ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * InProperty, const [FInstancedPropertyBag](API\Plugins\StructUtils\FInstancedPropertyBag) * ParentUserParameters ) const


description: Return if the property is currently marked overridden.

code: bool IsPropertyOverridden ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * InProperty ) const


description: Will migrate to a new property bag instanced, and will remove porperties that doesn't exists anymore or have changed types.

code: void MigrateToNewBagInstance ( const [FInstancedPropertyBag](API\Plugins\StructUtils\FInstancedPropertyBag) & NewBagInstance )


description: Handle the sync between the parent parameters and the overrides. Will return true if something changed.

code: bool RefreshParameters ( const [FInstancedPropertyBag](API\Plugins\StructUtils\FInstancedPropertyBag) * ParentUserParameters, [EPCGGraphParameterEvent](API\Plugins\PCG\EPCGGraphParameterEvent) InChangeType, [FName](API\Runtime\Core\UObject\FName) InChangedPropertyName )


description: Reset the struct.


description: Reset overridden property to its parent value.

code: void ResetPropertyToDefault ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * InProperty, const [FInstancedPropertyBag](API\Plugins\StructUtils\FInstancedPropertyBag) * ParentUserParameters )


description: Add/Remove given property from overrides, and reset its value if it is removed. Returns true if the value was changed.

code: bool UpdatePropertyOverride ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * InProperty, bool bMarkAsOverridden, const [FInstancedPropertyBag](API\Plugins\StructUtils\FInstancedPropertyBag) * ParentUserParameters )


className: FPCGOverrideInstancedPropertyBag

description: Extended version ofFInstancedPropertyBag, to support overrides and have a custom UI for it Must only be used with PCGGraphInstances. TODO: Should be made generic and moved to ScriptUtils.

Parameters

type: FInstancedPrope...

PropertiesIDsOverridden

type: TSet<FGuid>


code: bool operator== ( const [FPCGPinProperties](API\Plugins\PCG\FPCGPinProperties) & Other ) const


code: FPCGPinProperties ( const [FName](API\Runtime\Core\UObject\FName) & InLabel, [EPCGDataType](API\Plugins\PCG\EPCGDataType) InAllowedTypes, bool bInAllowMultipleConnections, bool bAllowMultipleData, const [FText](API\Runtime\Core\Internationalization\FText) & InTooltip )


description: Return if the parameters are valid

code: bool IsValid()


className: FPCGPinProperties

AllowedTypes

type: EPCGDataType

bAdvancedPin

description: Advanced pin will be hidden by default in the UI and will be shown only if the user extend the node (in the UI) to see advanced pins.

Label

type: FName

Tooltip

type: FText


code: static [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [IPCGAttributeAccessor](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessor) > CreateCustomPropertyAccessor ( [FName](API\Runtime\Core\UObject\FName) Name )


code: static bool HasCustomPropertyGetterSetter ( [FName](API\Runtime\Core\UObject\FName) Name )


className: PointCustomPropertyGetter

code: typedef [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(const [FPCGPoint](API\Plugins\PCG\FPCGPoint) &, void *)> PointCustomPropertyGetter


className: PointCustomPropertySetter

code: typedef [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool([FPCGPoint](API\Plugins\PCG\FPCGPoint) &, const void *)> PointCustomPropertySetter


code: void SetExtents ( const FVector & InExtents )


code: void SetLocalCenter ( const FVector & InCenter )


code: void SetLocalBounds ( const FBox & InBounds )


code: FPCGPoint ( const FTransform & InTransform, float InDensity, int32 InSeed )


className: FPCGPoint

BoundsMax

type: FVector

Transform

type: FTransform


code: FPCGPreConfiguredSettingsInfo ( int32 InIndex, [FText](API\Runtime\Core\Internationalization\FText) InLabel )


code: FPCGPreConfiguredSettingsInfo ( int32 InIndex, [FText](API\Runtime\Core\Internationalization\FText) InLabel, [FText](API\Runtime\Core\Internationalization\FText) InTooltip )


className: FPCGPreConfiguredSettingsInfo

description: Pre-configured settings info Will be passed to the settings to pre-configure the settings on creation. Example: Maths operations: Add, Mul, etc...

Label

description: Label for the exposed asset.

PreconfiguredIndex

description: Indexused by the settings to know which preconfigured settings it needs to set.


className: FPCGPropertyAliases

description: Dummy struct to bypass the UHT limitation for array of arrays.

Aliases

type: TArray<FName>


code: void Add ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * InObject )


code: void Remove ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * InObject )


className: FPCGSettingsAndCulling

code: typedef TPair< [TWeakObjectPtr](API\Runtime\Core\UObject\TWeakObjectPtr)< const [UPCGSettings](API\Plugins\PCG\UPCGSettings) >, bool > FPCGSettingsAndCulling


className: FPCGRootSet

code: struct FPCGRootSet

RootSet

type: TMap<UObject&...


code: [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > GenerateAllPossibleAliases() const


className: FPCGSettingsOverridableParam

bHasNameClash

description: If this flag is true, Label will be the full property path.

MapOfAliases

type: TMap< int32,FP...

description: Map of all aliases for a given property, using itsIndex(to avoid name clashes within the same path)

Properties

type: TArray< constF...

description: Transient.

PropertyClass

type: TObjectPtr< con...


code: virtual void * GetUnsafeExternalContainerForOverridableParam ( const [FPCGSettingsOverridableParam](API\Plugins\PCG\FPCGSettingsOverridableParam) & InParam )


className: FPCGSubgraphContext

code: struct FPCGSubgraphContext : public [FPCGContext](API\Plugins\PCG\FPCGContext)

bScheduledSubgraph

type: bool

GraphInstanceParametersOverride

type: FInstancedStruc...

SubgraphTaskIds

type: TArray<FPCGTas...


code: virtual bool ExecuteInternal ( [FPCGContext](API\Plugins\PCG\FPCGContext) * Context ) const


description: Creates a custom context object paired to this element

code: virtual [FPCGContext](API\Plugins\PCG\FPCGContext) * Initialize ( const [FPCGDataCollection](API\Plugins\PCG\FPCGDataCollection) & InputData, [TWeakObjectPtr](API\Runtime\Core\UObject\TWeakObjectPtr)< [UPCGComponent](API\Plugins\PCG\UPCGComponent) > SourceComponent, const [UPCGNode](API\Plugins\PCG\UPCGNode) * Node )


code: virtual bool IsCacheable ( const [UPCGSettings](API\Plugins\PCG\UPCGSettings) * InSettings ) const


code: void PrepareSubgraphData ( const [UPCGSubgraphSettings](API\Plugins\PCG\UPCGSubgraphSettings) * Settings, [FPCGSubgraphContext](API\Plugins\PCG\FPCGSubgraphContext) * Context, const [FPCGDataCollection](API\Plugins\PCG\FPCGDataCollection) & InputData, [FPCGDataCollection](API\Plugins\PCG\FPCGDataCollection) & OutputData ) const


description: Used to specify that the element passes through the data without any manipulation - used to correct target pins, etc.

code: virtual bool IsPassthrough ( const [UPCGSettings](API\Plugins\PCG\UPCGSettings) * InSettings ) const


code: void PrepareSubgraphUserParameters ( const [UPCGSubgraphSettings](API\Plugins\PCG\UPCGSubgraphSettings) * Settings, [FPCGSubgraphContext](API\Plugins\PCG\FPCGSubgraphContext) * Context, [FPCGDataCollection](API\Plugins\PCG\FPCGDataCollection) & OutputData ) const


className: FPCGSubgraphElement

code: class FPCGSubgraphElement : public [IPCGElement](API\Plugins\PCG\IPCGElement)


code: bool operator== ( const [FPCGTaggedData](API\Plugins\PCG\FPCGTaggedData) & Other ) const


code: bool operator!= ( const [FPCGTaggedData](API\Plugins\PCG\FPCGTaggedData) & Other ) const


className: FPCGTaggedData

code: struct FPCGTaggedData

bPinlessData

description: Special flag for data that are forwarded to other nodes, but without a pin. Useful for internal data.

Tags

type: TSet<FString>


className: FPCGTrivialElement

code: class FPCGTrivialElement : public [FSimplePCGElement](API\Plugins\PCG\FSimplePCGElement)


className: FSimplePCGElement

description: Basic PCG element class for elements that do not store any intermediate data in the context

code: class FSimplePCGElement : public [IPCGElement](API\Plugins\PCG\IPCGElement)


className: FSizeArray

description: Alias for array which is allocated on the stack (we have a strong idea of the max required elements).

code: typedef [TArray](API\Runtime\Core\Containers\TArray)< uint32, TInlineAllocator< [PCGHiGenGrid::NumGridValues](API\Plugins\PCG\NumGridValues) >> FSizeArray


className: FSizeToGuidMap

description: Alias for grid size to guid map allocated on the stack, which is unlikely to have a large number of elements.

code: typedef [TMap](API\Runtime\Core\Containers\TMap)< uint32, [FGuid](API\Runtime\Core\Misc\FGuid), [TInlineSetAllocator](API\Runtime\Core\Containers\TInlineSetAllocator)< 32 >> FSizeToGuidMap


description: Construct a string version of this stack. Postfixed by optional node/pin if provided.

code: bool CreateStackFramePath ( [FString](API\Runtime\Core\Containers\FString) & OutString, const [UPCGNode](API\Plugins\PCG\UPCGNode) * InNode, const [UPCGPin](API\Plugins\PCG\UPCGPin) * InPin ) const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FPCGStackFrame](API\Plugins\PCG\Graph\FPCGStackFrame) > & GetStackFrames() const


code: [TArray](API\Runtime\Core\Containers\TArray)< [FPCGStackFrame](API\Plugins\PCG\Graph\FPCGStackFrame) > & GetStackFramesMutable()


code: bool operator== ( const [FPCGStack](API\Plugins\PCG\Graph\FPCGStack) & Other ) const


code: bool operator!= ( const [FPCGStack](API\Plugins\PCG\Graph\FPCGStack) & Other ) const


description: Pop frame from the stack.

code: void PopFrame()


description: Push frame onto top of stack.

code: void PushFrame ( const [FPCGStackFrame](API\Plugins\PCG\Graph\FPCGStackFrame) & InFrame )


className: FPCGStack

description: A call stack, represented as an array of stack frames.


description: Takes the current stack and appends each of the stacks in InStacks. Called during compilation when inlining a static subgraph.

code: void AppendStacks ( const [FPCGStackContext](API\Plugins\PCG\Graph\FPCGStackContext) & InStacks )


code: static [FPCGStackContext](API\Plugins\PCG\Graph\FPCGStackContext) CreateStackContextFromGraph ( const [UPCGGraph](API\Plugins\PCG\UPCGGraph) * InPCGGraph )


code: const [FPCGStack](API\Plugins\PCG\Graph\FPCGStack) * GetStack ( int32 InStackIndex ) const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FPCGStack](API\Plugins\PCG\Graph\FPCGStack) > & GetStacks() const


description: Remove a frame from the current stack. Returns current stack index.

code: int32 PopFrame()


description: Called during execution when invoking a dynamic subgraph, to prepend the caller stack to form the complete callstacks.

code: void PrependParentStack ( const [FPCGStack](API\Plugins\PCG\Graph\FPCGStack) * InParentStack )


description: Create a new stack and create a frame from the provided object (typically graph or node pointer). Returns index of newly added stack.

code: int32 PushFrame ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * InFrameObject )


className: FPCGStackContext

description: A collection of call stacks.

code: class FPCGStackContext


code: bool operator== ( const [FPCGStackFrame](API\Plugins\PCG\Graph\FPCGStackFrame) & Other ) const


code: bool operator!= ( const [FPCGStackFrame](API\Plugins\PCG\Graph\FPCGStackFrame) & Other ) const


code: FPCGStackFrame ( [TWeakObjectPtr](API\Runtime\Core\UObject\TWeakObjectPtr)< const [UObject](API\Runtime\CoreUObject\UObject\UObject) > InObject )


className: FPCGStackFrame

description: A single frame of a call stack, represented as a pointer to the associated object (graph/subgraph or node) or a loop index.

Object

type: TWeakObjectPtr<...

description: A valid frame should either point to an object or have a loop index >= 0.


code: void AddOrUpdateComponent ( [UPCGComponent](API\Plugins\PCG\UPCGComponent) * InComponent, FBox & OutBounds, bool & bOutComponentHasChanged, bool & bOutComponentWasAdded )


code: bool Contains ( const [UPCGComponent](API\Plugins\PCG\UPCGComponent) * InComponent ) const


code: template<typename IterateBoundsFunc> void FindElementsWithBoundsTest ( const [FBoxCenterAndExtent](API\Runtime\Core\Math\FBoxCenterAndExtent) & BoxBounds, const IterateBoundsFunc & Func ) const


code: [TSet](API\Runtime\Core\Containers\TSet)< [UPCGComponent](API\Plugins\PCG\UPCGComponent) * > GetAllComponents() const


code: FBox GetBounds ( const [UPCGComponent](API\Plugins\PCG\UPCGComponent) * InComponent ) const


code: bool RemapComponent ( const [UPCGComponent](API\Plugins\PCG\UPCGComponent) * InOldComponent, [UPCGComponent](API\Plugins\PCG\UPCGComponent) * InNewComponent, bool & bOutBoundsHasChanged )


code: bool RemoveComponent ( [UPCGComponent](API\Plugins\PCG\UPCGComponent) * InComponent )


code: void Reset ( const FVector & InOrigin, [FVector::FReal](API\Runtime\Core\Math\TVector\FReal) InExtent )


code: FPCGComponentOctreeAndMap ( const FVector & InOrigin, [FVector::FReal](API\Runtime\Core\Math\TVector\FReal) InExtent )


className: FPCGComponentOctreeAndMap

code: class FPCGComponentOctreeAndMap


className: FPCGComponentOctreeID

code: struct FPCGComponentOctreeID : public [TSharedFromThis< FPCGComponentOctreeID, ESPMode::ThreadSafe >](API\Runtime\Core\Templates\TSharedFromThis)

Id

type: FOctreeElementI...


className: FPCGComponentOctreeIDSharedRef

code: typedef [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< struct [FPCGComponentOctreeID](API\Plugins\PCG\Grid\FPCGComponentOctreeID), ESPMode::ThreadSafe > FPCGComponentOctreeIDSharedRef


code: FPCGComponentRef ( [UPCGComponent](API\Plugins\PCG\UPCGComponent) * InComponent, const [FPCGComponentOctreeIDSharedRef](API\Plugins\PCG\Grid\FPCGComponentOctreeIDSharedRef) & InIdShared )


className: FPCGComponentRef

code: struct FPCGComponentRef

Bounds

type: FBoxSphereBound...

Component

type: TObjectPtr<UPC...

IdShared

type: FPCGComponentOc...


code: static void ApplyOffset ( [FPCGComponentRef](API\Plugins\PCG\Grid\FPCGComponentRef) & InVolume, const FVector & Offset )


code: static const bool AreElementsEqual ( const [FPCGComponentRef](API\Plugins\PCG\Grid\FPCGComponentRef) & A, const [FPCGComponentRef](API\Plugins\PCG\Grid\FPCGComponentRef) & B )


className: ElementAllocator

code: typedef TInlineAllocator< MaxElementsPerLeaf > ElementAllocator


code: static const FBoxSphereBounds & GetBoundingBox ( const [FPCGComponentRef](API\Plugins\PCG\Grid\FPCGComponentRef) & InVolume )


className: MaxElementsPerLeaf

code: enum { MaxElementsPerLeaf = 16 }


className: MaxNodeDepth

code: enum { MaxNodeDepth = 12 }


className: MinInclusiveElementsPerNode

code: enum { MinInclusiveElementsPerNode = 7 }


code: static void SetElementId ( const [FPCGComponentRef](API\Plugins\PCG\Grid\FPCGComponentRef) & Element, [FOctreeElementId2](API\Runtime\Core\Math\FOctreeElementId2) OctreeElementID )


className: FPCGComponentRefSemantics

code: struct FPCGComponentRefSemantics


className: FPCGComponentToIdMap

code: typedef [TMap](API\Runtime\Core\Containers\TMap)< [UPCGComponent](API\Plugins\PCG\UPCGComponent) *, [FPCGComponentOctreeIDSharedRef](API\Plugins\PCG\Grid\FPCGComponentOctreeIDSharedRef) > FPCGComponentToIdMap


code: void GetInterpolatedLayerWeights ( const FVector2D & LocalPoint, [TArray](API\Runtime\Core\Containers\TArray)< [FPCGLandscapeLayerWeight](API\Plugins\PCG\Grid\FPCGLandscapeLayerWeight) > & OutLayerWeights ) const


code: void GetInterpolatedPoint ( const FVector2D & LocalPoint, [FPCGPoint](API\Plugins\PCG\FPCGPoint) & OutPoint, [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * OutMetadata ) const


code: void GetInterpolatedPointHeightOnly ( const FVector2D & LocalPoint, [FPCGPoint](API\Plugins\PCG\FPCGPoint) & OutPoint, [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * OutMetadata ) const


code: void GetInterpolatedPointMetadataOnly ( const FVector2D & LocalPoint, [FPCGPoint](API\Plugins\PCG\FPCGPoint) & OutPoint, [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * OutMetadata ) const


code: void GetPoint ( int32 PointIndex, [FPCGPoint](API\Plugins\PCG\FPCGPoint) & OutPoint, [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * OutMetadata ) const


code: void GetPointHeightOnly ( int32 PointIndex, [FPCGPoint](API\Plugins\PCG\FPCGPoint) & OutPoint ) const


className: FPCGLandscapeCacheEntry

code: struct FPCGLandscapeCacheEntry


className: FSafeIndices

code: struct FSafeIndices

XFraction

type: float


description: Called before destroying the object. This is called immediately upon deciding to destroy the object, to allow the object to begin an asynchronous cleanup process.

code: virtual void BeginDestroy()


description: Gets (and creates if needed) the cache entry - available only in Editor

code: const [FPCGLandscapeCacheEntry](API\Plugins\PCG\Grid\FPCGLandscapeCacheEntry) * GetCacheEntry ( [ULandscapeComponent](API\Runtime\Landscape\ULandscapeComponent) * LandscapeComponent, const FIntPoint & ComponentKey )


description: Gets landscape cache entry, works both in editor (but does not create) but works in game mode too.

code: const [FPCGLandscapeCacheEntry](API\Plugins\PCG\Grid\FPCGLandscapeCacheEntry) * GetCacheEntry ( const [FGuid](API\Runtime\Core\Misc\FGuid) & LandscapeGuid, const FIntPoint & ComponentKey )


code: [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > GetLayerNames ( [ALandscapeProxy](API\Runtime\Landscape\ALandscapeProxy) * Landscape )


description: Initialize cache. Can be safely called multiple times.

code: void Initialize()


description: Convenience method to get metadata from the landscape for a given pair of landscape and position

code: void SampleMetadataOnPoint ( [ALandscapeProxy](API\Runtime\Landscape\ALandscapeProxy) * Landscape, [FPCGPoint](API\Plugins\PCG\FPCGPoint) & OutPoint, [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * OutMetadata )


description: Handles reading, writing, and reference collecting usingFArchive. This implementation handles allFPropertyserialization, but can be overridden for native variables.

code: virtual void Serialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


className: UPCGLandscapeCache

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UPCGLandscapeCache : public [UObject](API\Runtime\CoreUObject\UObject\UObject)


className: FPCGAsyncState

description: Helper class to gather information about asynchronus execution. Will be held in the PCGContext.

code: struct FPCGAsyncState

AsyncCurrentReadIndex

description: For async process, keep track of where the processing is, in the input data(read) and output data(write).

bIsRunningAsyncCall

description: True if currently inside a PCGAsync scope - will prevent further async processing

bIsRunningOnMainThread

description: For multithreading, track if the current element is run on the main thread.

EndTime

type: double

description: For timeslicing, it will be set by the graph executor to know when we should stop.

NumAvailableTasks

description: How many tasks are available to run async.


description: Returns true if we reached end time.

code: bool ShouldStop() const


description: Work will be separated in chunks, that will be processed in parallel. Main thread will then collapse incoming data from async tasks. Will use AsyncState.ShouldStop() to stop execution if timeslicing is enabled. Important info:

code: namespace FPCGAsync { template<typename OutputType, typename Func> bool FPCGAsync::AsyncProcessing ( [FPCGAsyncState](API\Plugins\PCG\Helpers\FPCGAsyncState) * AsyncState, int32 NumIterations, [TArray](API\Runtime\Core\Containers\TArray)< OutputType > & OutData, Func && InFunc, const bool bEnableTimeSlicing, const int32 ChunkSize ) }


code: namespace FPCGAsync { template<typename InitializeFunc, typename ProcessElementFunc, typename MoveFunc, typename FinishedFunc> bool FPCGAsync::AsyncProcessingEx ( [FPCGAsyncState](API\Plugins\PCG\Helpers\FPCGAsyncState) * AsyncState, int32 NumIterations, InitializeFunc && Initialize, ProcessElementFunc && ProcessElement, MoveFunc && MoveData, FinishedFunc && Finished, const bool bEnableTimeSlicing, const int32 ChunkSize ) }


code: namespace FPCGAsync { template<typename InitializeFunc, typename ProcessElementFunc> bool FPCGAsync::AsyncProcessingOneToOneEx ( [FPCGAsyncState](API\Plugins\PCG\Helpers\FPCGAsyncState) * AsyncState, int32 NumIterations, InitializeFunc && Initialize, ProcessElementFunc && ProcessElement, const bool bEnableTimeSlicing, const int32 ChunkSize ) }


code: namespace FPCGAsync { namespace Private { template<typename InitializeFunc, typename InnerLoopFunc, typename MoveDataFunc, typename FinishedFunc> bool FPCGAsync::Private::AsyncProcessing ( [FPCGAsyncState](API\Plugins\PCG\Helpers\FPCGAsyncState) & AsyncState, int32 NumIterations, InitializeFunc && Initialize, InnerLoopFunc && IterationInnerLoop, MoveDataFunc && MoveData, FinishedFunc && Finished, const bool bInEnableTimeSlicing, const int32 InChunkSize ) } }


className: FPCGGetAllOverridableParamsConfig

bExcludeMetadataIsConjunction

description: If the exclude values is a conjunction (all values need to be present to discard), or disjunction (any values needs to be present to discard)

bExcludePropertyFlagsIsConjunction

description: If the exclude flags is a conjunction (all flags need to be present to discard), or disjunction (any flag needs to be present to discard)

bExcludeSuperProperties

description: Don't look for properties from parents.

bIncludeMetadataIsConjunction

description: If the metadata values is a conjunction (all values need to be present to keep), or disjunction (any values needs to be present to keep)

bIncludePropertyFlagsIsConjunction

description: If the include flags is a conjunction (all flags need to be present to keep), or disjunction (any flag needs to be present to keep)

bUseSeed

description: If we don't use the seed, don't add it as override.

ExcludeMetadataValues

description: List of metadata values to find in property metadata. Only works in editor builds as metadata on property is not available elsewise.

ExcludePropertyFlags

description: Flags to exclude in property flags.

IncludePropertyFlags

description: Flags to include in property flags. Note that if exclusion says discard, it will be discarded.

MaxStructDepth

description: Max depth for structs of structs. -1 = no limit.


code: bool operator== ( const [FPCGISMCBuilderParameters](API\Plugins\PCG\Helpers\FPCGISMCBuilderParameters) & Other ) const


className: FPCGISMCBuilderParameters

code: struct FPCGISMCBuilderParameters

Descriptor

type: FISMComponentDe...


code: void AddToPartitionData ( [Element](API\Plugins\PCG\Helpers\FPCGPointDataPartitionBase\Element) * SelectedElement, const [UPCGPointData](API\Plugins\PCG\Data\UPCGPointData) * ParentPointData, const [FPCGPoint](API\Plugins\PCG\FPCGPoint) & Point )


className: Element

code: struct Element

PartitionData

type: UPCGPointData&...

PointIndices

type: TArray< int32 >


description: Overridable behavior methods

code: bool Initialize()


code: bool InitializeForPointData ( const [UPCGPointData](API\Plugins\PCG\Data\UPCGPointData) * PointData )


code: [Element](API\Plugins\PCG\Helpers\FPCGPointDataPartitionBase\Element) * SelectPoint ( const [FPCGPoint](API\Plugins\PCG\FPCGPoint) & Point, int32 PointIndex )


description: API

code: bool SelectPoints ( [FPCGContext](API\Plugins\PCG\FPCGContext) & Context, const [UPCGPointData](API\Plugins\PCG\Data\UPCGPointData) * PointData, int32 & InCurrentPointIndex, [UPCGPointData](API\Plugins\PCG\Data\UPCGPointData) * OutPointData )


code: int32 TimeSlicingCheckFrequency() const


code: void WriteToOutputData ( [UPCGPointData](API\Plugins\PCG\Data\UPCGPointData) * OutPointData, [Element](API\Plugins\PCG\Helpers\FPCGPointDataPartitionBase\Element) * SelectedElement, const [FPCGPoint](API\Plugins\PCG\FPCGPoint) & Point )


code: FPCGPointDataPartitionBase ( const [TArrayView](API\Runtime\Core\Containers\TArrayView)< KeyType > & InKeys )


description:
Conversion between property type and PCG type.
PCG type if the property is supported, Unknown otherwise.

code: namespace PCGPropertyHelpers { [EPCGMetadataTypes](API\Plugins\PCG\Metadata\EPCGMetadataTypes) PCGPropertyHelpers::GetMetadataTypeFromProperty ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * InProperty ) }


className: FPCGPointDataPartitionBase

description: The intended implementation is that derived classes will implement the same functions (e.g. name hiding) and those will be appropriately called through using the derived class type. Methods that are not re-implemented/hidden will retain their default implementation, which is mostly trivial.

code: template<typename Derived, typename KeyType> class FPCGPointDataPartitionBase

ElementMap

type: TMap< KeyType, ...

description: Data access.


description:
Get a property value and pass it as a parameter to a callback function.
Forward the result of the callback.

code: namespace PCGPropertyHelpers { template<typename ObjectType, typename Func> decltype(auto) PCGPropertyHelpers::GetPropertyValueWithCallback ( const ObjectType * InObject, const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * InProperty, Func InFunc ) }


description:
Set a property value given by a callback function.
Func signature : bool(auto&) Will have property value in first arg, and boolean return if we should set the property after. Returns true if the set succeeded
Forward the result of the callback

code: namespace PCGPropertyHelpers { template<typename ObjectType, typename Func> bool PCGPropertyHelpers::SetPropertyValueFromCallback ( ObjectType * InObject, const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * InProperty, Func InFunc ) }


description: Advanced method to gather override params when you don't have access toFPCGContext(and therefore don't have access to automatic param override). Limitation: Only support metadata types for T.

code: namespace PCGSettingsHelpers { template<typename T> bool PCGSettingsHelpers::GetOverrideValue ( const [FPCGDataCollection](API\Plugins\PCG\FPCGDataCollection) & InInputData, const [UPCGSettings](API\Plugins\PCG\UPCGSettings) * InSettings, const [FName](API\Runtime\Core\UObject\FName) InPropertyName, const T & InDefaultValue, T & OutValue ) }


description: Deprecated* ComputeSeedWithOverride is deprecated as overrides are now automatically applied on the settings. You should just query the settings value.

code: namespace PCGSettingsHelpers { int PCGSettingsHelpers::ComputeSeedWithOverride ( const [UPCGSettings](API\Plugins\PCG\UPCGSettings) * InSettings, [TWeakObjectPtr](API\Runtime\Core\UObject\TWeakObjectPtr)< [UPCGComponent](API\Plugins\PCG\UPCGComponent) > InComponent, [UPCGParamData](API\Plugins\PCG\UPCGParamData) * InParams ) }


description: Deprecated* GetValue is deprecated as overrides are now automatically applied on the settings. You should just query the settings value.

code: namespace PCGSettingsHelpers { template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<![TIsEnumClass](API\Runtime\Core\Templates\TIsEnumClass)< T >::Value >::Type *> PRAGMA_DISABLE_DEPRECATION_WARNINGS T PCGSettingsHelpers::GetValue ( const [FName](API\Runtime\Core\UObject\FName) & InName, const T & InValue, const [UPCGParamData](API\Plugins\PCG\UPCGParamData) * InParams ) }


code: namespace PCGSettingsHelpers { template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsEnumClass](API\Runtime\Core\Templates\TIsEnumClass)< T >::Value >::Type *> T PCGSettingsHelpers::GetValue ( const [FName](API\Runtime\Core\UObject\FName) & InName, const T & InValue, const [UPCGParamData](API\Plugins\PCG\UPCGParamData) * InParams ) }


code: namespace PCGSettingsHelpers { template<> [FName](API\Runtime\Core\UObject\FName) PCGSettingsHelpers::GetValue ( const [FName](API\Runtime\Core\UObject\FName) & InName, const [FName](API\Runtime\Core\UObject\FName) & InValue, const [UPCGParamData](API\Plugins\PCG\UPCGParamData) * InParams ) }


code: namespace PCGSettingsHelpers { template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<![TIsEnumClass](API\Runtime\Core\Templates\TIsEnumClass)< T >::Value >::Type *> T PCGSettingsHelpers::GetValue ( const [FName](API\Runtime\Core\UObject\FName) & InName, const T & InValue, const [UPCGParamData](API\Plugins\PCG\UPCGParamData) * InParams, const [FName](API\Runtime\Core\UObject\FName) & InParamName ) }


description: Specialized versions for enums

code: namespace PCGSettingsHelpers { template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<![TIsEnumClass](API\Runtime\Core\Templates\TIsEnumClass)< T >::Value >::Type *> T PCGSettingsHelpers::GetValue ( const [FName](API\Runtime\Core\UObject\FName) & InName, const T & InValue, const [UPCGParamData](API\Plugins\PCG\UPCGParamData) * InParams, [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) InKey ) }


description: Specialized version for names

code: namespace PCGSettingsHelpers { template<> [FName](API\Runtime\Core\UObject\FName) PCGSettingsHelpers::GetValue ( const [FName](API\Runtime\Core\UObject\FName) & InName, const [FName](API\Runtime\Core\UObject\FName) & InValue, const [UPCGParamData](API\Plugins\PCG\UPCGParamData) * InParams, [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) InKey ) }


code: namespace PCGSettingsHelpers { template<> [FName](API\Runtime\Core\UObject\FName) PCGSettingsHelpers::GetValue ( const [FName](API\Runtime\Core\UObject\FName) & InName, const [FName](API\Runtime\Core\UObject\FName) & InValue, const [UPCGParamData](API\Plugins\PCG\UPCGParamData) * InParams, const [FName](API\Runtime\Core\UObject\FName) & InParamName ) }


code: static bool DeleteActors ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World, const [TArray](API\Runtime\Core\Containers\TArray)< [TSoftObjectPtr](API\Runtime\CoreUObject\UObject\TSoftObjectPtr)< [AActor](API\Runtime\Engine\GameFramework\AActor) >> & ActorsToDelete )


code: template<typename T, typename> static void ForEachActorInLevel ( [ULevel](API\Runtime\Engine\Engine\ULevel) * Level, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< bool([AActor](API\Runtime\Engine\GameFramework\AActor) *)> Callback )


description: Iterate over all actors in the level, from the given class, and pass them to a callback

code: static void ForEachActorInLevel ( [ULevel](API\Runtime\Engine\Engine\ULevel) * Level, [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [AActor](API\Runtime\Engine\GameFramework\AActor) > ActorClass, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< bool([AActor](API\Runtime\Engine\GameFramework\AActor) *)> Callback )


code: template<typename T, typename> static void ForEachActorInWorld ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< bool([AActor](API\Runtime\Engine\GameFramework\AActor) *)> Callback )


description: Iterate over all actors in the world, from the given class, and pass them to a callback

code: static void ForEachActorInWorld ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World, [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [AActor](API\Runtime\Engine\GameFramework\AActor) > ActorClass, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< bool([AActor](API\Runtime\Engine\GameFramework\AActor) *)> Callback )


description: Deprecated* Please use UE::BlueprintTools::GetActorClassDefaultComponents() instead

code: static void GetActorClassDefaultComponents ( const [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [AActor](API\Runtime\Engine\GameFramework\AActor) > & ActorClass, [TArray](API\Runtime\Core\Containers\TArray)< [UActorComponent](API\Runtime\Engine\Components\UActorComponent) * > & OutComponents, const [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UActorComponent](API\Runtime\Engine\Components\UActorComponent) > & InComponentClass )


description: Return the grid cell coordinates on the PCG partition grid given a position and the grid size.

code: static FIntVector GetCellCoord ( FVector InPosition, int InGridSize, bool bUse2DGrid )


code: static [UInstancedStaticMeshComponent](API\Runtime\Engine\Components\UInstancedStaticMeshComponent) * GetOrCreateISMC ( [AActor](API\Runtime\Engine\GameFramework\AActor) * InTargetActor, [UPCGComponent](API\Plugins\PCG\UPCGComponent) * SourceComponent, uint64 SettingsUID, const [FPCGISMCBuilderParameters](API\Plugins\PCG\Helpers\FPCGISMCBuilderParameters) & Params )


code: static [UPCGManagedISMComponent](API\Plugins\PCG\UPCGManagedISMComponent) * GetOrCreateManagedISMC ( [AActor](API\Runtime\Engine\GameFramework\AActor) * InTargetActor, [UPCGComponent](API\Plugins\PCG\UPCGComponent) * SourceComponent, uint64 SettingsUID, const [FPCGISMCBuilderParameters](API\Plugins\PCG\Helpers\FPCGISMCBuilderParameters) & Params )


description: Spawn a new actor of type T and attach it to the parent (if not null)

code: template<typename T, typename> static [AActor](API\Runtime\Engine\GameFramework\AActor) * SpawnDefaultActor ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World, [FName](API\Runtime\Core\UObject\FName) BaseName, const FTransform & Transform, [AActor](API\Runtime\Engine\GameFramework\AActor) * Parent )


description: Spawn a new actor and attach it to the parent (if not null)

code: static [AActor](API\Runtime\Engine\GameFramework\AActor) * SpawnDefaultActor ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World, [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [AActor](API\Runtime\Engine\GameFramework\AActor) > ActorClass, [FName](API\Runtime\Core\UObject\FName) BaseName, const FTransform & Transform, [AActor](API\Runtime\Engine\GameFramework\AActor) * Parent )


code: static [AActor](API\Runtime\Engine\GameFramework\AActor) * SpawnDefaultActor ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World, [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [AActor](API\Runtime\Engine\GameFramework\AActor) > ActorClass, const FTransform & Transform, const [FActorSpawnParameters](API\Runtime\Engine\Engine\FActorSpawnParameters) & SpawnParams, [AActor](API\Runtime\Engine\GameFramework\AActor) * Parent )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Helpers", Meta=(ScriptMethod)) static [UPCGData](API\Plugins\PCG\UPCGData) * CreatePCGDataFromActor ( [AActor](API\Runtime\Engine\GameFramework\AActor) * InActor, bool bParseActor )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Helpers") static int ComputeSeedFromPosition ( const FVector & InPosition )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Helpers", Meta=(ScriptMethod)) static FBox GetActorBoundsPCG ( [AActor](API\Runtime\Engine\GameFramework\AActor) * InActor, bool bIgnorePCGCreatedComponents )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Helpers", Meta=(ScriptMethod)) static FBox GetActorLocalBoundsPCG ( [AActor](API\Runtime\Engine\GameFramework\AActor) * InActor, bool bIgnorePCGCreatedComponents )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Temporary", Meta=(ScriptMethod)) static [UPCGComponent](API\Plugins\PCG\UPCGComponent) * GetComponent ( [FPCGContext](API\Plugins\PCG\FPCGContext) & Context )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Points", Meta=(ScriptMethod)) static FVector GetExtents ( const [FPCGPoint](API\Plugins\PCG\FPCGPoint) & InPoint )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Temporary", Meta=(ScriptMethod)) static [UPCGData](API\Plugins\PCG\UPCGData) * GetInputData ( [FPCGContext](API\Plugins\PCG\FPCGContext) & Context )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Helpers", Meta=(ScriptMethod)) static [TArray](API\Runtime\Core\Containers\TArray)< [FPCGLandscapeLayerWeight](API\Plugins\PCG\Grid\FPCGLandscapeLayerWeight) > GetInterpolatedPCGLandscapeLayerWeights ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, const FVector & Location )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Points", Meta=(ScriptMethod)) static FVector GetLocalCenter ( const [FPCGPoint](API\Plugins\PCG\FPCGPoint) & InPoint )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Temporary", Meta=(ScriptMethod)) static [UPCGComponent](API\Plugins\PCG\UPCGComponent) * GetOriginalComponent ( [FPCGContext](API\Plugins\PCG\FPCGContext) & Context )


description: Creates a random stream from a point's seed and settings/component's seed (optional)

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Helpers", Meta=(ScriptMethod)) static [FRandomStream](API\Runtime\Core\Math\FRandomStream) GetRandomStream ( const [FPCGPoint](API\Plugins\PCG\FPCGPoint) & InPoint, const [UPCGSettings](API\Plugins\PCG\UPCGSettings) * OptionalSettings, const [UPCGComponent](API\Plugins\PCG\UPCGComponent) * OptionalComponent )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Temporary", Meta=(ScriptMethod)) static [UPCGData](API\Plugins\PCG\UPCGData) * GetActorData ( [FPCGContext](API\Plugins\PCG\FPCGContext) & Context )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Helpers", Meta=(ScriptMethod)) static const [UPCGSettings](API\Plugins\PCG\UPCGSettings) * GetSettings ( [FPCGContext](API\Plugins\PCG\FPCGContext) & Context )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG", Meta=(ScriptMethod)) static [AActor](API\Runtime\Engine\GameFramework\AActor) * GetTargetActor ( [FPCGContext](API\Plugins\PCG\FPCGContext) & Context, [UPCGSpatialData](API\Plugins\PCG\Data\UPCGSpatialData) * SpatialData )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Helpers", Meta=(ScriptMethod)) static int64 GetTaskId ( [FPCGContext](API\Plugins\PCG\FPCGContext) & Context )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Points", Meta=(ScriptMethod)) static FBox GetTransformedBounds ( const [FPCGPoint](API\Plugins\PCG\FPCGPoint) & InPoint )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Points", Meta=(ScriptMethod)) static void SetExtents ( [FPCGPoint](API\Plugins\PCG\FPCGPoint) & InPoint, const FVector & InExtents )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Helpers") static void SetSeedFromPosition ( [FPCGPoint](API\Plugins\PCG\FPCGPoint) & InPoint )


className: UPCGBlueprintHelpers

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UPCGBlueprintHelpers : public [UBlueprintFunctionLibrary](API\Runtime\Engine\Kismet\UBlueprintFunctionLibrary)


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Graph Parameters") static uint8 GetByteParameter ( [UPCGGraphInstance](API\Plugins\PCG\UPCGGraphInstance) * GraphInstance, const [FName](API\Runtime\Core\UObject\FName) Name )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Graph Parameters") static double GetDoubleParameter ( [UPCGGraphInstance](API\Plugins\PCG\UPCGGraphInstance) * GraphInstance, const [FName](API\Runtime\Core\UObject\FName) Name )


description: Getters.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Graph Parameters") static float GetFloatParameter ( [UPCGGraphInstance](API\Plugins\PCG\UPCGGraphInstance) * GraphInstance, const [FName](API\Runtime\Core\UObject\FName) Name )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Graph Parameters") static int32 GetInt32Parameter ( [UPCGGraphInstance](API\Plugins\PCG\UPCGGraphInstance) * GraphInstance, const [FName](API\Runtime\Core\UObject\FName) Name )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Points", Meta=(ScriptMethod)) static void SetLocalCenter ( [FPCGPoint](API\Plugins\PCG\FPCGPoint) & InPoint, const FVector & InLocalCenter )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Graph Parameters") static bool GetBoolParameter ( [UPCGGraphInstance](API\Plugins\PCG\UPCGGraphInstance) * GraphInstance, const [FName](API\Runtime\Core\UObject\FName) Name )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Graph Parameters") static int64 GetInt64Parameter ( [UPCGGraphInstance](API\Plugins\PCG\UPCGGraphInstance) * GraphInstance, const [FName](API\Runtime\Core\UObject\FName) Name )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Graph Parameters") static [FName](API\Runtime\Core\UObject\FName) GetNameParameter ( [UPCGGraphInstance](API\Plugins\PCG\UPCGGraphInstance) * GraphInstance, const [FName](API\Runtime\Core\UObject\FName) Name )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Graph Parameters") static FRotator GetRotatorParameter ( [UPCGGraphInstance](API\Plugins\PCG\UPCGGraphInstance) * GraphInstance, const [FName](API\Runtime\Core\UObject\FName) Name )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Graph Parameters") static [TSoftClassPtr](API\Runtime\CoreUObject\UObject\TSoftClassPtr)< [UObject](API\Runtime\CoreUObject\UObject\UObject) > GetSoftClassParameter ( [UPCGGraphInstance](API\Plugins\PCG\UPCGGraphInstance) * GraphInstance, const [FName](API\Runtime\Core\UObject\FName) Name )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Graph Parameters") static [TSoftObjectPtr](API\Runtime\CoreUObject\UObject\TSoftObjectPtr)< [UObject](API\Runtime\CoreUObject\UObject\UObject) > GetSoftObjectParameter ( [UPCGGraphInstance](API\Plugins\PCG\UPCGGraphInstance) * GraphInstance, const [FName](API\Runtime\Core\UObject\FName) Name )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Graph Parameters") static [FString](API\Runtime\Core\Containers\FString) GetStringParameter ( [UPCGGraphInstance](API\Plugins\PCG\UPCGGraphInstance) * GraphInstance, const [FName](API\Runtime\Core\UObject\FName) Name )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Graph Parameters") static FTransform GetTransformParameter ( [UPCGGraphInstance](API\Plugins\PCG\UPCGGraphInstance) * GraphInstance, const [FName](API\Runtime\Core\UObject\FName) Name )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Graph Parameters") static FVector GetVectorParameter ( [UPCGGraphInstance](API\Plugins\PCG\UPCGGraphInstance) * GraphInstance, const [FName](API\Runtime\Core\UObject\FName) Name )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Graph Parameters") static bool IsOverridden ( [UPCGGraphInstance](API\Plugins\PCG\UPCGGraphInstance) * GraphInstance, const [FName](API\Runtime\Core\UObject\FName) Name )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Graph Parameters") static void SetBoolParameter ( [UPCGGraphInstance](API\Plugins\PCG\UPCGGraphInstance) * GraphInstance, const [FName](API\Runtime\Core\UObject\FName) Name, const bool bValue )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Graph Parameters") static void SetByteParameter ( [UPCGGraphInstance](API\Plugins\PCG\UPCGGraphInstance) * GraphInstance, const [FName](API\Runtime\Core\UObject\FName) Name, const uint8 Value )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Graph Parameters") static void SetDoubleParameter ( [UPCGGraphInstance](API\Plugins\PCG\UPCGGraphInstance) * GraphInstance, const [FName](API\Runtime\Core\UObject\FName) Name, const double Value )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Graph Parameters") static void SetEnumParameter ( [UPCGGraphInstance](API\Plugins\PCG\UPCGGraphInstance) * GraphInstance, const [FName](API\Runtime\Core\UObject\FName) Name, const [UEnum](API\Runtime\CoreUObject\UObject\UEnum) * Enum, const uint8 Value )


description: Setters.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Graph Parameters") static void SetFloatParameter ( [UPCGGraphInstance](API\Plugins\PCG\UPCGGraphInstance) * GraphInstance, const [FName](API\Runtime\Core\UObject\FName) Name, const float Value )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Graph Parameters") static void SetInt32Parameter ( [UPCGGraphInstance](API\Plugins\PCG\UPCGGraphInstance) * GraphInstance, const [FName](API\Runtime\Core\UObject\FName) Name, const int32 Value )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Graph Parameters") static void SetInt64Parameter ( [UPCGGraphInstance](API\Plugins\PCG\UPCGGraphInstance) * GraphInstance, const [FName](API\Runtime\Core\UObject\FName) Name, const int64 Value )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Graph Parameters") static void SetNameParameter ( [UPCGGraphInstance](API\Plugins\PCG\UPCGGraphInstance) * GraphInstance, const [FName](API\Runtime\Core\UObject\FName) Name, const [FName](API\Runtime\Core\UObject\FName) Value )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Graph Parameters") static void SetRotatorParameter ( [UPCGGraphInstance](API\Plugins\PCG\UPCGGraphInstance) * GraphInstance, const [FName](API\Runtime\Core\UObject\FName) Name, const FRotator & Value )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Graph Parameters") static void SetSoftClassParameter ( [UPCGGraphInstance](API\Plugins\PCG\UPCGGraphInstance) * GraphInstance, const [FName](API\Runtime\Core\UObject\FName) Name, const [TSoftClassPtr](API\Runtime\CoreUObject\UObject\TSoftClassPtr)< [UObject](API\Runtime\CoreUObject\UObject\UObject) > & Value )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Graph Parameters") static void SetSoftObjectParameter ( [UPCGGraphInstance](API\Plugins\PCG\UPCGGraphInstance) * GraphInstance, const [FName](API\Runtime\Core\UObject\FName) Name, const [TSoftObjectPtr](API\Runtime\CoreUObject\UObject\TSoftObjectPtr)< [UObject](API\Runtime\CoreUObject\UObject\UObject) > & Value )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Graph Parameters") static void SetStringParameter ( [UPCGGraphInstance](API\Plugins\PCG\UPCGGraphInstance) * GraphInstance, const [FName](API\Runtime\Core\UObject\FName) Name, const [FString](API\Runtime\Core\Containers\FString) & Value )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Graph Parameters") static void SetTransformParameter ( [UPCGGraphInstance](API\Plugins\PCG\UPCGGraphInstance) * GraphInstance, const [FName](API\Runtime\Core\UObject\FName) Name, const FTransform & Value )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Graph Parameters") static void SetVectorParameter ( [UPCGGraphInstance](API\Plugins\PCG\UPCGGraphInstance) * GraphInstance, const [FName](API\Runtime\Core\UObject\FName) Name, const FVector & Value )


className: UPCGGraphParametersHelpers

description: Helpers to dynamically set parameters on graph instances.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UPCGGraphParametersHelpers : public [UBlueprintFunctionLibrary](API\Runtime\Engine\Kismet\UBlueprintFunctionLibrary)


description: Interprets Metadata TypeId and increments OutPackedCustomData.NumCustomDataFloats appropriately. Returns false if the type could not be interpreted.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category=InstancePacking) bool AddTypeToPacking ( int TypeId, [FPCGPackedCustomData](API\Plugins\PCG\InstanceDataPackers\FPCGPackedCustomData) & OutPackedCustomData ) const


description: Build a PackedCustomData by processing each attribute in order for each point in the InstanceList

code: void PackCustomDataFromAttributes ( const [FPCGMeshInstanceList](API\Plugins\PCG\MeshSelectors\FPCGMeshInstanceList) & InstanceList, const [TArray](API\Runtime\Core\Containers\TArray)< const [FPCGMetadataAttributeBase](API\Plugins\PCG\Metadata\FPCGMetadataAttributeBase) * > & Attributes, [FPCGPackedCustomData](API\Plugins\PCG\InstanceDataPackers\FPCGPackedCustomData) & OutPackedCustomData ) const


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category=InstancePacking) void PackCustomDataFromAttributes ( const [FPCGMeshInstanceList](API\Plugins\PCG\MeshSelectors\FPCGMeshInstanceList) & InstanceList, const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * Metadata, const [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > & AttributeNames, [FPCGPackedCustomData](API\Plugins\PCG\InstanceDataPackers\FPCGPackedCustomData) & OutPackedCustomData ) const


className: UPCGInstanceDataPackerBase

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Abstract, BlueprintType, Blueprintable, ClassGroup=(Procedural)) class UPCGInstanceDataPackerBase : public [UObject](API\Runtime\CoreUObject\UObject\UObject)


description: Defines the strategy for (H)ISM custom float data packing

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintNativeEvent, Category=InstancePacking) void PackInstances ( [FPCGContext](API\Plugins\PCG\FPCGContext) & Context, const [UPCGSpatialData](API\Plugins\PCG\Data\UPCGSpatialData) * InSpatialData, const [FPCGMeshInstanceList](API\Plugins\PCG\MeshSelectors\FPCGMeshInstanceList) & InstanceList, [FPCGPackedCustomData](API\Plugins\PCG\InstanceDataPackers\FPCGPackedCustomData) & OutPackedCustomData ) const


code: virtual void PackInstances_Implementation ( [FPCGContext](API\Plugins\PCG\FPCGContext) & Context, const [UPCGSpatialData](API\Plugins\PCG\Data\UPCGSpatialData) * InSpatialData, const [FPCGMeshInstanceList](API\Plugins\PCG\MeshSelectors\FPCGMeshInstanceList) & InstanceList, [FPCGPackedCustomData](API\Plugins\PCG\InstanceDataPackers\FPCGPackedCustomData) & OutPackedCustomData ) const


className: UPCGInstanceDataPackerByAttribute

AttributeNames

type: TArray<FName>


className: FPCGPackedCustomData

CustomData

type: TArray< float >

NumCustomDataFloats

type: int


className: UPCGInstanceDataPackerByRegex

RegexPatterns

type: TArray<FString...


className: InvalidPCGTaskId

code: static const [FPCGTaskId](API\Plugins\PCG\FPCGTaskId) InvalidPCGTaskId = (uint64)-1;


description: Returns true if the element, in its current phase can be executed only from the main thread

code: virtual bool CanExecuteOnlyOnMainThread ( [FPCGContext](API\Plugins\PCG\FPCGContext) * Context ) const


description: Note: the following methods must be called from the main thread

code: void DebugDisplay ( [FPCGContext](API\Plugins\PCG\FPCGContext) * Context ) const


description: Passes through data when the element is Disabled. Can be implemented to override what gets passed through.

code: virtual void DisabledPassThroughData ( [FPCGContext](API\Plugins\PCG\FPCGContext) * Context ) const


description: Public function that executes the element on the appropriately created context. The caller should call the Execute function until it returns true.

code: bool Execute ( [FPCGContext](API\Plugins\PCG\FPCGContext) * Context ) const


description: Core execution method for the given element. Will be called until it returns true.

code: bool ExecuteInternal ( [FPCGContext](API\Plugins\PCG\FPCGContext) * Context ) const


description: Calculate a Crc that provides a receipt for the input data that can be paired with output data from the cache. If any dependency (setting, node input or external data) changes then this value should change. For some elements it is inefficient or not possible to output a Crc here. These can return an invalid Crc and the Crc can either be computed during execution, or afterwards based on output data.

code: virtual void GetDependenciesCrc ( const [FPCGDataCollection](API\Plugins\PCG\FPCGDataCollection) & InInput, const [UPCGSettings](API\Plugins\PCG\UPCGSettings) * InSettings, [UPCGComponent](API\Plugins\PCG\UPCGComponent) * InComponent, [FPCGCrc](API\Plugins\PCG\FPCGCrc) & OutCrc ) const


description: Returns true if the node can be cached (e.g. does not create artifacts & does not depend on untracked data

code: virtual bool IsCacheable ( const [UPCGSettings](API\Plugins\PCG\UPCGSettings) * InSettings ) const


description: Creates a custom context object paired to this element

code: [FPCGContext](API\Plugins\PCG\FPCGContext) * Initialize ( const [FPCGDataCollection](API\Plugins\PCG\FPCGDataCollection) & InputData, [TWeakObjectPtr](API\Runtime\Core\UObject\TWeakObjectPtr)< [UPCGComponent](API\Plugins\PCG\UPCGComponent) > SourceComponent, const [UPCGNode](API\Plugins\PCG\UPCGNode) * Node )


description: Returns true if the node can be cached - also checks for instance flags, if any.

code: bool IsCacheableInstance ( const [UPCGSettingsInterface](API\Plugins\PCG\UPCGSettingsInterface) * InSettingsInterface ) const


description: Controls whether an element can skip its execution wholly when the input data has the cancelled tag

code: virtual bool IsCancellable() const


description: Used to specify that the element passes through the data without any manipulation - used to correct target pins, etc.

code: virtual bool IsPassthrough ( const [UPCGSettings](API\Plugins\PCG\UPCGSettings) * InSettings ) const


description: This function will be called once and once only, at the end of an execution

code: void PostExecute ( [FPCGContext](API\Plugins\PCG\FPCGContext) * Context ) const


description: This function will be called once and once only, at the beginning of an execution

code: void PreExecute ( [FPCGContext](API\Plugins\PCG\FPCGContext) * Context ) const


description: The prepare data phase is one where it is more likely to be able to multithread

code: virtual bool PrepareDataInternal ( [FPCGContext](API\Plugins\PCG\FPCGContext) * Context ) const


description: Whether to do a 'deep' fine-grained CRC of the output data to pass to downstream nodes. Can be expensive so should be used sparingly.

code: virtual bool ShouldComputeFullOutputDataCrc ( [FPCGContext](API\Plugins\PCG\FPCGContext) * Context ) const


className: IPCGElement

description: Base class for the processing bit of a PCG node/settings

code: class IPCGElement


className: FPCGMatchAndSetByAttributeEntry

Value

type: FPCGMetadataTyp...


code: void SetType ( [EPCGMetadataTypes](API\Plugins\PCG\Metadata\EPCGMetadataTypes) InType, [EPCGMetadataTypesConstantStructStringMode](API\Plugins\PCG\Metadata\EPCGMetadataTypesConstantStructS-) InStringMode )


bIsDefault

type: bool

description: If the category is the default, if the input does not match to anything, it will use this category.

WeightedEntries

type: TArray<FPCGMat...

description: Values and their weights


className: FPCGMatchAndSetWeightedEntry

Weight

description: Relative weight of this entry


code: bool CreateAttributeIfNeeded ( [FPCGContext](API\Plugins\PCG\FPCGContext) & Context, const [FPCGAttributePropertySelector](API\Plugins\PCG\Metadata\FPCGAttributePropertySelector) & Selector, const [FPCGMetadataTypesConstantStruct](API\Plugins\PCG\Metadata\FPCGMetadataTypesConstantStruct) & Value, [UPCGPointData](API\Plugins\PCG\Data\UPCGPointData) * OutPointData, const [UPCGPointMatchAndSetSettings](API\Plugins\PCG\Elements\UPCGPointMatchAndSetSettings) * InSettings ) const


code: virtual void MatchAndSet_Implementation ( [FPCGContext](API\Plugins\PCG\FPCGContext) & Context, const [UPCGPointMatchAndSetSettings](API\Plugins\PCG\Elements\UPCGPointMatchAndSetSettings) * InSettings, const [UPCGPointData](API\Plugins\PCG\Data\UPCGPointData) * InPointData, [UPCGPointData](API\Plugins\PCG\Data\UPCGPointData) * OutPointData ) const


description: Main function to process points, and pass them through the Match & Set logic.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintNativeEvent, Category=Selection) void MatchAndSet ( [FPCGContext](API\Plugins\PCG\FPCGContext) & Context, const [UPCGPointMatchAndSetSettings](API\Plugins\PCG\Elements\UPCGPointMatchAndSetSettings) * InSettings, const [UPCGPointData](API\Plugins\PCG\Data\UPCGPointData) * InPointData, [UPCGPointData](API\Plugins\PCG\Data\UPCGPointData) * OutPointData ) const


description: Sets & propagates type change from the owner settings object

code: virtual void SetType ( [EPCGMetadataTypes](API\Plugins\PCG\Metadata\EPCGMetadataTypes) InType, [EPCGMetadataTypesConstantStructStringMode](API\Plugins\PCG\Metadata\EPCGMetadataTypesConstantStructS-) InStringMode )


description: Queries whether we should mutate the seeds as a post-process

code: virtual bool ShouldMutateSeed() const


code: virtual bool ValidatePreconditions_Implementation ( const [UPCGPointData](API\Plugins\PCG\Data\UPCGPointData) * InPointData ) const


className: UPCGMatchAndSetBase

description: Base class for Match & Set objects. Note that while it currently deals with points, it might be extended in the future. This class is extensible and can be implemented in different ways, but its role should be simple: For a given point, if it matches some criteria ("Match"), apply it some value ("Set"). It can be a lookup, a random process or something more involved.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Abstract, BlueprintType, Blueprintable, ClassGroup=(Procedural)) class UPCGMatchAndSetBase : public [UObject](API\Runtime\CoreUObject\UObject\UObject)

StringMode

type: EPCGMetadataTyp...

Type

description: For the sake of managing internal state a bit better, we keep a copy of the Set type & string subtype.


description: Queries whether this object uses a random process - note that this is expected to be static through the life of the object

code: virtual bool UsesRandomProcess() const


description: Called when a property on this object has been modified externally

code: virtual void PostEditChangeProperty ( [FPropertyChangedEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedEvent) & PropertyChangedEvent )


description: Early check to prevent issues when the data does not contain the required information to perform the operation

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintNativeEvent, Category=Selection) bool ValidatePreconditions ( const [UPCGPointData](API\Plugins\PCG\Data\UPCGPointData) * InPointData ) const


description: Propagates (does not set) the Match type to the entries

code: virtual void SetSourceType ( [EPCGMetadataTypes](API\Plugins\PCG\Metadata\EPCGMetadataTypes) InType, [EPCGMetadataTypesConstantStructStringMode](API\Plugins\PCG\Metadata\EPCGMetadataTypesConstantStructS-) InStringMode )


className: UPCGMatchAndSetByAttribute

description: This Match & Set object looks up an attribute on a given point, then looks up its entries to find a match; if there is one, then it sets it value.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(BlueprintType, ClassGroup=(Procedural)) class UPCGMatchAndSetByAttribute : public [UPCGMatchAndSetBase](API\Plugins\PCG\MatchAndSet\UPCGMatchAndSetBase)

Entries

description: Lookup entries (key-value pairs)

MatchSourceAttribute

type: FName

description: Attribute to match on the data

MatchSourceStringMode

description: String type of the attribute to match against (if required).

MatchSourceType

description: Type of the attribute to match against.


className: UPCGMatchAndSetWeighted

description: This Match & Set object assigns randomly a value based on weighted ratios, provided in the entries.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(BlueprintType, ClassGroup=(Procedural)) class UPCGMatchAndSetWeighted : public [UPCGMatchAndSetBase](API\Plugins\PCG\MatchAndSet\UPCGMatchAndSetBase)

bShouldMutateSeed

description: Controls whether the output data should mutate its seed - prevents issues when doing multiple random processes in a row

Entries

description: Values and their respective weights


description: Propagates (does not set) category (e.g. Match) type to entries.

code: virtual void SetCategoryType ( [EPCGMetadataTypes](API\Plugins\PCG\Metadata\EPCGMetadataTypes) InType, [EPCGMetadataTypesConstantStructStringMode](API\Plugins\PCG\Metadata\EPCGMetadataTypesConstantStructS-) InStringMode )


className: UPCGMatchAndSetWeightedByCategory

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(BlueprintType, ClassGroup=(Procedural)) class UPCGMatchAndSetWeightedByCategory : public [UPCGMatchAndSetBase](API\Plugins\PCG\MatchAndSet\UPCGMatchAndSetBase)

Categories

description: Lookup entries (key -> weighted list)

CategoryAttribute

description: Attribute to match against

CategoryStringMode

description: String subtype of the attribute to match against (if required).

CategoryType

description: Type of the attribute to match against.


className: EPCGMeshSelectorMaterialOverrideMode

code: enum EPCGMeshSelectorMaterialOverrideMode { NoOverride, StaticOverride, ByAttributeOverride, }


code: FPCGMeshInstanceList ( const [FSoftISMComponentDescriptor](API\Runtime\Engine\ISMPartition\FSoftISMComponentDescriptor) & InDescriptor )


className: FPCGMeshInstanceList

Descriptor

type: FSoftISMCompone...

Instances

type: TArray< FTransf...

InstancesMetadataEntry

type: TArray< int64 >


code: const [TArray](API\Runtime\Core\Containers\TArray)< [TSoftObjectPtr](API\Runtime\CoreUObject\UObject\TSoftObjectPtr)< [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) > > & GetMaterialOverrides ( [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) EntryKey )


code: void Initialize &40; FPCGContext & InContext &41;


code: void Initialize ( [FPCGContext](API\Plugins\PCG\FPCGContext) & InContext, bool bInByAttributeOverride, const [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > & InMaterialOverrideAttributeNames, const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InMetadata )


code: void Initialize ( [FPCGContext](API\Plugins\PCG\FPCGContext) & InContext, bool bUseMaterialOverrideAttributes, const [TArray](API\Runtime\Core\Containers\TArray)< [TSoftObjectPtr](API\Runtime\CoreUObject\UObject\TSoftObjectPtr)< [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) >> & InStaticMaterialOverrides, const [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > & InMaterialOverrideAttributeNames, const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InMetadata )


className: FPCGMeshMaterialOverrideHelper

description: Struct used to efficiently gather overrides and cache them during instance packing

code: struct FPCGMeshMaterialOverrideHelper


code: FPCGMeshSelectorWeightedEntry ( [TSoftObjectPtr](API\Runtime\CoreUObject\UObject\TSoftObjectPtr)< [UStaticMesh](API\Runtime\Engine\Engine\UStaticMesh) > InMesh, int InWeight )


className: FPCGMeshSelectorWeightedEntry


code: FPCGWeightedByCategoryEntryList ( const [FString](API\Runtime\Core\Containers\FString) & InCategoryEntry, const [TArray](API\Runtime\Core\Containers\TArray)< [FPCGMeshSelectorWeightedEntry](API\Plugins\PCG\MeshSelectors\FPCGMeshSelectorWeightedEntry) > & InWeightedMeshEntries )


className: FPCGWeightedByCategoryEntryList

CategoryEntry

type: FString

WeightedMeshEntries

type: TArray<FPCGMes...


code: virtual bool SelectInstances ( [FPCGStaticMeshSpawnerContext](API\Plugins\PCG\Elements\FPCGStaticMeshSpawnerContext) & Context, const [UPCGStaticMeshSpawnerSettings](API\Plugins\PCG\Elements\UPCGStaticMeshSpawnerSettings) * Settings, const [UPCGPointData](API\Plugins\PCG\Data\UPCGPointData) * InPointData, [TArray](API\Runtime\Core\Containers\TArray)< [FPCGMeshInstanceList](API\Plugins\PCG\MeshSelectors\FPCGMeshInstanceList) > & OutMeshInstances, [UPCGPointData](API\Plugins\PCG\Data\UPCGPointData) * OutPointData ) const


className: UPCGMeshSelectorBase

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Abstract, BlueprintType, ClassGroup=(Procedural)) class UPCGMeshSelectorBase : public [UObject](API\Runtime\CoreUObject\UObject\UObject)


description: Do any object-specific cleanup required immediately after loading an object. This is not called for newly-created objects, and by default will always execute on the game thread.

code: virtual void PostLoad()


className: UPCGMeshSelectorByAttribute

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(BlueprintType, ClassGroup=(Procedural)) class UPCGMeshSelectorByAttribute : public [UPCGMeshSelectorBase](API\Plugins\PCG\MeshSelectors\UPCGMeshSelectorBase)


className: UPCGMeshSelectorWeighted

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(BlueprintType, ClassGroup=(Procedural)) class UPCGMeshSelectorWeighted : public [UPCGMeshSelectorBase](API\Plugins\PCG\MeshSelectors\UPCGMeshSelectorBase)


className: UPCGMeshSelectorWeightedByCategory

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(BlueprintType, ClassGroup=(Procedural)) class UPCGMeshSelectorWeightedByCategory : public [UPCGMeshSelectorBase](API\Plugins\PCG\MeshSelectors\UPCGMeshSelectorBase)

Entries

type: TArray<FPCGWei...


className: AccessorParamResult

code: struct AccessorParamResult


className: EPCGAttributeAccessorFlags

code: enum EPCGAttributeAccessorFlags { StrictType = 1 << 0, AllowBroadcast = 1 << 1, AllowConstructible = 1 << 2, AllowSetDefaultValue = 1 << 3, }


code: bool GetRangeImpl ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< T > OutValues, int32 Index, const [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys ) const


code: bool SetRangeImpl ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const T > InValues, int32 Index, [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys, [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) Flags )


className: Super

code: typedef [IPCGAttributeAccessorT](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorT)< [FPCGAttributeAccessor](API\Plugins\PCG\Metadata\Accessors\FPCGAttributeAccessor)< T >> Super


code: FPCGAttributeAccessor ( const FPCGMetadataAttribute< T > * InAttribute, const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InMetadata )


description: Can't write if metadata is null.

code: FPCGAttributeAccessor ( FPCGMetadataAttribute< T > * InAttribute, [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InMetadata )


className: FPCGAttributeAccessor

description: Templated accessor class for attributes. Will wrap around a typed attribute. Key supported: MetadataEntryKey and Points

code: template<typename T> class FPCGAttributeAccessor : public [IPCGAttributeAccessorT< FPCGAttributeAccessor< T > >](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorT)


code: virtual bool GetMetadataEntryKeys ( int32 InStart, [TArrayView](API\Runtime\Core\Containers\TArrayView)< [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) * > & OutEntryKeys )


code: virtual bool GetMetadataEntryKeys ( int32 InStart, [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) * > & OutEntryKeys ) const


description: Returns the number of keys.

code: virtual int32 GetNum() const


code: FPCGAttributeAccessorKeysEntries ( const [FPCGMetadataAttributeBase](API\Plugins\PCG\Metadata\FPCGMetadataAttributeBase) * Attribute )


code: FPCGAttributeAccessorKeysEntries ( [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) EntryKey )


className: FPCGAttributeAccessorKeysEntries

description: Key around a metadata entry key

code: class FPCGAttributeAccessorKeysEntries : public [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys)

type: TArray<PCGMeta...


code: virtual bool GetGenericObjectKeys ( int32 InStart, [TArrayView](API\Runtime\Core\Containers\TArrayView)< void * > & OutObjects )


code: virtual bool GetGenericObjectKeys ( int32 InStart, [TArrayView](API\Runtime\Core\Containers\TArrayView)< const void * > & OutObjects ) const


code: FPCGAttributeAccessorKeysGenericPtrs ( const [TArrayView](API\Runtime\Core\Containers\TArrayView)< void * > & InPtrs )


code: FPCGAttributeAccessorKeysGenericPtrs ( const [TArrayView](API\Runtime\Core\Containers\TArrayView)< const void * > & InPtrs )


className: FPCGAttributeAccessorKeysGenericPtrs

description: Type erasing generic keys. Allow to store void* keys, if we are dealing with addresses instead of plain objects. We can't useFPCGAttributeAccessorKeysGenericsince it has a constructor taking a reference on a object, and you can't have void&.

code: class FPCGAttributeAccessorKeysGenericPtrs : public [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys)

Ptrs

type: TArrayView< voi...


code: FPCGAttributeAccessorKeysGeneric ( const [TArrayView](API\Runtime\Core\Containers\TArrayView)< ObjectType > & InObjects )


code: FPCGAttributeAccessorKeysGeneric ( const [TArrayView](API\Runtime\Core\Containers\TArrayView)< const ObjectType > & InObjects )


code: FPCGAttributeAccessorKeysGeneric ( ObjectType & InObject )


code: FPCGAttributeAccessorKeysGeneric ( const ObjectType & InObject )


className: FPCGAttributeAccessorKeysGeneric

description: Key around generic objects. Make sure ObjectType is not a pointer nor a reference, since we convert those to void*, it could lead to very bad situations if we try to convert a T** to a void*.

code: template<typename ObjectType, typename> class FPCGAttributeAccessorKeysGeneric : public [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys)

Objects

type: TArrayView< Obj...


code: virtual bool GetPointKeys ( int32 InStart, [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FPCGPoint](API\Plugins\PCG\FPCGPoint) * > & OutPoints )


code: virtual bool GetPointKeys ( int32 InStart, [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FPCGPoint](API\Plugins\PCG\FPCGPoint) * > & OutPoints ) const


code: FPCGAttributeAccessorKeysPoints ( const [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FPCGPoint](API\Plugins\PCG\FPCGPoint) > & InPoints )


code: FPCGAttributeAccessorKeysPoints ( const [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FPCGPoint](API\Plugins\PCG\FPCGPoint) > & InPoints )


code: FPCGAttributeAccessorKeysPoints ( [FPCGPoint](API\Plugins\PCG\FPCGPoint) & InPoint )


code: FPCGAttributeAccessorKeysPoints ( const [FPCGPoint](API\Plugins\PCG\FPCGPoint) & InPoint )


className: FPCGAttributeAccessorKeysPoints

description: Key around points

code: class FPCGAttributeAccessorKeysPoints : public [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys)

Points

type: TArrayView<FPC...


code: virtual bool GetGenericObjectKeys ( int32 InStart, [TArrayView](API\Runtime\Core\Containers\TArrayView)< void * > & OutObjects )


code: virtual bool GetGenericObjectKeys ( int32 InStart, [TArrayView](API\Runtime\Core\Containers\TArrayView)< const void * > & OutObjects ) const


description: Returns the number of keys.

code: virtual int32 GetNum() const


code: FPCGAttributeAccessorKeysSingleObjectPtr ( ObjectType * InPtr )


code: FPCGAttributeAccessorKeysSingleObjectPtr ( const ObjectType * InPtr )


description: Unique Key around a single object. Necessary if ObjectType is void, but keep a template version for completeness. Useful when you want to use the accessors Get/Set methods on a single object. Make sure ObjectType is not a pointer nor a reference, since we convert those to void*, it could lead to very bad situations if we try to convert a T** to a void*.

code: template<typename ObjectType, typename> class FPCGAttributeAccessorKeysSingleObjectPtr : public [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys)

Ptr

type: ObjectType *...


className: ChainGetter

code: typedef [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< T(const U &)> ChainGetter


className: ChainSetter

code: typedef [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void(U &, const T &)> ChainSetter


code: bool GetRangeImpl ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< T > OutValues, int32 Index, const [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys ) const


code: bool SetRangeImpl ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const T > InValues, int32 Index, [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys, [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) Flags )


code: typedef [IPCGAttributeAccessorT](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorT)< [FPCGChainAccessor](API\Plugins\PCG\Metadata\Accessors\FPCGChainAccessor)< T, U >> Super


code: FPCGChainAccessor ( [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [IPCGAttributeAccessor](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessor) > InAccessor, const [ChainGetter](API\Plugins\PCG\Metadata\Accessors\FPCGChainAccessor\ChainGetter) & InGetter, const [ChainSetter](API\Plugins\PCG\Metadata\Accessors\FPCGChainAccessor\ChainSetter) & InSetter )


code: FPCGChainAccessor ( [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [IPCGAttributeAccessor](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessor) > InAccessor, const [ChainGetter](API\Plugins\PCG\Metadata\Accessors\FPCGChainAccessor\ChainGetter) & InGetter )


className: FPCGChainAccessor

description: To chain accessors. T is the type of this accessor. U is the type of the underlying accessor. Key supported: Same as the underlying accessor

code: template<typename T, typename U> class FPCGChainAccessor : public [IPCGAttributeAccessorT< FPCGChainAccessor< T, U > >](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorT)


code: bool GetRangeImpl ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< T > OutValues, int32, const [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & ) const


code: bool SetRangeImpl ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const T >, int32, [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) &, [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) )


code: typedef [IPCGAttributeAccessorT](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorT)< [FPCGConstantValueAccessor](API\Plugins\PCG\Metadata\Accessors\FPCGConstantValueAccessor)< T >> Super


className: FPCGConstantValueAccessor

description: Very simple accessor that returns a constant value. Read only Key supported: All

code: template<typename T> class FPCGConstantValueAccessor : public [IPCGAttributeAccessorT< FPCGConstantValueAccessor< T > >](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorT)


code: FPCGConstantValueAccessor ( const T & InValue )


code: typedef [IPCGAttributeAccessorT](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorT)< [FPCGCustomPointAccessor](API\Plugins\PCG\Metadata\Accessors\FPCGCustomPointAccessor)< T >> Super


className: FPCGCustomPointAccessor

description: Templated accessor class for custom point properties. Need a getter and a setter, defined in theFPCGPointclass. Key supported: Points

code: template<typename T> class FPCGCustomPointAccessor : public [IPCGAttributeAccessorT< FPCGCustomPointAccessor< T > >](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorT)


code: FPCGCustomPointAccessor ( const [FPCGPoint::PointCustomPropertyGetter](API\Plugins\PCG\FPCGPoint\PointCustomPropertyGetter) & InGetter, const [FPCGPoint::PointCustomPropertySetter](API\Plugins\PCG\FPCGPoint\PointCustomPropertySetter) & InSetter )


code: bool GetRangeImpl ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< int64 > OutValues, int32 Index, const [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys ) const


code: bool SetRangeImpl ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const int64 > InValues, int32 Index, [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys, [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) )


code: FPCGEnumPropertyAccessor ( const [FEnumProperty](API\Runtime\CoreUObject\UObject\FEnumProperty) * InProperty )


code: bool GetRangeImpl ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< int32 > OutValues, int32 Index, const [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & InKeys ) const


className: FPCGEnumPropertyAccessor

description: Templated accessor class for enum properties. Will wrap around an enum property. Will always convert to int64 for PCG Do not instanciate it manually, usePCGAttributeAccessorHelpers::CreatePropertyAccessor. Key supported: Generic object

code: class FPCGEnumPropertyAccessor : public [IPCGAttributeAccessorT< FPCGEnumPropertyAccessor >](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorT)


code: bool SetRangeImpl ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const int32 >, int32, [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) &, [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) )


className: FPCGIndexAccessor

description: Very simple accessor that returns the index. Read only Key supported: All

code: class FPCGIndexAccessor : public [IPCGAttributeAccessorT< FPCGIndexAccessor >](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorT)


code: bool GetRangeImpl ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< T > OutValues, int32 Index, const [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys ) const


code: typedef [IPCGAttributeAccessorT](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorT)< [FPCGNumericPropertyAccessor](API\Plugins\PCG\Metadata\Accessors\FPCGNumericPropertyAccessor)< T >> Super


code: bool SetRangeImpl ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const T > InValues, int32 Index, [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys, [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) )


code: FPCGNumericPropertyAccessor ( const [FNumericProperty](API\Runtime\CoreUObject\UObject\FNumericProperty) * InProperty )


className: FPCGNumericPropertyAccessor

description: Templated accessor class for numeric properties. Will wrap around a numeric property. Do not instanciate it manually, usePCGAttributeAccessorHelpers::CreatePropertyAccessor. Only support integral and floating point types. Key supported: Generic object

code: template<typename T> class FPCGNumericPropertyAccessor : public [IPCGAttributeAccessorT< FPCGNumericPropertyAccessor< T > >](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorT)


code: typedef [IPCGAttributeAccessorT](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorT)< [FPCGPropertyAccessor](API\Plugins\PCG\Metadata\Accessors\FPCGPropertyAccessor)< T, PropertyType >> Super


code: FPCGPropertyAccessor ( const PropertyType * InProperty )


className: FPCGPropertyAccessor

description: Templated accessor class for properties that has a (Get/Set)PropertyValue. Will wrap around a property. For example String/Name/Bool Do not instanciate it manually, usePCGAttributeAccessorHelpers::CreatePropertyAccessor. Key supported: Generic object

code: template<typename T, typename PropertyType> class FPCGPropertyAccessor : public [IPCGAttributeAccessorT< FPCGPropertyAccessor< T, PropertyType > >](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorT)


code: bool GetRangeImpl ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< [Type](API\Plugins\PCG\Metadata\Accessors\FPCGPropertyObjectPtrAccessor\Type) > OutValues, int32 Index, const [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys ) const


code: bool SetRangeImpl ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [Type](API\Plugins\PCG\Metadata\Accessors\FPCGPropertyObjectPtrAccessor\Type) > InValues, int32 Index, [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys, [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) )


code: FPCGPropertyObjectPtrAccessor ( const [FObjectProperty](API\Runtime\CoreUObject\UObject\FObjectProperty) * InProperty )


code: bool GetRangeImpl ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< [Type](API\Plugins\PCG\Metadata\Accessors\FPCGPropertyPathAccessor\Type) > OutValues, int32 Index, const [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys ) const


className: FPCGPropertyObjectPtrAccessor

description: Templated accessor class for object/class ptr properties. Do not instantiate it manually, usePCGAttributeAccessorHelpers::CreatePropertyAccessor. Will always convert toFStringfor PCG Key supported: Generic object

code: class FPCGPropertyObjectPtrAccessor : public [IPCGAttributeAccessorT< FPCGPropertyObjectPtrAccessor >](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorT)


code: bool SetRangeImpl ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [Type](API\Plugins\PCG\Metadata\Accessors\FPCGPropertyPathAccessor\Type) > InValues, int32 Index, [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys, [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) )


code: typedef [IPCGAttributeAccessorT](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorT)< [FPCGPropertyPathAccessor](API\Plugins\PCG\Metadata\Accessors\FPCGPropertyPathAccessor)< T >> Super


code: FPCGPropertyPathAccessor ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * InProperty )


className: FPCGPropertyPathAccessor

description: Templated accessor class for path properties. Will wrap around a soft path property. Do not instanciate it manually, usePCGAttributeAccessorHelpers::CreatePropertyAccessor. Will always convert toFStringfor PCG Key supported: Generic object

code: template<typename T> class FPCGPropertyPathAccessor : public [IPCGAttributeAccessorT< FPCGPropertyPathAccessor< T > >](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorT)


code: bool GetRangeImpl ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< [Type](API\Plugins\PCG\Metadata\Accessors\FPCGPropertySoftPtrAccessor\Type) > OutValues, int32 Index, const [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys ) const


code: bool SetRangeImpl ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [Type](API\Plugins\PCG\Metadata\Accessors\FPCGPropertySoftPtrAccessor\Type) > InValues, int32 Index, [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys, [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) )


code: FPCGPropertySoftPtrAccessor ( const [FSoftObjectProperty](API\Runtime\CoreUObject\UObject\FSoftObjectProperty) * InProperty )


className: FPCGPropertySoftPtrAccessor

description: Templated accessor class for soft object/class ptr properties. Do not instantiate it manually, usePCGAttributeAccessorHelpers::CreatePropertyAccessor. Will always convert toFStringfor PCG Key supported: Generic object

code: class FPCGPropertySoftPtrAccessor : public [IPCGAttributeAccessorT< FPCGPropertySoftPtrAccessor >](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorT)


code: bool GetRangeImpl ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< T > OutValues, int32 Index, const [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys ) const


code: bool SetRangeImpl ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const T > InValues, int32 Index, [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys, [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) )


className: Super

code: typedef [IPCGAttributeAccessorT](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorT)< [FPCGPropertyStructAccessor](API\Plugins\PCG\Metadata\Accessors\FPCGPropertyStructAccessor)< T >> Super


code: FPCGPropertyStructAccessor ( const [FStructProperty](API\Runtime\CoreUObject\UObject\FStructProperty) * InProperty )


className: FPCGPropertyStructAccessor

description: Templated accessor class for struct properties. Will wrap around a struct property. Do not instanciate it manually, usePCGAttributeAccessorHelpers::CreatePropertyAccessor. WARNING: Getting the address of the underlying data from a container using this property should point to a "T" object in memory, otherwise it is UD. Key supported: Generic object

code: template<typename T> class FPCGPropertyStructAccessor : public [IPCGAttributeAccessorT< FPCGPropertyStructAccessor< T > >](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorT)


description:
Get a value from the accessor for a given type at index 0. Not threadsafe for all accessors.
true if the get succeeded, false otherwise

code: template<typename T> bool Get ( T & OutValue, const [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys, [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) Flags ) const


description:
Both GetRange and SetRange will be specialized for all supported types. (declared below and defined in the cpp).Bydefault, all unsupported types will return false. Get a value from the accessor for a given type. Not threadsafe for all accessors.
true if the get succeeded, false otherwise

code: template<typename T> bool Get ( T & OutValue, int32 Index, const [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys, [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) Flags ) const


description:
Get a range of values from the accessor for a given type. Not threadsafe for all accessors. If the number of elements asked is greater that the number of keys, it will wrap around.
true if the get succeeded, false otherwise

code: template<typename T> bool GetRange ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< T > OutValues, int32 Index, const [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys, [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) Flags ) const


code: template<> bool GetRange ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< FTransform > OutValues, int32 Index, const [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys, [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) Flags ) const


code: template<> bool GetRange ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FString](API\Runtime\Core\Containers\FString) > OutValues, int32 Index, const [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys, [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) Flags ) const


code: template<> bool GetRange ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< bool > OutValues, int32 Index, const [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys, [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) Flags ) const


code: template<> bool GetRange ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< FRotator > OutValues, int32 Index, const [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys, [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) Flags ) const


code: template<> bool GetRange ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FName](API\Runtime\Core\UObject\FName) > OutValues, int32 Index, const [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys, [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) Flags ) const


code: template<> bool GetRange ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< int64 > OutValues, int32 Index, const [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys, [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) Flags ) const