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


module: PCG

code: template<> bool GetRange ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< float > 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)< double > 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)< FVector2D > 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)< FVector > 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)< FVector4 > 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)< FQuat > 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


code: bool GetRangebool ( [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: bool GetRangefloat ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< float > & OutValues, int32 Index, const [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys, [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) Flags ) const


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


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


code: bool GetRangeFName ( [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: bool GetRangeFRotator ( [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: bool GetRangeFString ( [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: bool GetRangeFTransform ( [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: bool GetRangeFVector ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< FVector > & OutValues, int32 Index, const [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys, [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) Flags ) const


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


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


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


code: bool GetRangeint64 ( [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


description:
Set a value to the accessor for a given type at index 0. Not threadsafe for all accessors.
true if the set succeeded, false otherwise

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


description:
Set a value to the accessor for a given type. Not threadsafe for all accessors. IfIndexis greater than the number of keys, it will fail (return false).
true if the set succeeded, false otherwise

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


description:
Set a range of values to 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 fail. It is to avoid writing at the same memory place multiple times.
true if the get succeeded, false otherwise

code: template<typename T> bool SetRange ( [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: template<> bool SetRange ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FString](API\Runtime\Core\Containers\FString) > InValues, int32 Index, [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys, [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) Flags )


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


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


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


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


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


code: template<> bool SetRange ( [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) Flags )


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


code: bool SetRangeint64 ( [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) Flags )


code: IPCGAttributeAccessor ( bool bInReadOnly, int16 InUnderlyingType )


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


className: IPCGAttributeAccessor

description: Base class for accessor. GetRange and SetRange will be sepcialized for all supported types, and there are a GetRange and SetRange virtual for each supported type. For Get/Set, you need a key, that will represent how you can access the value wanted. cf PCGAttributeAccessorKeys. NOTE: This is not threadsafe and not intended to be used unprotected.

code: class IPCGAttributeAccessor

bReadOnly

type: bool


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


description: Same function but const.

code: template<typename ObjectType> bool GetKey ( ObjectType const *& OutObject ) const


description:
Retrieve in the given argument pointer of the wanted type at the index 0. Need to be a supported type, such asFPCGPoint, PCGMetadataEntryKey or void.
true if it succeeded, false otherwise. (like num == 0, unsupported type or read only)

code: template<typename ObjectType> bool GetKey ( ObjectType *& OutObject )


description:
Retrieve in the given argument pointer of the wanted type. Need to be a supported type, such asFPCGPoint, PCGMetadataEntryKey or void. It will wrap around if the index goes outside the number of keys.
true if it succeeded, false otherwise. (like num == 0, unsupported type or read only)

code: template<typename ObjectType> bool GetKey ( int32 InStart, ObjectType *& OutObject )


description: Same function but const.

code: template<typename ObjectType> bool GetKey ( int32 InStart, ObjectType const *& OutObject )


description:
Retrieve in the given view pointers of the wanted type Need to be a supported type, such asFPCGPoint, PCGMetadataEntryKey or void. It will wrap around if the index/range goes outside the number of keys.
true if it succeeded, false otherwise. (like num == 0,unsupported type or read only)

code: template<typename ObjectType> bool GetKeys ( int32 InStart, [TArrayView](API\Runtime\Core\Containers\TArrayView)< ObjectType * > & OutKeys )


description: Same function but const.

code: template<typename ObjectType> bool GetKeys ( int32 InStart, [TArrayView](API\Runtime\Core\Containers\TArrayView)< const ObjectType * > & OutKeys ) const


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: int32 GetNum() const


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: IPCGAttributeAccessorKeys ( bool bInReadOnly )


className: IPCGAttributeAccessorKeys

description: Base class to identify keys to use with an accessor.

code: class IPCGAttributeAccessorKeys


code: virtual bool GetRangebool ( [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: virtual bool GetRangedouble ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< double > & OutValues, int32 Index, const [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys, [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) Flags ) const


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


code: virtual bool GetRangeFName ( [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: virtual bool GetRangeFQuat ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< FQuat > & OutValues, int32 Index, const [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys, [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) Flags ) const


code: virtual bool GetRangeFRotator ( [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: virtual bool GetRangeFString ( [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: virtual bool GetRangeFTransform ( [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: virtual bool GetRangeFVector ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< FVector > & OutValues, int32 Index, const [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys, [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) Flags ) const


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


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


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


code: virtual bool GetRangeint64 ( [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


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


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


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


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


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


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


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


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


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


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


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


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


code: virtual bool SetRangeint64 ( [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) Flags )


code: IPCGAttributeAccessorT ( bool bInReadOnly )


className: IPCGAttributeAccessorT

description: Class that inherit this one needs to define: -> bool GetRangeImpl(TArrayView& OutValues, int32 Index, const IPCGAttributeAccessorKeys& Keys) const -> bool SetRangeImpl(TArrayView& InValues, int32 Index, IPCGAttributeAccessorKeys& Keys, EPCGAttributeAccessorFlags Flags) -> The underlying type: (using Type = ...);

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


className: operator&

code: constexpr [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) operator& ( [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) Lhs, [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) Rhs )


className: operator&=

code: [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) & operator&= ( [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) & Lhs, [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) Rhs )


className: operator~

code: constexpr [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) operator~ ( [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) E )


className: operator^

code: constexpr [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) operator^ ( [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) Lhs, [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) Rhs )


className: operator^=

code: [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) & operator^= ( [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) & Lhs, [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) Rhs )


className: operator!

code: constexpr bool operator! ( [EPCGAttributeAccessorFlags](API\Plugins\PCG\Metadata\Accessors\EPCGAttributeAccessorFlags) E )


code: namespace PCGAttributeAccessorHelpers { bool PCGAttributeAccessorHelpers::IsPropertyAccessorSupported ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * InProperty ) }


code: namespace PCGAttributeAccessorHelpers { bool PCGAttributeAccessorHelpers::IsPropertyAccessorSupported ( const [FName](API\Runtime\Core\UObject\FName) InPropertyName, const [UClass](API\Runtime\CoreUObject\UObject\UClass) * InClass ) }


code: namespace PCGAttributeAccessorHelpers { bool PCGAttributeAccessorHelpers::IsPropertyAccessorSupported ( const [FName](API\Runtime\Core\UObject\FName) InPropertyName, const [UStruct](API\Runtime\CoreUObject\UObject\UStruct) * InStruct ) }


code: namespace PCGAttributeAccessorHelpers { [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [IPCGAttributeAccessor](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessor) > PCGAttributeAccessorHelpers::CreatePropertyAccessor ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * InProperty ) }


code: namespace PCGAttributeAccessorHelpers { [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [IPCGAttributeAccessor](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessor) > PCGAttributeAccessorHelpers::CreatePropertyAccessor ( const [FName](API\Runtime\Core\UObject\FName) InPropertyName, const [UClass](API\Runtime\CoreUObject\UObject\UClass) * InClass ) }


code: namespace PCGAttributeAccessorHelpers { [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [IPCGAttributeAccessor](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessor) > PCGAttributeAccessorHelpers::CreatePropertyAccessor ( const [FName](API\Runtime\Core\UObject\FName) InPropertyName, const [UStruct](API\Runtime\CoreUObject\UObject\UStruct) * InStruct ) }


description: Deprecated* Use the CreateConstAccessorForOverrideParamWithResult version

code: namespace PCGAttributeAccessorHelpers { [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< const [IPCGAttributeAccessor](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessor) > PCGAttributeAccessorHelpers::CreateConstAccessorForOverrideParam ( const [FPCGDataCollection](API\Plugins\PCG\FPCGDataCollection) & InInputData, const [FPCGSettingsOverridableParam](API\Plugins\PCG\FPCGSettingsOverridableParam) & InParam, [FName](API\Runtime\Core\UObject\FName) * OutAttributeName ) }


description: Create a const accessor depending on an overridable param

code: namespace PCGAttributeAccessorHelpers { [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< const [IPCGAttributeAccessor](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessor) > PCGAttributeAccessorHelpers::CreateConstAccessorForOverrideParamWithResult ( const [FPCGDataCollection](API\Plugins\PCG\FPCGDataCollection) & InInputData, const [FPCGSettingsOverridableParam](API\Plugins\PCG\FPCGSettingsOverridableParam) & InParam, [AccessorParamResult](API\Plugins\PCG\Metadata\Accessors\AccessorParamResult) * OutResult ) }


description: Creates a const accessor to the property or attribute pointed at by the InSelector. Note that InData must not be null if the selector points to an attribute, but in the case of properties, it either has to be the appropriate type or null. Make sure to update your selector before-hand if you want to support "@Last"

code: namespace PCGAttributeAccessorHelpers { [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< const [IPCGAttributeAccessor](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessor) > PCGAttributeAccessorHelpers::CreateConstAccessor ( const [UPCGData](API\Plugins\PCG\UPCGData) * InData, const [FPCGAttributePropertySelector](API\Plugins\PCG\Metadata\FPCGAttributePropertySelector) & InSelector ) }


description: Creates a accessor to the property or attribute pointed at by the InSelector. Note that InData must not be null if the selector points to an attribute, but in the case of properties, it either has to be the appropriate type or null. Make sure to update your selector before-hand if you want to support "@Source". Otherwise the creation will fail.

code: namespace PCGAttributeAccessorHelpers { [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [IPCGAttributeAccessor](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessor) > PCGAttributeAccessorHelpers::CreateAccessor ( [UPCGData](API\Plugins\PCG\UPCGData) * InData, const [FPCGAttributePropertySelector](API\Plugins\PCG\Metadata\FPCGAttributePropertySelector) & InSelector ) }


code: namespace PCGAttributeAccessorHelpers { [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< const [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) > PCGAttributeAccessorHelpers::CreateConstKeys ( const [UPCGData](API\Plugins\PCG\UPCGData) * InData, const [FPCGAttributePropertySelector](API\Plugins\PCG\Metadata\FPCGAttributePropertySelector) & InSelector ) }


code: namespace PCGAttributeAccessorHelpers { [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) > PCGAttributeAccessorHelpers::CreateKeys ( [UPCGData](API\Plugins\PCG\UPCGData) * InData, const [FPCGAttributePropertySelector](API\Plugins\PCG\Metadata\FPCGAttributePropertySelector) & InSelector ) }


code: namespace PCGPropertyAccessor { [TArray](API\Runtime\Core\Containers\TArray)< const void * > PCGPropertyAccessor::GetContainerKeys ( int32 Index, int32 Range, const [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys ) }


code: namespace PCGPropertyAccessor { [TArray](API\Runtime\Core\Containers\TArray)< void * > PCGPropertyAccessor::GetContainerKeys ( int32 Index, int32 Range, [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys ) }


code: namespace PCGAttributeAccessorHelpers { [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [IPCGAttributeAccessor](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessor) > PCGAttributeAccessorHelpers::CreateExtraAccessor ( [EPCGExtraProperties](API\Plugins\PCG\Metadata\EPCGExtraProperties) InExtraProperties ) }


code: namespace PCGPropertyAccessor { template<typename T, typename Func> bool PCGPropertyAccessor::IterateSet ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property, [TArrayView](API\Runtime\Core\Containers\TArrayView)< const T > & InValues, int32 Index, [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys, Func && Setter ) }


code: namespace PCGPropertyAccessor { template<typename T, typename Func> bool PCGPropertyAccessor::IterateGet ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property, [TArrayView](API\Runtime\Core\Containers\TArrayView)< T > & OutValues, int32 Index, const [IPCGAttributeAccessorKeys](API\Plugins\PCG\Metadata\Accessors\IPCGAttributeAccessorKeys) & Keys, Func && Getter ) }


code: namespace PCGAttributeAccessorKeys { template<typename T, typename Container, typename Func> bool PCGAttributeAccessorKeys::GetKeys ( Container & InContainer, int32 InStart, [TArrayView](API\Runtime\Core\Containers\TArrayView)< T * > & OutItems, Func && Transform ) }


code: static bool Less ( const T & A, const T & B )


code: static bool Greater ( const T & A, const T & B )


code: static bool GreaterOrEqual ( const T & A, const T & B )


code: static bool LessOrEqual ( const T & A, const T & B )


className: DefaultCompareTraits

code: template<typename T> struct DefaultCompareTraits


code: static T Max ( const T & A, const T & B )


code: static T Min ( const T & A, const T & B )


className: DefaultMinMaxTraits

code: template<typename T> struct DefaultMinMaxTraits


code: static T Add ( const T & A, const T & B )


code: static T Div ( const T & A, const T & B )


code: static bool Equal ( const T & A, const T & B )


code: static T Mul ( const T & A, const T & B )


code: static T Sub ( const T & A, const T & B )


className: DefaultOperationTraits

code: template<typename T> struct DefaultOperationTraits


code: static [FString](API\Runtime\Core\Containers\FString) ToString ( const T & A )


className: DefaultStringTraits

code: template<typename T> struct DefaultStringTraits


className: CanInterpolate

code: enum { CanInterpolate = true }


code: static T WeightedSum ( const T & A, const T & B, float Weight )


className: DefaultWeightedSumTraits

code: template<typename T> struct DefaultWeightedSumTraits


className: EPCGExtraProperties

code: enum EPCGExtraProperties { Index, }


className: EPCGAttributePropertySelection

code: enum EPCGAttributePropertySelection { Attribute, PointProperty, ExtraProperty, }


className: EPCGMetadataFilterMode

code: enum EPCGMetadataFilterMode { ExcludeAttributes, IncludeAttributes, }


className: EPCGMetadataOp

code: enum EPCGMetadataOp { Min, Max, Sub, Add, Mul, Div, SourceValue, TargetValue, }


className: EPCGMetadataTypes

code: enum EPCGMetadataTypes { Float = 0, Double, Integer32, Integer64, Vector2, Vector, Vector4, Quaternion, Transform, String, Boolean, Rotator, Name, Count, Unknown = 255, }


code: enum EPCGMetadataTypesConstantStructStringMode { String, SoftObjectPath, SoftClassPath, }


description: For older nodes, before the split between Input and Output, force any last attribute to be last created to preserve the old behavior. Will be called by the PCGSetting deprecation function. Not meant to be used otherwise.

code: void ApplyDeprecation ( int32 InPCGCustomVersion )


description: Get a copy of the selector, with  replaced by the right selector.

code: [FPCGAttributePropertyInputSelector](API\Plugins\PCG\Metadata\FPCGAttributePropertyInputSelect-) CopyAndFixLast ( const [UPCGData](API\Plugins\PCG\UPCGData) * InData ) const


description: To support previously saved nodes, that usedFPCGAttributePropertySelector, we need to define this function to de-serialize the new class using the old. And add a trait (see below).

code: bool SerializeFromMismatchedTag ( const struct [FPropertyTag](API\Runtime\CoreUObject\UObject\FPropertyTag) & Tag, [FStructuredArchive::FSlot](API\Runtime\Core\Serialization\FStructuredArchive\FSlot) Slot )


description: Version where it doesn't make sense to have , alias forFPCGAttributePropertySelector.


className: FPCGAttributePropertyInputSelector

description: Struct that will default on  (or  for previously created selectors).


description: Get a copy of the selector, with  replaced by the right selector. Can add extra data for specific deprecation cases.

code: [FPCGAttributePropertyOutputSelector](API\Plugins\PCG\Metadata\FPCGAttributePropertyOutputSelec-) CopyAndFixSource ( const [FPCGAttributePropertyInputSelector](API\Plugins\PCG\Metadata\FPCGAttributePropertyInputSelect-) * InSourceSelector, const [UPCGData](API\Plugins\PCG\UPCGData) * InOptionalData ) const


code: FPCGAttributePropertyOutputSelector()


className: FPCGAttributePropertyOutputSelector

description: Struct that will default on .


code: template<typename T> static T CreateFromOtherSelector ( const [FPCGAttributePropertySelector](API\Plugins\PCG\Metadata\FPCGAttributePropertySelector) & InOther )


description: Returns the text to display in the widget.


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & GetExtraNames() const


description: Return the name of the selector.


description: Getters.


code: void ImportFromOtherSelector ( const [FPCGAttributePropertySelector](API\Plugins\PCG\Metadata\FPCGAttributePropertySelector) & InOther )


description: Return true if the underlying name is valid.

code: bool IsValid() const


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


code: bool SetAttributeName ( [FName](API\Runtime\Core\UObject\FName) InAttributeName, bool bResetExtraNames )


code: bool SetExtraProperty ( [EPCGExtraProperties](API\Plugins\PCG\Metadata\EPCGExtraProperties) InExtraProperty, bool bResetExtraNames )


description: Setters, retrurn true if something changed.

code: bool SetPointProperty ( [EPCGPointProperties](API\Plugins\PCG\EPCGPointProperties) InPointProperty, bool bResetExtraNames )


description: Update the selector with an incoming string.

code: bool Update ( [FString](API\Runtime\Core\Containers\FString) NewValue )


code: bool IsSame ( const [FPCGAttributePropertySelector](API\Plugins\PCG\Metadata\FPCGAttributePropertySelector) & Other, bool bIncludeExtraNames ) const


className: FPCGAttributePropertySelector

description: Note: This class should not be used as is, but need to be referenced by either an "InputSelector" or an "OutputSelector" (defined below). The reason for that is to provide 2 different default values for input and output. Input will have the "@Last" default value (meaning last attribute written to) and the Output will have "@Source" default value (meaning, same thing as input).

AttributeName

type: FName

ExtraNames

type: TArray<FString...

ExtraProperty

type: EPCGExtraProper...

PointProperty

type: EPCGPointProper...

Selection

type: EPCGAttributePr...


code: void AccumulateValue ( [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) ItemKey, const [FPCGMetadataAttributeBase](API\Plugins\PCG\Metadata\FPCGMetadataAttributeBase) * InAttributeA, [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) InEntryKeyA, float Weight )


code: bool AreValuesEqual ( [PCGMetadataValueKey](API\Plugins\PCG\Metadata\PCGMetadataValueKey) ValueKey1, [PCGMetadataValueKey](API\Plugins\PCG\Metadata\PCGMetadataValueKey) ValueKey2 ) const


code: bool AreValuesEqualForEntryKeys ( [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) EntryKey1, [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) EntryKey2 ) const


code: [FPCGMetadataAttributeBase](API\Plugins\PCG\Metadata\FPCGMetadataAttributeBase) * Copy ( [FName](API\Runtime\Core\UObject\FName) NewName, [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InMetadata, bool bKeepParent, bool bCopyEntries, bool bCopyValues ) const


code: const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * GetMetadata() const


code: [PCGMetadataValueKey](API\Plugins\PCG\Metadata\PCGMetadataValueKey) GetValueKey ( [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) EntryKey ) const


description: This call is not thread safe.

code: const [TMap](API\Runtime\Core\Containers\TMap)< [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey), [PCGMetadataValueKey](API\Plugins\PCG\Metadata\PCGMetadataValueKey) > & GetEntryToValueKeyMap_NotThreadSafe() const


code: bool HasNonDefaultValue ( [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) EntryKey ) const


code: bool IsEqualToDefaultValue ( [PCGMetadataValueKey](API\Plugins\PCG\Metadata\PCGMetadataValueKey) ValueKey ) const


code: static bool IsValidName ( const [FString](API\Runtime\Core\Containers\FString) & Name )


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


code: static bool IsValidName ( const [FName](API\Runtime\Core\UObject\FName) & Name )


code: void SetValue ( [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) ItemKey, const [FPCGMetadataAttributeBase](API\Plugins\PCG\Metadata\FPCGMetadataAttributeBase) * InAttribute, [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) InEntryKey )


code: virtual void Serialize ( [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InMetadata, [FArchive](API\Runtime\Core\Serialization\FArchive) & InArchive )


code: void SetValue ( [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) ItemKey, const [FPCGMetadataAttributeBase](API\Plugins\PCG\Metadata\FPCGMetadataAttributeBase) * InAttributeA, [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) InEntryKeyA, const [FPCGMetadataAttributeBase](API\Plugins\PCG\Metadata\FPCGMetadataAttributeBase) * InAttributeB, [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) InEntryKeyB, [EPCGMetadataOp](API\Plugins\PCG\Metadata\EPCGMetadataOp) Op )


code: void SetValueFromValueKey ( [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) EntryKey, [PCGMetadataValueKey](API\Plugins\PCG\Metadata\PCGMetadataValueKey) ValueKey )


code: void SetValuesFromValueKeys ( const [TArray](API\Runtime\Core\Containers\TArray)< [TTuple](API\Runtime\Core\Misc\TTuple)< [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey), [PCGMetadataValueKey](API\Plugins\PCG\Metadata\PCGMetadataValueKey) >> & EntryValuePairs, bool bResetValueOnDefaultValueKey )


code: void SetWeightedValue ( [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) ItemKey, const [FPCGMetadataAttributeBase](API\Plugins\PCG\Metadata\FPCGMetadataAttributeBase) * InAttribute, const [TArrayView](API\Runtime\Core\Containers\TArrayView)< TPair< [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey), float >> InWeightedKeys )


code: void SetZeroValue ( [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) ItemKey )


code: FPCGMetadataAttributeBase ( [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InMetadata, [FName](API\Runtime\Core\UObject\FName) InName, const [FPCGMetadataAttributeBase](API\Plugins\PCG\Metadata\FPCGMetadataAttributeBase) * InParent, bool bInAllowsInterpolation )


className: FPCGMetadataAttributeBase

code: class FPCGMetadataAttributeBase

AttributeId

type: PCGMetadataAttr...

EntryMapLock

type: FRWLock

EntryToValueKeyMap

type: TMap<PCGMetada...

Metadata

type: TObjectPtr<UPC...

Parent

type: constFPCGMetad...


code: template<typename Func> decltype(auto) Dispatcher ( Func Callback ) const


code: static [FString](API\Runtime\Core\Containers\FString) ToString ( const T & A )


className: LexToStringTraits

code: template<typename T> struct LexToStringTraits


className: FPCGMetadataTypesConstantStruct

description: Struct to be re-used when you need to show constants types for a metadata type It will store all our values, and will display nicely depending on the type chosen

DoubleValue

type: double

FloatValue

type: float

description: All different types.

QuatValue

type: FQuat

RotatorValue

type: FRotator

SoftClassPathValue

type: FSoftClassPath

SoftObjectPathValue

type: FSoftObjectPath

StringMode

type: EPCGMetadataTyp...

StringValue

type: FString

TransformValue

type: FTransform

VectorValue

type: FVector


className: CanSearchString

code: enum { CanSearchString = false }


className: CompressData

code: enum { CompressData = false }


className: MetadataTraits

code: template<typename T> struct MetadataTraits : public [PCG::Private::DefaultOperationTraits< T >](API\Plugins\PCG\Metadata\DefaultOperationTraits), public [PCG::Private::DefaultWeightedSumTraits< T >](API\Plugins\PCG\Metadata\DefaultWeightedSumTraits), public [PCG::Private::DefaultMinMaxTraits< T >](API\Plugins\PCG\Metadata\DefaultMinMaxTraits), public [PCG::Private::DefaultCompareTraits< T >](API\Plugins\PCG\Metadata\DefaultCompareTraits), public [PCG::Private::LexToStringTraits< T >](API\Plugins\PCG\Metadata\LexToStringTraits)


className: MetadataTraits< bool >::Add

code: static bool Add &40; const bool & A, const bool & B &41;


className: CanCompare

code: enum &123; CanCompare = true &125;


className: CanInterpolate

code: enum &123; CanInterpolate = false &125;


className: CanMinMax

code: enum &123; CanMinMax = true &125;


className: CanMulDiv

code: enum &123; CanMulDiv = false &125;


code: enum &123; CompressData = false &125;


className: CanSubAdd

code: enum &123; CanSubAdd = true &125;


code: enum &123; CanSearchString = false &125;


className: MetadataTraits< bool >::Equal

code: static bool Equal &40; const bool & A, const bool & B &41;


className: MetadataTraits< bool >::Greater

code: static bool Greater &40; const bool & A, const bool & B &41;


className: MetadataTraits< bool >::GreaterOrEqual

code: static bool GreaterOrEqual &40; const bool & A, const bool & B &41;


className: MetadataTraits< bool >::LessOrEqual

code: static bool LessOrEqual &40; const bool & A, const bool & B &41;


className: MetadataTraits< bool >::Less

code: static bool Less &40; const bool & A, const bool & B &41;


className: MetadataTraits< bool >::Max

code: static bool Max &40; const bool & A, const bool & B &41;


className: MetadataTraits< bool >::Min

code: static bool Min &40; const bool & A, const bool & B &41;


className: MetadataTraits< bool >::Sub

code: static bool Sub &40; const bool & A, const bool & B &41;


className: MetadataTraits< bool >::ZeroValue

code: static bool ZeroValue&40;&41;


className: MetadataTraits< bool >

code: template<> struct MetadataTraits< bool > : public [PCG::Private::LexToStringTraits< bool >](API\Plugins\PCG\Metadata\LexToStringTraits)


className: MetadataTraits< double >::Equal

code: static bool Equal &40; const double & A, const double & B &41;


className: MetadataTraits< double >

code: template<> struct MetadataTraits< double > : public [PCG::Private::DefaultOperationTraits< double >](API\Plugins\PCG\Metadata\DefaultOperationTraits), public [PCG::Private::DefaultWeightedSumTraits< double >](API\Plugins\PCG\Metadata\DefaultWeightedSumTraits), public [PCG::Private::DefaultMinMaxTraits< double >](API\Plugins\PCG\Metadata\DefaultMinMaxTraits), public [PCG::Private::DefaultCompareTraits< double >](API\Plugins\PCG\Metadata\DefaultCompareTraits), public [PCG::Private::LexToStringTraits< double >](API\Plugins\PCG\Metadata\LexToStringTraits)


className: MetadataTraits< float >::Equal

code: static bool Equal &40; const float & A, const float & B &41;


className: CanCompare

code: enum &123; CanCompare = true &125;


className: MetadataTraits< float >

code: template<> struct MetadataTraits< float > : public [PCG::Private::DefaultOperationTraits< float >](API\Plugins\PCG\Metadata\DefaultOperationTraits), public [PCG::Private::DefaultWeightedSumTraits< float >](API\Plugins\PCG\Metadata\DefaultWeightedSumTraits), public [PCG::Private::DefaultMinMaxTraits< float >](API\Plugins\PCG\Metadata\DefaultMinMaxTraits), public [PCG::Private::DefaultCompareTraits< float >](API\Plugins\PCG\Metadata\DefaultCompareTraits), public [PCG::Private::LexToStringTraits< float >](API\Plugins\PCG\Metadata\LexToStringTraits)


className: CanInterpolate

code: enum &123; CanInterpolate = false &125;


className: CanMinMax

code: enum &123; CanMinMax = false &125;


className: CanMulDiv

code: enum &123; CanMulDiv = false &125;


className: CanSearchString

code: enum &123; CanSearchString = true &125;


className: CanSubAdd

code: enum &123; CanSubAdd = false &125;


className: CompressData

code: enum &123; CompressData = false &125;


className: MetadataTraits< FName >::Equal

code: static bool Equal &40; const FName & A, const FName & B &41;


className: MetadataTraits< FName >::Greater

code: static bool Greater &40; const FName & A, const FName & B &41;


className: MetadataTraits< FName >::GreaterOrEqual

code: static bool GreaterOrEqual &40; const FName & A, const FName & B &41;


className: MetadataTraits< FName >::Less

code: static bool Less &40; const FName & A, const FName & B &41;


className: MetadataTraits< FName >::LessOrEqual

code: static bool LessOrEqual &40; const FName & A, const FName & B &41;


className: MetadataTraits< FName >::Matches

code: static bool Matches &40; const FName & A, const FName & B &41;


className: MetadataTraits< FName >::Substring

code: static bool Substring &40; const FName & A, const FName & B &41;


className: MetadataTraits< FName >::ZeroValue

code: static FName ZeroValue&40;&41;


className: MetadataTraits< FName >

code: template<> struct MetadataTraits< FName > : public [PCG::Private::DefaultStringTraits< FName >](API\Plugins\PCG\Metadata\DefaultStringTraits)


className: MetadataTraits< FQuat >::Add

code: static FQuat Add &40; const FQuat & A, const FQuat & B &41;


className: CanCompare

code: enum &123; CanCompare = false &125;


className: CanInterpolate

code: enum &123; CanInterpolate = true &125;


code: enum &123; CanMulDiv = true &125;


className: CanMinMax

code: enum &123; CanMinMax = false &125;


code: enum &123; CanSearchString = false &125;


code: enum &123; CanSubAdd = true &125;


code: enum &123; CompressData = false &125;


className: MetadataTraits< FQuat >::Equal

code: static bool Equal &40; const FQuat & A, const FQuat & B &41;


className: MetadataTraits< FQuat >::Mul

code: static FQuat Mul &40; const FQuat & A, const FQuat & B &41;


className: MetadataTraits< FQuat >::Sub

code: static FQuat Sub &40; const FQuat & A, const FQuat & B &41;


className: MetadataTraits< FQuat >::WeightedSum

code: static FQuat WeightedSum &40; const FQuat & A, const FQuat & B, float Weight &41;


className: MetadataTraits< FQuat >::ZeroValue

code: static FQuat ZeroValue&40;&41;


className: MetadataTraits< FQuat >

description: Quaternion.

code: template<> struct MetadataTraits< FQuat > : public [PCG::Private::DefaultStringTraits< FQuat >](API\Plugins\PCG\Metadata\DefaultStringTraits)


className: MetadataTraits< FRotator >::Add

code: static FRotator Add &40; const FRotator & A, const FRotator & B &41;


className: MetadataTraits< FQuat >::Div

code: static FQuat Div &40; const FQuat & A, const FQuat & B &41;


className: MetadataTraits< FRotator >::Equal

code: static bool Equal &40; const FRotator & A, const FRotator & B &41;


className: MetadataTraits< FRotator >::Mul

code: static FRotator Mul &40; const FRotator & A, const FRotator & B &41;


className: MetadataTraits< FRotator >::Sub

code: static FRotator Sub &40; const FRotator & A, const FRotator & B &41;


className: MetadataTraits< FRotator >::WeightedSum

code: static FRotator WeightedSum &40; const FRotator & A, const FRotator & B, float Weight &41;


className: MetadataTraits< FRotator >::ZeroValue

code: static FRotator ZeroValue&40;&41;


className: MetadataTraits< FRotator >

description: Rotator.

code: template<> struct MetadataTraits< FRotator > : public [PCG::Private::DefaultStringTraits< FRotator >](API\Plugins\PCG\Metadata\DefaultStringTraits)


code: enum &123; CanInterpolate = false &125;


className: MetadataTraits< FRotator >::Div

code: static FRotator Div &40; const FRotator & A, const FRotator & B &41;


code: enum &123; CanMinMax = false &125;


className: CanMulDiv

code: enum &123; CanMulDiv = false &125;


className: CanSearchString

code: enum &123; CanSearchString = true &125;


className: CanSubAdd

code: enum &123; CanSubAdd = false &125;


className: CompressData

code: enum &123; CompressData = true &125;


className: MetadataTraits< FString >::Equal

code: static bool Equal &40; const FString & A, const FString & B &41;


className: MetadataTraits< FString >::Matches

code: static bool Matches &40; const FString & A, const FString & B &41;


className: MetadataTraits< FString >::Substring

code: static bool Substring &40; const FString & A, const FString & B &41;


className: MetadataTraits< FString >::ZeroValue

code: static FString ZeroValue&40;&41;


className: MetadataTraits< FString >

description: Strings.

code: template<> struct MetadataTraits< FString > : public [PCG::Private::DefaultCompareTraits< FString >](API\Plugins\PCG\Metadata\DefaultCompareTraits), public [PCG::Private::DefaultStringTraits< FString >](API\Plugins\PCG\Metadata\DefaultStringTraits)


className: CanCompare

code: enum &123; CanCompare = false &125;


className: CanInterpolate

code: enum &123; CanInterpolate = true &125;


code: enum &123; CanMulDiv = true &125;


code: enum &123; CanSearchString = false &125;


code: enum &123; CompressData = false &125;


className: MetadataTraits< FTransform >::Div

code: static FTransform Div &40; const FTransform & A, const FTransform & B &41;


className: MetadataTraits< FTransform >::Equal

code: static bool Equal &40; const FTransform & A, const FTransform & B &41;


className: MetadataTraits< FTransform >::Mul

code: static FTransform Mul &40; const FTransform & A, const FTransform & B &41;


code: static FQuat WeightedQuatSum &40; const FQuat & Q, const FQuat & V, float Weight &41;


code: static FTransform WeightedSum &40; const FTransform & A, const FTransform & B, float Weight &41;


className: MetadataTraits< FTransform >::ZeroValue

code: static FTransform ZeroValue&40;&41;


className: MetadataTraits< FTransform >

description: Transform.

code: template<> struct MetadataTraits< FTransform > : public [PCG::Private::DefaultStringTraits< FTransform >](API\Plugins\PCG\Metadata\DefaultStringTraits)


className: MetadataTraits< FVector >::Greater

code: static bool Greater &40; const FVector & A, const FVector & B &41;


className: MetadataTraits< FVector >::Equal

code: static bool Equal &40; const FVector & A, const FVector & B &41;


code: static bool GreaterOrEqual &40; const FVector & A, const FVector & B &41;


className: MetadataTraits< FVector >::Less

code: static bool Less &40; const FVector & A, const FVector & B &41;


className: MetadataTraits< FVector >::LessOrEqual

code: static bool LessOrEqual &40; const FVector & A, const FVector & B &41;


className: MetadataTraits< FVector >::Max

code: static FVector Max &40; const FVector & A, const FVector & B &41;


className: MetadataTraits< FVector >::Min

code: static FVector Min &40; const FVector & A, const FVector & B &41;


className: MetadataTraits< FVector >

code: template<> struct MetadataTraits< FVector > : public [PCG::Private::VectorTraits< FVector >](API\Plugins\PCG\Metadata\VectorTraits)


className: MetadataTraits< FVector2D >::Equal

code: static bool Equal &40; const FVector2D & A, const FVector2D & B &41;


className: MetadataTraits< FVector2D >::Greater

code: static bool Greater &40; const FVector2D & A, const FVector2D & B &41;


code: static bool GreaterOrEqual &40; const FVector2D & A, const FVector2D & B &41;


className: MetadataTraits< FVector2D >::Less

code: static bool Less &40; const FVector2D & A, const FVector2D & B &41;


className: MetadataTraits< FVector2D >::Max

code: static FVector2D Max &40; const FVector2D & A, const FVector2D & B &41;


code: static bool LessOrEqual &40; const FVector2D & A, const FVector2D & B &41;


className: MetadataTraits< FVector2D >::Min

code: static FVector2D Min &40; const FVector2D & A, const FVector2D & B &41;


className: MetadataTraits< FVector2D >

code: template<> struct MetadataTraits< FVector2D > : public [PCG::Private::VectorTraits< FVector2D >](API\Plugins\PCG\Metadata\VectorTraits)


className: MetadataTraits< FVector4 >::Equal

code: static bool Equal &40; const FVector4 & A, const FVector4 & B &41;


className: MetadataTraits< FVector4 >::Greater

code: static bool Greater &40; const FVector4 & A, const FVector4 & B &41;


code: static bool GreaterOrEqual &40; const FVector4 & A, const FVector4 & B &41;


className: MetadataTraits< FVector4 >::Less

code: static bool Less &40; const FVector4 & A, const FVector4 & B &41;


className: MetadataTraits< FVector4 >::LessOrEqual

code: static bool LessOrEqual &40; const FVector4 & A, const FVector4 & B &41;


className: MetadataTraits< FVector4 >::Max

code: static FVector4 Max &40; const FVector4 & A, const FVector4 & B &41;


className: MetadataTraits< FVector4 >::Min

code: static FVector4 Min &40; const FVector4 & A, const FVector4 & B &41;


className: MetadataTraits< FVector4 >

code: template<> struct MetadataTraits< FVector4 > : public [PCG::Private::VectorTraits< FVector4 >](API\Plugins\PCG\Metadata\VectorTraits)


className: Id

code: enum { Id = static_cast<uint16>(EPCGMetadataTypes::Unknown) + sizeof(T) }


className: MetadataTypes

code: template<typename T> struct MetadataTypes


code: enum &123; Id = static_cast<uint16>(EPCGMetadataTypes:: Boolean ) &125;


className: MetadataTypes< bool >

code: template<> struct MetadataTypes< bool >


className: MetadataTypes< double >

code: template<> struct MetadataTypes< double >


code: enum &123; Id = static_cast<uint16>(EPCGMetadataTypes:: Double ) &125;


code: enum &123; Id = static_cast<uint16>(EPCGMetadataTypes:: Float ) &125;


className: MetadataTypes< float >

code: template<> struct MetadataTypes< float >


className: MetadataTypes< FName >

code: template<> struct MetadataTypes< FName >


code: enum &123; Id = static_cast<uint16>(EPCGMetadataTypes:: Name ) &125;


code: enum &123; Id = static_cast<uint16>(EPCGMetadataTypes:: Quaternion ) &125;


className: MetadataTypes< FQuat >

code: template<> struct MetadataTypes< FQuat >


code: enum &123; Id = static_cast<uint16>(EPCGMetadataTypes:: Rotator ) &125;


className: MetadataTypes< FRotator >

code: template<> struct MetadataTypes< FRotator >


code: enum &123; Id = static_cast<uint16>(EPCGMetadataTypes:: String ) &125;


className: MetadataTypes< FString >

code: template<> struct MetadataTypes< FString >


code: enum &123; Id = static_cast<uint16>(EPCGMetadataTypes:: Transform ) &125;


className: MetadataTypes< FTransform >

code: template<> struct MetadataTypes< FTransform >


code: enum &123; Id = static_cast<uint16>(EPCGMetadataTypes:: Vector ) &125;


className: MetadataTypes< FVector >

code: template<> struct MetadataTypes< FVector >


code: enum &123; Id = static_cast<uint16>(EPCGMetadataTypes:: Vector2 ) &125;


className: MetadataTypes< FVector2D >

code: template<> struct MetadataTypes< FVector2D >


code: enum &123; Id = static_cast<uint16>(EPCGMetadataTypes:: Vector4 ) &125;


className: MetadataTypes< FVector4 >

code: template<> struct MetadataTypes< FVector4 >


code: enum &123; Id = static_cast<uint16>(EPCGMetadataTypes:: Integer32 ) &125;


className: MetadataTypes< int32 >

code: template<> struct MetadataTypes< int32 >


code: enum &123; Id = static_cast<uint16>(EPCGMetadataTypes:: Integer64 ) &125;


className: MetadataTypes< int64 >

code: template<> struct MetadataTypes< int64 >


className: PCGMetadataAttributeKey

code: typedef int32 PCGMetadataAttributeKey


code: namespace PCGMetadataAttribute { template<typename Func, typename... Args> decltype(auto) PCGMetadataAttribute::CallbackWithRightType ( uint16 TypeId, Func Callback, Args &&... InArgs ) }


code: namespace PCGMetadataAttribute { [FPCGMetadataAttributeBase](API\Plugins\PCG\Metadata\FPCGMetadataAttributeBase) * PCGMetadataAttribute::AllocateEmptyAttributeFromType ( int16 TypeId ) }


className: PCGMetadataEntryKey

code: typedef int64 PCGMetadataEntryKey


className: PCGMetadataValueKey

code: typedef int32 PCGMetadataValueKey


code: namespace PCG { namespace Private { static PCG::Private::BroadcastableTypes {}; } }


code: namespace PCG { namespace Private { [FString](API\Runtime\Core\Containers\FString) PCG::Private::GetTypeName ( uint16 InType ) } }


description:
Generic function to broadcast an InType to an OutType. Supports only PCG types
true if the conversion worked, false otherwise.

code: namespace PCG { namespace Private { template<typename InType, typename OutType> bool PCG::Private::GetValueWithBroadcast ( const InType & InValue, OutType & OutValue ) } }


code: namespace PCG { namespace Private { template<typename FirstType, typename SecondType> constexpr bool PCG::Private::IsBroadcastable() } }


code: namespace PCG { namespace Private { constexpr bool PCG::Private::IsBroadcastable ( uint16 FirstType, uint16 SecondType ) } }


description: Cf. non templated version of IsMoreComplexType

code: namespace PCG { namespace Private { template<typename FirstType, typename SecondType> constexpr bool PCG::Private::IsMoreComplexType() } }


description: FirstType is more complex than SecondType, in the sense of PCG types, if both types are different and valid and we can broadcast SecondType to FirstType. It is useful to find the most complex type between operands of a given operation.

code: namespace PCG { namespace Private { constexpr bool PCG::Private::IsMoreComplexType ( uint16 FirstType, uint16 SecondType ) } }


description: Verify if T is a type known by PCG and if it matches another type in all provided types (in Types...) Example:IsOfTypes();

code: namespace PCG { namespace Private { template<typename T, typename... Types> constexpr bool PCG::Private::IsOfTypes() } }


description: Verify if the TypeId is a type known by PCG and matches any types provided in the template. Example: IsOfTypes(TypeId);

code: namespace PCG { namespace Private { template<typename... Types> constexpr bool PCG::Private::IsOfTypes ( uint16 TypeId ) } }


code: namespace PCG { namespace Private { template<typename T> constexpr bool PCG::Private::IsPCGType() } }


code: namespace PCG { namespace Private { constexpr bool PCG::Private::IsPCGType ( uint16 TypeId ) } }


code: enum &123; WithStructuredSerializeFromMismatchedTag = true &125;


description: Extra trait to specify to the deserializer that those two classes can be deserialized using the old class.

code: template<> struct TStructOpsTypeTraits< FPCGAttributePropertyInputSelector > : public [TStructOpsTypeTraitsBase2< FPCGAttributePropertyInputSelector >](API\Runtime\CoreUObject\UObject\TStructOpsTypeTraitsBase2)


code: template<> struct TStructOpsTypeTraits< FPCGAttributePropertyOutputSelector > : public [TStructOpsTypeTraitsBase2< FPCGAttributePropertyOutputSelector >](API\Runtime\CoreUObject\UObject\TStructOpsTypeTraitsBase2)


code: constexpr const bool * operator[] ( int i ) const


className: UBroadcastableTypes

description: Wrapper around a standard 2-dimensional CArray that is constexpr, to know if a type is broadcastable to another. First index is the original type, second index is the wanted type. Returns true if we can broadcast first type into second type.

code: struct UBroadcastableTypes

Values

type: bool[(uint8) EP...


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|PCGAttributePropertySelector", Meta=(ScriptMethod)) static [FPCGAttributePropertyInputSelector](API\Plugins\PCG\Metadata\FPCGAttributePropertyInputSelect-) CopyAndFixLast ( const [FPCGAttributePropertyInputSelector](API\Plugins\PCG\Metadata\FPCGAttributePropertyInputSelect-) & Selector, const [UPCGData](API\Plugins\PCG\UPCGData) * InData )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|PCGAttributePropertySelector", Meta=(ScriptMethod)) static [FName](API\Runtime\Core\UObject\FName) GetAttributeName ( const [FPCGAttributePropertySelector](API\Plugins\PCG\Metadata\FPCGAttributePropertySelector) & Selector )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|PCGAttributePropertySelector", Meta=(ScriptMethod)) static const [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & GetExtraNames ( const [FPCGAttributePropertySelector](API\Plugins\PCG\Metadata\FPCGAttributePropertySelector) & Selector )


code: static [FPCGAttributePropertyOutputSelector](API\Plugins\PCG\Metadata\FPCGAttributePropertyOutputSelec-) CopyAndFixSource ( const [FPCGAttributePropertyOutputSelector](API\Plugins\PCG\Metadata\FPCGAttributePropertyOutputSelec-) & Selector, const [FPCGAttributePropertyInputSelector](API\Plugins\PCG\Metadata\FPCGAttributePropertyInputSelect-) & InSelectorooni )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|PCGAttributePropertySelector", Meta=(ScriptMethod)) static [EPCGExtraProperties](API\Plugins\PCG\Metadata\EPCGExtraProperties) GetExtraProperty ( const [FPCGAttributePropertySelector](API\Plugins\PCG\Metadata\FPCGAttributePropertySelector) & Selector )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|PCGAttributePropertySelector", Meta=(ScriptMethod)) static [FName](API\Runtime\Core\UObject\FName) GetName ( const [FPCGAttributePropertySelector](API\Plugins\PCG\Metadata\FPCGAttributePropertySelector) & Selector )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|PCGAttributePropertySelector", Meta=(ScriptMethod)) static [EPCGPointProperties](API\Plugins\PCG\EPCGPointProperties) GetPointProperty ( const [FPCGAttributePropertySelector](API\Plugins\PCG\Metadata\FPCGAttributePropertySelector) & Selector )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|PCGAttributePropertySelector", Meta=(ScriptMethod)) static [EPCGAttributePropertySelection](API\Plugins\PCG\Metadata\EPCGAttributePropertySelection) GetSelection ( const [FPCGAttributePropertySelector](API\Plugins\PCG\Metadata\FPCGAttributePropertySelector) & Selector )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|PCGAttributePropertySelector", Meta=(ScriptMethod)) static bool SetAttributeName ( [FPCGAttributePropertySelector](API\Plugins\PCG\Metadata\FPCGAttributePropertySelector) & Selector, [FName](API\Runtime\Core\UObject\FName) InAttributeName )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|PCGAttributePropertySelector", Meta=(ScriptMethod)) static bool SetExtraProperty ( [FPCGAttributePropertySelector](API\Plugins\PCG\Metadata\FPCGAttributePropertySelector) & Selector, [EPCGExtraProperties](API\Plugins\PCG\Metadata\EPCGExtraProperties) InExtraProperty )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|PCGAttributePropertySelector", Meta=(ScriptMethod)) static bool SetPointProperty ( [FPCGAttributePropertySelector](API\Plugins\PCG\Metadata\FPCGAttributePropertySelector) & Selector, [EPCGPointProperties](API\Plugins\PCG\EPCGPointProperties) InPointProperty )


description: Helper class to allow the BP to call the custom setters and getters onFPCGAttributePropertySelector.


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") void AccumulatePointWeightedAttributes ( const [FPCGPoint](API\Plugins\PCG\FPCGPoint) & InPoint, const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InMetadata, float Weight, bool bSetNonInterpolableAttributes, [FPCGPoint](API\Plugins\PCG\FPCGPoint) & OutPoint )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") void AccumulateWeightedAttributesByKey ( int64 Key, const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * Metadata, float Weight, bool bSetNonInterpolableAttributes, int64 TargetKey, int64 & OutKey )


code: void AccumulateWeightedAttributes ( [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) InKey, const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InMetadata, float Weight, bool bSetNonInterpolableAttributes, [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) & OutKey )


description: Creates missing attribute from another metadata if it is not currently present - note that this does not copy values

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") void AddAttribute ( const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InOther, [FName](API\Runtime\Core\UObject\FName) AttributeName )


code: void AddAttributeInternal ( [FName](API\Runtime\Core\UObject\FName) AttributeName, [FPCGMetadataAttributeBase](API\Plugins\PCG\Metadata\FPCGMetadataAttributeBase) * Attribute )


description: Creates missing attributes from another metadata if they are not currently present - note that this does not copy values

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") void AddAttributes ( const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InOther )


description: Creates missing attributes from another metadata if they are not currently present - note that this does not copy values.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") void AddAttributesFiltered ( const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InOther, const [TSet](API\Runtime\Core\Containers\TSet)< [FName](API\Runtime\Core\UObject\FName) > & InFilteredAttributes, [EPCGMetadataFilterMode](API\Plugins\PCG\Metadata\EPCGMetadataFilterMode) InFilterMode )


description: Advanced method. If you used AddEntryPlaceholder, call this function at the end of your MT processing to add all the entries in one shot. Make sure to call this one at the end!!

code: void AddDelayedEntries ( const [TArray](API\Runtime\Core\Containers\TArray)< [TTuple](API\Runtime\Core\Misc\TTuple)< int64, int64 >> & AllEntries )


description: Adds a unique entry key to the metadata

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") int64 AddEntry ( int64 ParentEntryKey )


description: Advanced method. In a MT context, we might not want to add the entry directly (because of write lock). Call this to generate an unique index in the MT context And call AddDelayedEntries at the end when you want to add all the entries. Make sure to not call AddEntry in a different thread or even in the same thread if you use this function, or it will change all the indexes.

code: int64 AddEntryPlaceholder()


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: Clear/Reinit attribute

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") void ClearAttribute ( [FName](API\Runtime\Core\UObject\FName) AttributeToClear )


code: void ComputePointWeightedAttribute ( [FPCGPoint](API\Plugins\PCG\FPCGPoint) & OutPoint, const [TArrayView](API\Runtime\Core\Containers\TArrayView)< TPair< const [FPCGPoint](API\Plugins\PCG\FPCGPoint) *, float >> & InWeightedPoints, const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InMetadata )


code: void ComputeWeightedAttribute ( [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) & OutKey, const [TArrayView](API\Runtime\Core\Containers\TArrayView)< TPair< [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey), float >> & InWeightedKeys, const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InMetadata )


description: Copies an attribute from another metadata, including entries & values. Warning: this is intended when dealing with the same data set

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata|Advanced") void CopyAttribute ( const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InOther, [FName](API\Runtime\Core\UObject\FName) AttributeToCopy, [FName](API\Runtime\Core\UObject\FName) NewAttributeName )


description: Copies another attribute, with options to keep its parent and copy entries/values

code: [FPCGMetadataAttributeBase](API\Plugins\PCG\Metadata\FPCGMetadataAttributeBase) * CopyAttribute ( const [FPCGMetadataAttributeBase](API\Plugins\PCG\Metadata\FPCGMetadataAttributeBase) * OriginalAttribute, [FName](API\Runtime\Core\UObject\FName) NewAttributeName, bool bKeepParent, bool bCopyEntries, bool bCopyValues )


code: [FPCGMetadataAttributeBase](API\Plugins\PCG\Metadata\FPCGMetadataAttributeBase) * CopyAttribute ( [FName](API\Runtime\Core\UObject\FName) AttributeToCopy, [FName](API\Runtime\Core\UObject\FName) NewAttributeName, bool bKeepParent, bool bCopyEntries, bool bCopyValues )


description: Copies attributes from another metadata, including entries & values. Warning: this is intended when dealing with the same data set

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata|Advanced") void CopyAttributes ( const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InOther )


description: Copy attribute

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") bool CopyExistingAttribute ( [FName](API\Runtime\Core\UObject\FName) AttributeToCopy, [FName](API\Runtime\Core\UObject\FName) NewAttributeName, bool bKeepParent )


description: Create a new attribute. If the attribute already exists, it will raise a warning (use FindOrCreateAttribute if this usecase can arise) If the attribute already exists but is of the wrong type, it will fail and return nullptr. Same if the name is invalid. Return a typed attribute pointer, of the requested type T.

code: template<typename T> FPCGMetadataAttribute< T > * CreateAttribute ( [FName](API\Runtime\Core\UObject\FName) AttributeName, const T & DefaultValue, bool bAllowsInterpolation, bool bOverrideParent )


description:
Creates an attribute given a property.
true if the attribute creation succeeded

code: bool CreateAttributeFromDataProperty ( [FName](API\Runtime\Core\UObject\FName) AttributeName, const void * Data, const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") void CreateDoubleAttribute ( [FName](API\Runtime\Core\UObject\FName) AttributeName, double DefaultValue, bool bAllowsInterpolation, bool bOverrideParent )


code: bool CreateAttributeFromProperty ( [FName](API\Runtime\Core\UObject\FName) AttributeName, const [UObject](API\Runtime\CoreUObject\UObject\UObject) * Object, const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") void CreateBoolAttribute ( [FName](API\Runtime\Core\UObject\FName) AttributeName, bool DefaultValue, bool bAllowsInterpolation, bool bOverrideParent )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") void CreateFloatAttribute ( [FName](API\Runtime\Core\UObject\FName) AttributeName, float DefaultValue, bool bAllowsInterpolation, bool bOverrideParent )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") void CreateInteger64Attribute ( [FName](API\Runtime\Core\UObject\FName) AttributeName, int64 DefaultValue, bool bAllowsInterpolation, bool bOverrideParent )


description: Create new streams

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") void CreateInteger32Attribute ( [FName](API\Runtime\Core\UObject\FName) AttributeName, int32 DefaultValue, bool bAllowsInterpolation, bool bOverrideParent )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") void CreateNameAttribute ( [FName](API\Runtime\Core\UObject\FName) AttributeName, [FName](API\Runtime\Core\UObject\FName) DefaultValue, bool bAllowsInterpolation, bool bOverrideParent )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") void CreateQuatAttribute ( [FName](API\Runtime\Core\UObject\FName) AttributeName, FQuat DefaultValue, bool bAllowsInterpolation, bool bOverrideParent )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") void CreateRotatorAttribute ( [FName](API\Runtime\Core\UObject\FName) AttributeName, FRotator DefaultValue, bool bAllowsInterpolation, bool bOverrideParent )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") void CreateStringAttribute ( [FName](API\Runtime\Core\UObject\FName) AttributeName, [FString](API\Runtime\Core\Containers\FString) DefaultValue, bool bAllowsInterpolation, bool bOverrideParent )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") void CreateTransformAttribute ( [FName](API\Runtime\Core\UObject\FName) AttributeName, FTransform DefaultValue, bool bAllowsInterpolation, bool bOverrideParent )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") void CreateVectorAttribute ( [FName](API\Runtime\Core\UObject\FName) AttributeName, FVector DefaultValue, bool bAllowsInterpolation, bool bOverrideParent )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata", Meta=(DisplayName="Create Vector4 Attribute")) void CreateVector4Attribute ( [FName](API\Runtime\Core\UObject\FName) AttributeName, FVector4 DefaultValue, bool bAllowsInterpolation, bool bOverrideParent )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") void CreateVector2Attribute ( [FName](API\Runtime\Core\UObject\FName) AttributeName, FVector2D DefaultValue, bool bAllowsInterpolation, bool bOverrideParent )


description: Delete/Hide attribute

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") void DeleteAttribute ( [FName](API\Runtime\Core\UObject\FName) AttributeName )


description: Find or create an attribute. Follows CreateAttribute signature. Extra boolean bOverwriteIfTypeMismatch allows to overwrite an existing attribute if the type mismatch. Same as CreateAttribute, it will return nullptr if the attribute name is invalid. Return a typed attribute pointer, of the requested type T.

code: template<typename T> FPCGMetadataAttribute< T > * FindOrCreateAttribute ( [FName](API\Runtime\Core\UObject\FName) AttributeName, const T & DefaultValue, bool bAllowsInterpolation, bool bOverrideParent, bool bOverwriteIfTypeMismatch )


description: Unparents current metadata by flattening the attributes (values, entries, etc.)


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") void GetAttributes ( [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > & AttributeNames, [TArray](API\Runtime\Core\Containers\TArray)< [EPCGMetadataTypes](API\Plugins\PCG\Metadata\EPCGMetadataTypes) > & AttributeTypes ) const


code: const [FPCGMetadataAttributeBase](API\Plugins\PCG\Metadata\FPCGMetadataAttributeBase) * GetConstAttribute ( [FName](API\Runtime\Core\UObject\FName) AttributeName ) const


code: const [FPCGMetadataAttributeBase](API\Plugins\PCG\Metadata\FPCGMetadataAttributeBase) * GetConstAttributeById ( int32 AttributeId ) const


code: template<typename T> const FPCGMetadataAttribute< T > * GetConstTypedAttribute ( [FName](API\Runtime\Core\UObject\FName) AttributeName ) const


code: int64 GetItemKeyCountForParent() const


description: Get attributes

code: [FPCGMetadataAttributeBase](API\Plugins\PCG\Metadata\FPCGMetadataAttributeBase) * GetMutableAttribute ( [FName](API\Runtime\Core\UObject\FName) AttributeName )


code: template<typename T> FPCGMetadataAttribute< T > * GetMutableTypedAttribute ( [FName](API\Runtime\Core\UObject\FName) AttributeName )


code: const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * GetParent() const


description: Metadata chaining mechanism

code: [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) GetParentKey ( [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) LocalItemKey ) const


description: Returns this metadata's parent

code: [TWeakObjectPtr](API\Runtime\Core\UObject\TWeakObjectPtr)< const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) > GetParentPtr() const


code: const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * GetRoot() const


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") bool HasAttribute ( [FName](API\Runtime\Core\UObject\FName) AttributeName ) const


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") bool HasCommonAttributes ( const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InMetadata ) const


code: bool HasParent ( const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InTentativeParent ) const


description: Initializes the metadata from a parent metadata, if any (can be null). Copies attributes and values.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") void Initialize ( const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InParent )


description: Initializes the metadata from a parent metadata, if any (can be null) with the option to not add attributes from the parent.

code: void Initialize ( const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InParent, bool bAddAttributesFromParent )


description: Initializes the metadata from a parent metadata by copying all attributes to it.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") void InitializeAsCopy ( const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InMetadataToCopy )


description: Initializes the metadata from a parent metadata by copy filtered attributes only to it

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") void InitializeAsCopyWithAttributeFilter ( const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InMetadataToCopy, const [TSet](API\Runtime\Core\Containers\TSet)< [FName](API\Runtime\Core\UObject\FName) > & InFilteredAttributes, [EPCGMetadataFilterMode](API\Plugins\PCG\Metadata\EPCGMetadataFilterMode) InFilterMode )


description: Initializes the metadata entry key. Returns true if key set from either parent

code: bool InitializeOnSet ( [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) & InKey, [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) InParentKeyA, const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InParentMetadataA, [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) InParentKeyB, const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InParentMetadataB )


description: Initializes the metadata from a parent metadata. Copies attributes and values.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") void InitializeWithAttributeFilter ( const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InParent, const [TSet](API\Runtime\Core\Containers\TSet)< [FName](API\Runtime\Core\UObject\FName) > & InFilteredAttributes, [EPCGMetadataFilterMode](API\Plugins\PCG\Metadata\EPCGMetadataFilterMode) InFilterMode )


description: Attributes operations

code: void MergeAttributes ( [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) InKeyA, const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InMetadataA, [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) InKeyB, const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InMetadataB, [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) & OutKey, [EPCGMetadataOp](API\Plugins\PCG\Metadata\EPCGMetadataOp) Op )


description: Blueprint-friend versions

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") void MergeAttributesByKey ( int64 KeyA, const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * MetadataA, int64 KeyB, const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * MetadataB, int64 TargetKey, [EPCGMetadataOp](API\Plugins\PCG\Metadata\EPCGMetadataOp) Op, int64 & OutKey )


description: Attributes operations

code: void MergeAttributesSubset ( [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) InKeyA, const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InMetadataA, const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InMetadataSubetA, [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) InKeyB, const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InMetadataB, const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InMetadataSubsetb, [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) & OutKey, [EPCGMetadataOp](API\Plugins\PCG\Metadata\EPCGMetadataOp) Op )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") void MergePointAttributes ( const [FPCGPoint](API\Plugins\PCG\FPCGPoint) & PointA, const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * MetadataA, const [FPCGPoint](API\Plugins\PCG\FPCGPoint) & PointB, const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * MetadataB, [FPCGPoint](API\Plugins\PCG\FPCGPoint) & TargetPoint, [EPCGMetadataOp](API\Plugins\PCG\Metadata\EPCGMetadataOp) Op )


description: Attributes operations - shorthand for points

code: void MergePointAttributes ( const [FPCGPoint](API\Plugins\PCG\FPCGPoint) & InPointA, const [FPCGPoint](API\Plugins\PCG\FPCGPoint) & InPointB, [FPCGPoint](API\Plugins\PCG\FPCGPoint) & OutPoint, [EPCGMetadataOp](API\Plugins\PCG\Metadata\EPCGMetadataOp) Op )


code: bool ParentHasAttribute ( [FName](API\Runtime\Core\UObject\FName) AttributeName ) const


code: void MergePointAttributesSubset ( const [FPCGPoint](API\Plugins\PCG\FPCGPoint) & InPointA, const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InMetadataA, const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InMetadataSubetA, const [FPCGPoint](API\Plugins\PCG\FPCGPoint) & InPointB, const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InMetadataB, const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InMetadataSubsetb, [FPCGPoint](API\Plugins\PCG\FPCGPoint) & OutPoint, [EPCGMetadataOp](API\Plugins\PCG\Metadata\EPCGMetadataOp) Op )


description: Rename attribute

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") bool RenameAttribute ( [FName](API\Runtime\Core\UObject\FName) AttributeToRename, [FName](API\Runtime\Core\UObject\FName) NewAttributeName )


code: void RemoveAttributeInternal ( [FName](API\Runtime\Core\UObject\FName) AttributeName )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") void ResetPointWeightedAttributes ( [FPCGPoint](API\Plugins\PCG\FPCGPoint) & OutPoint )


code: void ResetWeightedAttributes ( [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) & OutKey )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") void ResetWeightedAttributesByKey ( int64 TargetKey, int64 & OutKey )


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 )


description:
Set an attribute given a property and its value.
true if the attribute creation (if required) and the value set succeeded

code: bool SetAttributeFromDataProperty ( [FName](API\Runtime\Core\UObject\FName) AttributeName, [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) & EntryKey, const void * Data, const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property, bool bCreate )


code: bool SetAttributeFromProperty ( [FName](API\Runtime\Core\UObject\FName) AttributeName, [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) & EntryKey, const [UObject](API\Runtime\CoreUObject\UObject\UObject) * Object, const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property, bool bCreate )


code: void SetAttributes ( const [TArrayView](API\Runtime\Core\Containers\TArrayView)< [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) > & InKeys, const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InMetadata, const [TArrayView](API\Runtime\Core\Containers\TArrayView)< [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) > & OutKeys )


code: void SetAttributes ( [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) InKey, const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InMetadata, [PCGMetadataEntryKey](API\Plugins\PCG\Metadata\PCGMetadataEntryKey) & OutKey )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG|Metadata") void SetAttributesByKey ( int64 Key, const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InMetadata, int64 TargetKey, int64 & OutKey )


code: void SetLastCachedSelectorOnOwner ( [FName](API\Runtime\Core\UObject\FName) AttributeName )


code: void SetPointAttributes ( const [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FPCGPoint](API\Plugins\PCG\FPCGPoint) > & InPoints, const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InMetadata, const [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FPCGPoint](API\Plugins\PCG\FPCGPoint) > & OutPoints )


className: UPCGMetadata

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

Attributes

type: TMap<FName,FP...

DelayedEntriesIndex

type: TAtomic< int64 ...

OtherParents

type: TSet<TWeakObje...

description: Set of parents kept for streams relationship and GC collection But otherwise not used directly

Parent

type: TObjectPtr< con...

ParentKeys

type: TArray<PCGMeta...


description: Point-based implementations

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PCG", Meta=(ScriptMethod)) static void CopyPoint ( const [FPCGPoint](API\Plugins\PCG\FPCGPoint) & InPoint, [FPCGPoint](API\Plugins\PCG\FPCGPoint) & OutPoint, bool bCopyMetadata, const [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * InMetadata, [UPCGMetadata](API\Plugins\PCG\Metadata\UPCGMetadata) * OutMetadata )