description: When filling the data inside the set function you would ask for parameters using the same structure. Note: This function is only called on the CDO only not the instance

code: virtual void BuildShaderParameters ( [FNiagaraShaderParametersBuilder](API\Plugins\NiagaraShader\FNiagaraShaderParametersBuilder) & ShaderParametersBuilder ) const


description: VM functionality.

module: Niagara

code: virtual bool CanExecuteOnTarget ( [ENiagaraSimTarget](API\Plugins\Niagara\ENiagaraSimTarget) Target ) const


code: virtual bool CanExposeVariables() const


code: virtual bool CopyToInternal ( [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface) * Destination ) const


description: Destroys the per instance data for this interface.

code: virtual void DestroyPerInstanceData ( void * PerInstanceData, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance )


description: Determines if this DataInterface is the same as another.

code: virtual bool Equals ( const [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface) * Other ) const


code: virtual bool GetExposedVariableValue ( const [FNiagaraVariableBase](API\Plugins\Niagara\FNiagaraVariableBase) & InVariable, void * InPerInstanceData, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * InSystemInstance, void * OutData ) const


code: virtual bool GetFunctionHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, const [FNiagaraDataInterfaceGeneratedFunction](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGeneratedFu-) & FunctionInfo, int FunctionInstanceIndex, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


description: Gets all the available functions for this data interface.

code: virtual void GetFunctions ( [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraFunctionSignature](API\Plugins\Niagara\FNiagaraFunctionSignature) > & OutFunctions )


code: virtual [ENiagaraGpuDispatchType](API\Plugins\NiagaraShader\ENiagaraGpuDispatchType) GetGpuDispatchType() const


code: virtual void GetParameterDefinitionHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


description: Returns the delegate for the passed function signature.

code: virtual void GetVMExternalFunction ( const [FVMExternalFunctionBindingInfo](API\Plugins\Niagara\FVMExternalFunctionBindingInfo) & BindingInfo, void * InstanceData, FVMExternalFunction & OutFunc )


code: virtual bool HasPostSimulateTick() const


code: virtual void GetExposedVariables ( [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraVariableBase](API\Plugins\Niagara\FNiagaraVariableBase) > & OutVariables ) const


code: virtual bool HasPreSimulateTick() const


description: Initializes the per instance data for this interface. Returns false if there was some error and the simulation should be disabled.

code: virtual bool InitPerInstanceData ( void * PerInstanceData, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance )


description: Returns the size of the per instance data for this interface. 0 if this interface has no per instance data. Must depend solely on the class of the interface and not on any particular member data of a individual interface.

code: virtual int32 PerInstanceDataSize() const


description: Ticks the per instance data for this interface, if it has any.

code: virtual bool PerInstanceTick ( void * PerInstanceData, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance, float DeltaSeconds )


code: virtual bool PerInstanceTickPostSimulate ( void * PerInstanceData, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * InSystemInstance, float DeltaSeconds )


description: Called after the C++ constructor and after the properties have been initialized, including those loaded from config. This is called before any serialization or other setup has happened.

code: virtual void PostInitProperties()


description: This will not be called if PerInstanceDataPassedToRenderThreadSize is 0.

code: virtual void ProvidePerInstanceDataForRenderThread ( void * DataForRenderThread, void * PerInstanceData, const [FNiagaraSystemInstanceID](API\Plugins\NiagaraCore\FNiagaraSystemInstanceID) & SystemInstance )


description: Set the shader parameters will only be called if the data interface provided shader parameters. You must write the parameters in the order you added them to the structure.

code: virtual void SetShaderParameters ( const [FNiagaraDataInterfaceSetShaderParametersContext](API\Plugins\Niagara\FNiagaraDataInterfaceSetShaderPa-) & Context ) const


description: Called when we begin to write data into a simulation cache. Returning nullptr means you are not going to cache any data for the simulation. The object returned will be stored directly into the cache file, so you are expected to manage the size of the object and store data appropriately.

code: virtual [UObject](API\Runtime\CoreUObject\UObject\UObject) * SimCacheBeginWrite ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * SimCache, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * NiagaraSystemInstance, const void * OptionalPerInstanceData, [FNiagaraSimCacheFeedbackContext](API\Plugins\Niagara\FNiagaraSimCacheFeedbackContext) & FeedbackContext ) const


description: GPU sim functionality.

code: virtual bool ShouldCompile ( EShaderPlatform ShaderPlatform ) const


description: Called when we complete writing data into the simulation cache. Note: This is called using the Class Default Object not the instance the object was created from

code: virtual bool SimCacheEndWrite ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * StorageObject ) const


description: Read a frame of data from the simulation cache.

code: virtual bool SimCacheReadFrame ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * StorageObject, int FrameA, int FrameB, float Interp, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance, void * OptionalPerInstanceData )


description: Called when we are ready to write data into the simulation cache. This is always called in sequence, i.e. 0, 1, 2, etc, we will never jump around frames.

code: virtual bool SimCacheWriteFrame ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * StorageObject, int FrameIndex, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance, const void * OptionalPerInstanceData, [FNiagaraSimCacheFeedbackContext](API\Plugins\Niagara\FNiagaraSimCacheFeedbackContext) & FeedbackContext ) const


description: Allows data interfaces the opportunity to rename / change the function signature and perform an upgrade. Return true if the signature was modified and we need to refresh the pins / name, etc.

code: virtual bool UpgradeFunctionCall ( [FNiagaraFunctionSignature](API\Plugins\Niagara\FNiagaraFunctionSignature) & FunctionSignature )


code: void VMGetNumMipLevels ( FVectorVMExternalFunctionContext & Context )


code: void VMSetSize ( FVectorVMExternalFunctionContext & Context )


code: void VMGetSize ( FVectorVMExternalFunctionContext & Context )


code: void VMSetFormat ( FVectorVMExternalFunctionContext & Context )


code: UNiagaraDataInterfaceRenderTargetVolume ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UNiagaraDataInterfaceRenderTargetVolume

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Rendering", CollapseCategories, Meta=(DisplayName="Render Target Volume"), Blueprintable, BlueprintType, MinimalAPI) class UNiagaraDataInterfaceRenderTargetVolume : public [UNiagaraDataInterfaceRWBase](API\Plugins\Niagara\UNiagaraDataInterfaceRWBase), public [INiagaraSimCacheCustomStorageInterface](API\Plugins\Niagara\INiagaraSimCacheCustomStorageInt-)

bInheritUserParameterSettings

type: uint8:  1

description: When enabled texture parameters (size / etc) are taken from the user provided render target.

OverrideRenderTargetFilter

type: TEnumAsByte< Te...

description: When enabled overrides the filter of the render target, otherwise uses the project default setting.

OverrideRenderTargetFormat

type: TEnumAsByte< ET...

description: When enabled overrides the format of the render target, otherwise uses the project default setting.

RenderTargetUserParameter

type: FNiagaraUserPar...

Size

type: FIntVector


description: Allows the generic class defaults version of this class to specify any dependencies/version/etc that might invalidate the compile. It should never depend on the value of specific properties.

code: virtual bool AppendCompileHash ( [FNiagaraCompileHashVisitor](API\Plugins\Niagara\FNiagaraCompileHashVisitor) * InVisitor ) const


description: When filling the data inside the set function you would ask for parameters using the same structure. Note: This function is only called on the CDO only not the instance

code: virtual void BuildShaderParameters ( [FNiagaraShaderParametersBuilder](API\Plugins\NiagaraShader\FNiagaraShaderParametersBuilder) & ShaderParametersBuilder ) const


code: virtual ETickingGroup CalculateTickGroup ( const void * PerInstanceData ) const


code: virtual bool CanExecuteOnTarget ( [ENiagaraSimTarget](API\Plugins\Niagara\ENiagaraSimTarget) Target ) const


description: Copy one niagara DI to this

code: virtual bool CopyToInternal ( [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface) * Destination ) const


description: Destroys the per instance data for this interface.

code: virtual void DestroyPerInstanceData ( void * PerInstanceData, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance )


description: Override this function to provide additional context to the debug HUD. Fill VariableDataString with the data to display on the variable information in the HUD, this information should be kept light to avoid polluting the display. You can also use the Canvas to draw additional information based on verbosity

code: virtual void DrawDebugHud ( [FNDIDrawDebugHudContext](API\Plugins\Niagara\FNDIDrawDebugHudContext) & DebugHudContext ) const


description: Determines if this DataInterface is the same as another.

code: virtual bool Equals ( const [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface) * Other ) const


code: bool FilterActor ( const [AActor](API\Runtime\Engine\GameFramework\AActor) * Actor ) const


code: bool FilterComponent ( const [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * Component ) const


code: bool FindActors ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World, [FNDIRigidMeshCollisionData](API\Plugins\Niagara\FNDIRigidMeshCollisionData) & InstanceData, ECollisionChannel Channel, const FVector & OverlapLocation, const FVector & OverlapExtent, const FQuat & OverlapRotation ) const


code: void FindActorsCPU ( FVectorVMExternalFunctionContext & Context )


description: GPU simulation functionality

code: virtual void GetCommonHLSL ( [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


code: bool GetExplicitActors ( [FNDIRigidMeshCollisionData](API\Plugins\Niagara\FNDIRigidMeshCollisionData) & InstanceData )


description: Query the data interface to give feedback to the end user. Note that the default implementation, just calls GetErrors on the DataInterface, but derived classes can do much more. Also, InAsset or InComponent may be null values, as the UI for DataInterfaces is displayed in a variety of locations. In these cases, only provide information that is relevant to that context.

code: virtual void GetFeedback ( [UNiagaraSystem](API\Plugins\Niagara\UNiagaraSystem) * InAsset, [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * InComponent, [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraDataInterfaceError](API\Plugins\Niagara\FNiagaraDataInterfaceError) > & OutErrors, [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraDataInterfaceFeedback](API\Plugins\Niagara\FNiagaraDataInterfaceFeedback) > & OutWarnings, [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraDataInterfaceFeedback](API\Plugins\Niagara\FNiagaraDataInterfaceFeedback) > & OutInfo )


code: virtual bool GetFunctionHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, const [FNiagaraDataInterfaceGeneratedFunction](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGeneratedFu-) & FunctionInfo, int FunctionInstanceIndex, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


description: UNiagaraDataInterfaceInterface

code: virtual void GetFunctions ( [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraFunctionSignature](API\Plugins\Niagara\FNiagaraFunctionSignature) > & OutFunctions )


description: Returns the delegate for the passed function signature.

code: virtual void GetVMExternalFunction ( const [FVMExternalFunctionBindingInfo](API\Plugins\Niagara\FVMExternalFunctionBindingInfo) & BindingInfo, void * InstanceData, FVMExternalFunction & OutFunc )


description: Deprecated* Global search will be deprecated in favor of using a spatial search through the FindActors function.

code: bool GlobalFindActors ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World, [FNDIRigidMeshCollisionData](API\Plugins\Niagara\FNDIRigidMeshCollisionData) & InstanceData ) const


code: virtual bool HasPostSimulateTick() const


code: virtual bool HasTickGroupPrereqs() const


description: Initializes the per instance data for this interface. Returns false if there was some error and the simulation should be disabled.

code: virtual bool InitPerInstanceData ( void * PerInstanceData, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance )


description: Returns the size of the per instance data for this interface. 0 if this interface has no per instance data. Must depend solely on the class of the interface and not on any particular member data of a individual interface.

code: virtual int32 PerInstanceDataSize() const


code: virtual bool PerInstanceTickPostSimulate ( void * PerInstanceData, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance, float DeltaSeconds )


description: UObjectInterface

code: virtual void PostInitProperties()


code: virtual void GetParameterDefinitionHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


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

code: virtual void PostLoad()


description: This will not be called if PerInstanceDataPassedToRenderThreadSize is 0.

code: virtual void ProvidePerInstanceDataForRenderThread ( void * DataForRenderThread, void * PerInstanceData, const [FNiagaraSystemInstanceID](API\Plugins\NiagaraCore\FNiagaraSystemInstanceID) & SystemInstance )


code: virtual bool RequiresDistanceFieldData() const


description: Set the shader parameters will only be called if the data interface provided shader parameters. You must write the parameters in the order you added them to the structure.

code: virtual void SetShaderParameters ( const [FNiagaraDataInterfaceSetShaderParametersContext](API\Plugins\Niagara\FNiagaraDataInterfaceSetShaderPa-) & Context ) const


code: bool UpdateSourceActors ( [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance, [FNDIRigidMeshCollisionData](API\Plugins\Niagara\FNDIRigidMeshCollisionData) & InstanceData ) const


description: Allows data interfaces the opportunity to rename / change the function signature and perform an upgrade. Return true if the signature was modified and we need to refresh the pins / name, etc.

code: virtual bool UpgradeFunctionCall ( [FNiagaraFunctionSignature](API\Plugins\Niagara\FNiagaraFunctionSignature) & FunctionSignature )


description: Validates a function being compiled and allows interface classes to post custom compile errors when their API changes.

code: virtual void ValidateFunction ( const [FNiagaraFunctionSignature](API\Plugins\Niagara\FNiagaraFunctionSignature) & Function, [TArray](API\Runtime\Core\Containers\TArray)< [FText](API\Runtime\Core\Internationalization\FText) > & OutValidationErrors )


code: UNiagaraDataInterfaceRigidMeshCollisionQuery ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


description: Data Interface used to collide against static meshes - whether it is the mesh distance field or a physics asset's collision primitive

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Collision", Meta=(DisplayName="Rigid Mesh Collision Query")) class UNiagaraDataInterfaceRigidMeshCollisionQuery : public [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface)

ActorTags

type: TArray<FName>

description: Set of tags used to match against actors when searching for RigidBody providers.

ComponentTags

description: Set of tags used to match against components when searching for RigidBody providers.

MaxNumPrimitives

type: int

description: Maximum number of RigidBody represented by this DataInterface.

OnlyUseMoveable

type: bool

description: If enabled only actors that are considered moveable will be searched for RigidBodies.

SourceActors

type: TArray<TSoftOb...

description: Hardcoded references to actors that will be used as RigidBody providers.

UseComplexCollisions

description: If enabled, complex collisions will be searched for.


code: virtual bool CanExecuteOnTarget ( [ENiagaraSimTarget](API\Plugins\Niagara\ENiagaraSimTarget) Target ) const


className: CellSizeFunctionName

code: static const [FName](API\Runtime\Core\UObject\FName) CellSizeFunctionName;


className: CellSizeName

code: static const [FString](API\Runtime\Core\Containers\FString) CellSizeName;


className: ExecutionIndexToGridIndexFunctionName

code: static const [FName](API\Runtime\Core\UObject\FName) ExecutionIndexToGridIndexFunctionName;


description: Editor functionality.

code: virtual [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraDataInterfaceError](API\Plugins\Niagara\FNiagaraDataInterfaceError) > GetErrors()


className: ExecutionIndexToUnitFunctionName

code: static const [FName](API\Runtime\Core\UObject\FName) ExecutionIndexToUnitFunctionName;


className: IndexToLinearFunctionName

code: static const [FName](API\Runtime\Core\UObject\FName) IndexToLinearFunctionName;


className: IndexToUnitStaggeredXFunctionName

code: static const [FName](API\Runtime\Core\UObject\FName) IndexToUnitStaggeredXFunctionName;


className: IndexToUnitFunctionName

code: static const [FName](API\Runtime\Core\UObject\FName) IndexToUnitFunctionName;


className: IndexToUnitStaggeredYFunctionName

code: static const [FName](API\Runtime\Core\UObject\FName) IndexToUnitStaggeredYFunctionName;


description: Attribute names.

code: static const [FName](API\Runtime\Core\UObject\FName) NAME_Attribute;


className: LinearToIndexFunctionName

code: static const [FName](API\Runtime\Core\UObject\FName) LinearToIndexFunctionName;


className: NumAttributesName

description: Global HLSL variable base names, used by HLSL.

code: static const [FString](API\Runtime\Core\Containers\FString) NumAttributesName;


className: NumCellsFunctionName

description: Global VM function names, also used by the shaders code generation methods.

code: static const [FName](API\Runtime\Core\UObject\FName) NumCellsFunctionName;


className: NumNamedAttributesName

code: static const [FString](API\Runtime\Core\Containers\FString) NumNamedAttributesName;


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

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


className: NumCellsName

code: static const [FString](API\Runtime\Core\Containers\FString) NumCellsName;


description: This is called when a property is about to be modified externally

code: virtual void PreEditChange ( [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * PropertyAboutToChange )


code: virtual void PostLoad()


className: SimulationToUnitFunctionName

code: static const [FName](API\Runtime\Core\UObject\FName) SimulationToUnitFunctionName;


className: UnitToFloatIndexFunctionName

code: static const [FName](API\Runtime\Core\UObject\FName) UnitToFloatIndexFunctionName;


className: UnitToIndexFunctionName

code: static const [FName](API\Runtime\Core\UObject\FName) UnitToIndexFunctionName;


className: UnitToSimulationFunctionName

code: static const [FName](API\Runtime\Core\UObject\FName) UnitToSimulationFunctionName;


className: UnitToUVName

code: static const [FString](API\Runtime\Core\Containers\FString) UnitToUVName;


className: WorldBBoxSizeFunctionName

code: static const [FName](API\Runtime\Core\UObject\FName) WorldBBoxSizeFunctionName;


className: WorldBBoxSizeName

code: static const [FString](API\Runtime\Core\Containers\FString) WorldBBoxSizeName;


code: UNiagaraDataInterfaceRWBase ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UNiagaraDataInterfaceRWBase

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Abstract, EditInlineNew, MinimalAPI) class UNiagaraDataInterfaceRWBase : public [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface)


description: Allows the generic class defaults version of this class to specify any dependencies/version/etc that might invalidate the compile. It should never depend on the value of specific properties.

code: virtual bool AppendCompileHash ( [FNiagaraCompileHashVisitor](API\Plugins\Niagara\FNiagaraCompileHashVisitor) * InVisitor ) const


code: void BindSkeletonSamplingFunction ( const [FVMExternalFunctionBindingInfo](API\Plugins\Niagara\FVMExternalFunctionBindingInfo) & BindingInfo, [FNDISkeletalMesh_InstanceData](API\Plugins\Niagara\FNDISkeletalMesh_InstanceData) * InstData, FVMExternalFunction & OutFunc )


code: void BindTriangleSamplingFunction ( const [FVMExternalFunctionBindingInfo](API\Plugins\Niagara\FVMExternalFunctionBindingInfo) & BindingInfo, [FNDISkeletalMesh_InstanceData](API\Plugins\Niagara\FNDISkeletalMesh_InstanceData) * InstData, FVMExternalFunction & OutFunc )


code: void BindVertexSamplingFunction ( const [FVMExternalFunctionBindingInfo](API\Plugins\Niagara\FVMExternalFunctionBindingInfo) & BindingInfo, [FNDISkeletalMesh_InstanceData](API\Plugins\Niagara\FNDISkeletalMesh_InstanceData) * InstData, FVMExternalFunction & OutFunc )


description: When filling the data inside the set function you would ask for parameters using the same structure. Note: This function is only called on the CDO only not the instance

code: virtual void BuildShaderParameters ( [FNiagaraShaderParametersBuilder](API\Plugins\NiagaraShader\FNiagaraShaderParametersBuilder) & ShaderParametersBuilder ) const


code: int32 CalculateLODIndexAndSamplingRegions ( [USkeletalMesh](API\Runtime\Engine\Engine\USkeletalMesh) * InMesh, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & OutSamplingRegionIndices, bool & OutAllRegionsAreAreaWeighting ) const


code: virtual ETickingGroup CalculateTickGroup ( const void * PerInstanceData ) const


description:
Called during cluster construction if the object can be added to a cluster
true if this object can be inside of a cluster

code: virtual bool CanBeInCluster() const


description:
Called by the editor to query whether a property of this object is allowed to be modified. The property editor uses this to disable controls for properties that should not be changed. When overriding this function you should always call the parent implementation first.
true if the property can be modified in the editor, otherwise false

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


code: virtual bool CanExecuteOnTarget ( [ENiagaraSimTarget](API\Plugins\Niagara\ENiagaraSimTarget) Target ) const


code: virtual bool CopyToInternal ( [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface) * Destination ) const


description: Destroys the per instance data for this interface.

code: virtual void DestroyPerInstanceData ( void * PerInstanceData, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance )


description: Override this function to provide additional context to the debug HUD. Fill VariableDataString with the data to display on the variable information in the HUD, this information should be kept light to avoid polluting the display. You can also use the Canvas to draw additional information based on verbosity

code: virtual void DrawDebugHud ( [FNDIDrawDebugHudContext](API\Plugins\Niagara\FNDIDrawDebugHudContext) & DebugHudContext ) const


description: Determines if this DataInterface is the same as another.

code: virtual bool Equals ( const [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface) * Other ) const


code: void GetBoneCount ( FVectorVMExternalFunctionContext & Context )


description: Allows data interfaces to provide common functionality that will be shared across interfaces on that type.

code: virtual void GetCommonHLSL ( [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


description: Query the data interface to give feedback to the end user. Note that the default implementation, just calls GetErrors on the DataInterface, but derived classes can do much more. Also, InAsset or InComponent may be null values, as the UI for DataInterfaces is displayed in a variety of locations. In these cases, only provide information that is relevant to that context.

code: virtual void GetFeedback ( [UNiagaraSystem](API\Plugins\Niagara\UNiagaraSystem) * InAsset, [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * InComponent, [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraDataInterfaceError](API\Plugins\Niagara\FNiagaraDataInterfaceError) > & OutErrors, [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraDataInterfaceFeedback](API\Plugins\Niagara\FNiagaraDataInterfaceFeedback) > & OutWarnings, [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraDataInterfaceFeedback](API\Plugins\Niagara\FNiagaraDataInterfaceFeedback) > & OutInfo )


code: void GetFilteredBoneAt ( FVectorVMExternalFunctionContext & Context )


code: void GetFilteredBoneCount ( FVectorVMExternalFunctionContext & Context )


code: void GetFilteredSocketOrBoneCount ( FVectorVMExternalFunctionContext & Context )


code: void GetFilteredSocketBoneAt ( FVectorVMExternalFunctionContext & Context )


code: void GetFilteredSocketOrBoneBoneAt ( FVectorVMExternalFunctionContext & Context )


code: void GetFilteredSocketCount ( FVectorVMExternalFunctionContext & Context )


code: void GetFilteredSocketTransform ( FVectorVMExternalFunctionContext & Context )


code: template<typename FilterMode, typename AreaWeightingMode> void GetFilteredTriangleAt ( FVectorVMExternalFunctionContext & Context )


code: template<> int32 GetFilteredTriangleAt ( [FSkeletalMeshAccessorHelper](API\Plugins\Niagara\FSkeletalMeshAccessorHelper) & Accessor, [FNDISkeletalMesh_InstanceData](API\Plugins\Niagara\FNDISkeletalMesh_InstanceData) * InstData, int32 FilteredIndex )


code: template<typename FilterMode, typename AreaWeightingMode> int32 GetFilteredTriangleAt &40; FSkeletalMeshAccessorHelper & Accessor, FNDISkeletalMesh_InstanceData &42; InstData, int32 FilteredIdx &41;


code: template<typename FilterMode, typename AreaWeightingMode> void GetFilteredTriangleCount ( FVectorVMExternalFunctionContext & Context )


code: template<> int32 GetFilteredTriangleCount ( [FSkeletalMeshAccessorHelper](API\Plugins\Niagara\FSkeletalMeshAccessorHelper) & Accessor, [FNDISkeletalMesh_InstanceData](API\Plugins\Niagara\FNDISkeletalMesh_InstanceData) * InstData )


code: template<typename FilterMode, typename AreaWeightingMode> int32 GetFilteredTriangleCount &40; FSkeletalMeshAccessorHelper & Accessor, FNDISkeletalMesh_InstanceData &42; InstData &41;


code: template<typename FilterMode> void GetFilteredVertexAt ( FVectorVMExternalFunctionContext & Context )


code: template<> int32 GetFilteredVertexAt ( [FSkeletalMeshAccessorHelper](API\Plugins\Niagara\FSkeletalMeshAccessorHelper) & Accessor, [FNDISkeletalMesh_InstanceData](API\Plugins\Niagara\FNDISkeletalMesh_InstanceData) * InstData, int32 FilteredIndex )


code: template<typename FilterMode> int32 GetFilteredVertexAt &40; FSkeletalMeshAccessorHelper & Accessor, FNDISkeletalMesh_InstanceData &42; InstData, int32 FilteredIdx &41;


code: template<typename FilterMode> void GetFilteredVertexCount ( FVectorVMExternalFunctionContext & Context )


code: template<> int32 GetFilteredVertexCount ( [FSkeletalMeshAccessorHelper](API\Plugins\Niagara\FSkeletalMeshAccessorHelper) & Accessor, [FNDISkeletalMesh_InstanceData](API\Plugins\Niagara\FNDISkeletalMesh_InstanceData) * InstData )


code: template<typename FilterMode> int32 GetFilteredVertexCount &40; FSkeletalMeshAccessorHelper & Accessor, FNDISkeletalMesh_InstanceData &42; InstData &41;


code: virtual bool GetFunctionHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, const [FNiagaraDataInterfaceGeneratedFunction](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGeneratedFu-) & FunctionInfo, int FunctionInstanceIndex, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


description: Gets all the available functions for this data interface.

code: virtual void GetFunctions ( [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraFunctionSignature](API\Plugins\Niagara\FNiagaraFunctionSignature) > & OutFunctions )


code: void GetParentBone ( FVectorVMExternalFunctionContext & Context )


code: virtual void GetParameterDefinitionHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


description: Finds the skeletal mesh based on settings of the DI and the hierarchy of the object provided

code: [USkeletalMesh](API\Runtime\Engine\Engine\USkeletalMesh) * GetSkeletalMesh ( [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * Component )


description: This overload is for use when initializing per-instance data. It possibly uses the SystemInstance and instance data to initialize a user binding

code: [USkeletalMesh](API\Runtime\Engine\Engine\USkeletalMesh) * GetSkeletalMesh ( [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance, [USceneComponent](API\Runtime\Engine\Components\USceneComponent) * AttachComponent, [TWeakObjectPtr](API\Runtime\Core\UObject\TWeakObjectPtr)< [USceneComponent](API\Runtime\Engine\Components\USceneComponent) > & SceneComponent, [USkeletalMeshComponent](API\Runtime\Engine\Components\USkeletalMeshComponent) *& FoundSkelComp, [FNDISkeletalMesh_InstanceData](API\Plugins\Niagara\FNDISkeletalMesh_InstanceData) * InstData )


description: End of Vertex Sampling.

code: void GetSkeletonSamplingFunctions ( [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraFunctionSignature](API\Plugins\Niagara\FNiagaraFunctionSignature) > & OutFunctions )


code: template<typename SkinningHandlerType, typename TransformHandlerType, typename bInterpolated> void GetSkinnedBoneData ( FVectorVMExternalFunctionContext & Context )


code: [AActor](API\Runtime\Engine\GameFramework\AActor) * GetSourceActor() const


code: [USkeletalMeshComponent](API\Runtime\Engine\Components\USkeletalMeshComponent) * GetSourceComponent() const


code: template<typename VertexAccessorType> void GetTriangleCoordAtUV ( FVectorVMExternalFunctionContext & Context )


code: template<> void GetTriangleCoordAtUV ( FVectorVMExternalFunctionContext & Context )


code: template<typename VertexAccessorType> void GetTriangleCoordInAabb ( FVectorVMExternalFunctionContext & Context )


code: template<> void GetTriangleCoordInAabb ( FVectorVMExternalFunctionContext & Context )


code: void GetTriangleData ( FVectorVMExternalFunctionContext & Context )


description: Triangle sampling Triangles are sampled a using MeshTriangleCoordinates which are composed of Triangle index and a bary centric coordinate on that triangle.

code: void GetTriangleSamplingFunctions ( [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraFunctionSignature](API\Plugins\Niagara\FNiagaraFunctionSignature) > & OutFunctions )


code: void GetTriCoordColor ( FVectorVMExternalFunctionContext & Context )


code: void GetTriCoordColorFallback ( FVectorVMExternalFunctionContext & Context )


code: template<typename TransformHandlerType, typename bInterpolated> void GetTriCoordSkinnedDataFallback ( FVectorVMExternalFunctionContext & Context )


code: template<typename SkinningHandlerType, typename TransformHandlerType, typename VertexAccessorType, typename bInterpolated> void GetTriCoordSkinnedData ( FVectorVMExternalFunctionContext & Context )


code: template<typename VertexAccessorType> void GetTriCoordUV ( FVectorVMExternalFunctionContext & Context )


code: template<> void GetTriCoordUV ( FVectorVMExternalFunctionContext & Context )


code: template<typename SkinningHandlerType> void GetTriCoordVertices ( FVectorVMExternalFunctionContext & Context )


code: void GetUnfilteredBoneCount ( FVectorVMExternalFunctionContext & Context )


code: void GetUnfilteredBoneAt ( FVectorVMExternalFunctionContext & Context )


code: void GetVertexColor ( FVectorVMExternalFunctionContext & Context )


code: void GetVertexColorFallback ( FVectorVMExternalFunctionContext & Context )


code: void GetVertexCount ( FVectorVMExternalFunctionContext & Context )


code: template<typename VertexAccessorType> void GetVertexData ( FVectorVMExternalFunctionContext & Context )


description: Vertex Sampling Vertex sampling done with direct vertex indices.

code: void GetVertexSamplingFunctions ( [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraFunctionSignature](API\Plugins\Niagara\FNiagaraFunctionSignature) > & OutFunctions )


code: template<typename SkinningHandlerType, typename TransformHandlerType, typename VertexAccessorType> void GetVertexSkinnedData ( FVectorVMExternalFunctionContext & Context )


code: template<typename VertexAccessorType> void GetVertexUV ( FVectorVMExternalFunctionContext & Context )


code: template<> void GetVertexUV ( FVectorVMExternalFunctionContext & Context )


description: Returns the delegate for the passed function signature.

code: virtual void GetVMExternalFunction ( const [FVMExternalFunctionBindingInfo](API\Plugins\Niagara\FVMExternalFunctionBindingInfo) & BindingInfo, void * InstanceData, FVMExternalFunction & OutFunc )


code: virtual bool HasPreSimulateTick() const


code: virtual bool HasTickGroupPrereqs() const


description: Initializes the per instance data for this interface. Returns false if there was some error and the simulation should be disabled.

code: virtual bool InitPerInstanceData ( void * PerInstanceData, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance )


code: void IsValidBone ( FVectorVMExternalFunctionContext & Context )


code: template<typename FilterMode> void IsValidFilteredVertex ( FVectorVMExternalFunctionContext & Context )


code: template<typename FilterMode, typename AreaWeightingMode> void IsValidTriCoord ( FVectorVMExternalFunctionContext & Context )


code: void IsValidVertex ( FVectorVMExternalFunctionContext & Context )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)() void OnSourceEndPlay ( [AActor](API\Runtime\Engine\GameFramework\AActor) * InSource, [EEndPlayReason::Type](API\Runtime\Engine\Engine\EEndPlayReason__Type) Reason )


description: Returns the size of the per instance data for this interface. 0 if this interface has no per instance data. Must depend solely on the class of the interface and not on any particular member data of a individual interface.

code: virtual int32 PerInstanceDataSize() const


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

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


description: Ticks the per instance data for this interface, if it has any.

code: virtual bool PerInstanceTick ( void * PerInstanceData, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance, float DeltaSeconds )


description: Allows data interfaces to influence the compilation of GPU shaders and is only called on the CDO object not the instance.

code: virtual void ModifyCompilationEnvironment ( EShaderPlatform ShaderPlatform, struct [FShaderCompilerEnvironment](API\Runtime\RenderCore\FShaderCompilerEnvironment) & OutEnvironment ) const


description: Called after the C++ constructor and after the properties have been initialized, including those loaded from config. This is called before any serialization or other setup has happened.

code: virtual void PostInitProperties()


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

code: virtual void PostLoad()


description: This will not be called if PerInstanceDataPassedToRenderThreadSize is 0.

code: virtual void ProvidePerInstanceDataForRenderThread ( void * DataForRenderThread, void * PerInstanceData, const [FNiagaraSystemInstanceID](API\Plugins\NiagaraCore\FNiagaraSystemInstanceID) & SystemInstance )


code: void RandomBone ( FVectorVMExternalFunctionContext & Context )


code: void RandomFilteredBone ( FVectorVMExternalFunctionContext & Context )


code: void RandomFilteredSocket ( FVectorVMExternalFunctionContext & Context )


code: void RandomFilteredSocketOrBone ( FVectorVMExternalFunctionContext & Context )


code: template<typename FilterMode> void RandomFilteredVertex ( FVectorVMExternalFunctionContext & Context )


code: template<typename FilterMode, typename AreaWeightingMode> void RandomTriCoord ( FVectorVMExternalFunctionContext & Context )


code: void RandomUnfilteredBone ( FVectorVMExternalFunctionContext & Context )


code: void RandomVertex ( FVectorVMExternalFunctionContext & Context )


code: void SetFilteredBonesFromBlueprints ( const [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > & InFilteredBones )


code: void SetFilteredSocketsFromBlueprints ( const [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > & InFilteredSockets )


code: void SetSamplingRegionsFromBlueprints ( const [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > & InSamplingRegions )


description: End of Direct Bone + Socket Sampling.

code: void SetSourceComponentFromBlueprints ( [USkeletalMeshComponent](API\Runtime\Engine\Components\USkeletalMeshComponent) * ComponentToUse )


code: void SetWholeMeshLODFromBlueprints ( int32 MeshLODLevel )


description: Bind/unbind delegates to release references to the source actor & component.

code: void UnbindSourceDelegates()


description: Allows data interfaces the opportunity to rename / change the function signature and perform an upgrade. Return true if the signature was modified and we need to refresh the pins / name, etc.

code: virtual bool UpgradeFunctionCall ( [FNiagaraFunctionSignature](API\Plugins\Niagara\FNiagaraFunctionSignature) & FunctionSignature )


description: Validates a function being compiled and allows interface classes to post custom compile errors when their API changes.

code: virtual void ValidateFunction ( const [FNiagaraFunctionSignature](API\Plugins\Niagara\FNiagaraFunctionSignature) & Function, [TArray](API\Runtime\Core\Containers\TArray)< [FText](API\Runtime\Core\Internationalization\FText) > & OutValidationErrors )


description: Misc Functions.

code: void VMGetPreSkinnedLocalBounds ( FVectorVMExternalFunctionContext & Context )


code: UNiagaraDataInterfaceSkeletalMesh ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UNiagaraDataInterfaceSkeletalMesh

description: Data Interface allowing sampling of skeletal meshes.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Meshes", Meta=(DisplayName="Skeletal Mesh"), MinimalAPI) class UNiagaraDataInterfaceSkeletalMesh : public [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface)

bRequireCurrentFrameData

description: When this option is disabled, we use the previous frame's data for the skeletal mesh and can often issue the simulation early.

ChangeId

description: Cached change id off of the data interface.

ComponentTags

description: If defined, the supplied tags will be used to identify a valid component

ExcludeBoneName

type: FName

description: Optionally remove a single bone from Random / Random Unfiltered access.

FilteredBones

description: Set of filtered bones that can be used for sampling.

FilteredSockets

description: Set of filtered sockets that can be used for sampling.

MeshUserParameter

description: Reference to a user parameter if we're reading one.

PreviewMesh

type: TSoftObjectPtr<...

description: Mesh used to sample from when not overridden by a source actor from the scene.

SamplingRegions

description: Sampling regions on the mesh from which to sample. Leave this empty to sample from the whole mesh.

SkinningMode

type: ENDISkeletalMes...

description: Selects which skinning mode to use, for most cases Skin On The Fly will cover your requirements, see individual tooltips for more information.

SoftSourceActor

description: The source actor from which to sample.

SourceComponent

type: TObjectPtr<USk...

description: The source component from which to sample.

SourceMode

description: Controls how to retrieve the Skeletal Mesh Component to attach to.

WholeMeshLOD

description: If no regions are specified, we'll sample the whole mesh at this LODIndex.


description: GPU sim functionality.

code: virtual bool AppendCompileHash ( [FNiagaraCompileHashVisitor](API\Plugins\Niagara\FNiagaraCompileHashVisitor) * InVisitor ) const


description: When filling the data inside the set function you would ask for parameters using the same structure. Note: This function is only called on the CDO only not the instance

code: virtual void BuildShaderParameters ( [FNiagaraShaderParametersBuilder](API\Plugins\NiagaraShader\FNiagaraShaderParametersBuilder) & ShaderParametersBuilder ) const


code: virtual bool CanExecuteOnTarget ( [ENiagaraSimTarget](API\Plugins\Niagara\ENiagaraSimTarget) Target ) const


code: virtual bool CopyToInternal ( [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface) * Destination ) const


description: Destroys the per instance data for this interface.

code: virtual void DestroyPerInstanceData ( void * PerInstanceData, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance )


description: Determines if this DataInterface is the same as another.

code: virtual bool Equals ( const [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface) * Other ) const


description: Set the shader parameters will only be called if the data interface provided shader parameters. You must write the parameters in the order you added them to the structure.

code: virtual void SetShaderParameters ( const [FNiagaraDataInterfaceSetShaderParametersContext](API\Plugins\Niagara\FNiagaraDataInterfaceSetShaderPa-) & Context ) const


code: static FUniformBufferRHIRef CreateUniformBuffer &40; const FShaderParameters & InContents, EUniformBufferUsage InUsage &41;


className: bIsStoredInConstantBuffer

code: static bIsStoredInConstantBuffer = true;


className: FileLine

code: static FileLine = builtin_LINE();


className: FileName

code: static FileName = builtin_FILE();


code: static const FShaderParametersMetadata &42; GetStructMetadata&40;&41;


className: NumElements

code: static NumElements = 0;


className: TAlignedType

code: typedef FShaderParameters TAlignedType


className: FTypeInfo

description: GetStructMetadata()

code: struct FTypeInfo


className: zzFuncPtr

code: typedef void &42; zzFuncPtr


code: static TArray< FShaderParametersMetadata::FMember > zzGetMembers&40;&41;


className: zzMemberFunc

code: typedef zzFuncPtr(&42; zzMemberFunc


className: zzMemberIdPhysicalTileDataATexture


className: zzMemberIdPhysicalTileDataBTexture


className: zzTThisStruct

code: typedef FShaderParameters zzTThisStruct


className: FShaderParameters

code: class FShaderParameters

MipLevels

type: TShaderParamete...

PageTableTexture

type: TShaderResource...


code: virtual bool GetFunctionHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, const [FNiagaraDataInterfaceGeneratedFunction](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGeneratedFu-) & FunctionInfo, int FunctionInstanceIndex, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


description: Gets all the available functions for this data interface.

code: virtual void GetFunctions ( [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraFunctionSignature](API\Plugins\Niagara\FNiagaraFunctionSignature) > & OutFunctions )


code: virtual void GetParameterDefinitionHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


className: GetNumMipLevelsName

code: static const [FName](API\Runtime\Core\UObject\FName) GetNumMipLevelsName;


className: GetTextureDimensionsName

code: static const [FName](API\Runtime\Core\UObject\FName) GetTextureDimensionsName;


description: Returns the delegate for the passed function signature.

code: virtual void GetVMExternalFunction ( const [FVMExternalFunctionBindingInfo](API\Plugins\Niagara\FVMExternalFunctionBindingInfo) & BindingInfo, void * InstanceData, FVMExternalFunction & OutFunc )


code: virtual bool HasPreSimulateTick() const


description: Initializes the per instance data for this interface. Returns false if there was some error and the simulation should be disabled.

code: virtual bool InitPerInstanceData ( void * PerInstanceData, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance )


className: LoadSparseVolumeTextureName

code: static const [FName](API\Runtime\Core\UObject\FName) LoadSparseVolumeTextureName;


description: Returns the size of the per instance data for this interface. 0 if this interface has no per instance data. Must depend solely on the class of the interface and not on any particular member data of a individual interface.

code: virtual int32 PerInstanceDataSize() const


description: Ticks the per instance data for this interface, if it has any.

code: virtual bool PerInstanceTick ( void * PerInstanceData, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance, float DeltaSeconds )


description: Called after the C++ constructor and after the properties have been initialized, including those loaded from config. This is called before any serialization or other setup has happened.

code: virtual void PostInitProperties()


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

code: virtual void PostLoad()


className: SampleSparseVolumeTextureName

code: static const [FName](API\Runtime\Core\UObject\FName) SampleSparseVolumeTextureName;


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 )


code: virtual void SetShaderParameters ( const [FNiagaraDataInterfaceSetShaderParametersContext](API\Plugins\Niagara\FNiagaraDataInterfaceSetShaderPa-) & Context ) const


code: void SetTexture ( [USparseVolumeTexture](API\Runtime\Engine\SparseVolumeTexture\USparseVolumeTexture) * InSparseVolumeTexture )


code: void VMGetNumMipLevels ( FVectorVMExternalFunctionContext & Context )


className: TemplateShaderFilePath

code: static const TCHAR * TemplateShaderFilePath = TEXT("/Plugin/FX/Niagara/Private/NiagaraDataInterfaceSparseVolumeTextureTemplate.ush");


description: Allows data interfaces the opportunity to rename / change the function signature and perform an upgrade. Return true if the signature was modified and we need to refresh the pins / name, etc.

code: virtual bool UpgradeFunctionCall ( [FNiagaraFunctionSignature](API\Plugins\Niagara\FNiagaraFunctionSignature) & FunctionSignature )


code: void VMGetTextureDimensions ( FVectorVMExternalFunctionContext & Context )


code: UNiagaraDataInterfaceSparseVolumeTexture ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


description: Data Interface allowing sampling of a sparse volume texture

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Texture", CollapseCategories, Meta=(DisplayName="Sparse Volume Texture Sample"), MinimalAPI) class UNiagaraDataInterfaceSparseVolumeTexture : public [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface)

SparseVolumeTexture

type: TObjectPtr<USp...


description: Allows the generic class defaults version of this class to specify any dependencies/version/etc that might invalidate the compile. It should never depend on the value of specific properties.

code: virtual bool AppendCompileHash ( [FNiagaraCompileHashVisitor](API\Plugins\Niagara\FNiagaraCompileHashVisitor) * InVisitor ) const


code: virtual void BuildShaderParameters ( [FNiagaraShaderParametersBuilder](API\Plugins\NiagaraShader\FNiagaraShaderParametersBuilder) & ShaderParametersBuilder ) const


code: virtual bool CanExecuteOnTarget ( [ENiagaraSimTarget](API\Plugins\Niagara\ENiagaraSimTarget) Target ) const


code: virtual bool CopyToInternal ( [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface) * Destination ) const


code: virtual void DestroyPerInstanceData ( void * PerInstanceData, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance )


code: virtual bool Equals ( const [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface) * Other ) const


code: template<typename UseLUT> void FindClosestUnitDistanceFromPositionWS ( FVectorVMExternalFunctionContext & Context )


description: Allows data interfaces to provide common functionality that will be shared across interfaces on that type.

code: virtual void GetCommonHLSL ( [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


code: virtual bool GetFunctionHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, const [FNiagaraDataInterfaceGeneratedFunction](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGeneratedFu-) & FunctionInfo, int FunctionInstanceIndex, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


code: virtual void GetFunctions ( [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraFunctionSignature](API\Plugins\Niagara\FNiagaraFunctionSignature) > & OutFunctions )


code: void GetLocalToWorld ( FVectorVMExternalFunctionContext & Context )


code: void GetLocalToWorldInverseTransposed ( FVectorVMExternalFunctionContext & Context )


code: virtual void GetParameterDefinitionHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


code: virtual void GetVMExternalFunction ( const [FVMExternalFunctionBindingInfo](API\Plugins\Niagara\FVMExternalFunctionBindingInfo) & BindingInfo, void * InstanceData, FVMExternalFunction & OutFunc )


code: virtual bool HasPreSimulateTick() const


code: virtual bool InitPerInstanceData ( void * PerInstanceData, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance )


description: The size of the data this class will provide to ProvidePerInstanceDataForRenderThread. MUST be 16 byte aligned!

code: virtual int32 PerInstanceDataPassedToRenderThreadSize() const


code: virtual int32 PerInstanceDataSize() const


code: virtual bool PerInstanceTick ( void * PerInstanceData, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance, float DeltaSeconds )


code: virtual void PostInitProperties()


code: template<typename UseLUT, typename TransformHandlerType, typename SplineSampleType> void SampleSplineDirectionByUnitDistance ( FVectorVMExternalFunctionContext & Context )


code: template<typename UseLUT, typename TransformHandlerType, typename SplineSampleType> void SampleSplinePositionByUnitDistance ( FVectorVMExternalFunctionContext & Context )


code: template<typename UseLUT, typename TransformHandlerType, typename SplineSampleType> void SampleSplineRightVectorByUnitDistance ( FVectorVMExternalFunctionContext & Context )


code: template<typename UseLUT, typename TransformHandlerType, typename SplineSampleType> void SampleSplineRotationByUnitDistance ( FVectorVMExternalFunctionContext & Context )


code: virtual void SetShaderParameters ( const [FNiagaraDataInterfaceSetShaderParametersContext](API\Plugins\Niagara\FNiagaraDataInterfaceSetShaderPa-) & Context ) const


code: virtual bool UpgradeFunctionCall ( [FNiagaraFunctionSignature](API\Plugins\Niagara\FNiagaraFunctionSignature) & FunctionSignature )


code: template<typename UseLUT, typename TransformHandlerType, typename SplineSampleType> void SampleSplineTangentByUnitDistance ( FVectorVMExternalFunctionContext & Context )


code: template<typename UseLUT, typename TransformHandlerType, typename SplineSampleType> void SampleSplineUpVectorByUnitDistance ( FVectorVMExternalFunctionContext & Context )


code: void VMGetSplineLength ( FVectorVMExternalFunctionContext & Context )


code: UNiagaraDataInterfaceSpline ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UNiagaraDataInterfaceSpline

description: Data Interface allowing sampling of in-world spline components. Note that this data interface is very experimental.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Splines", CollapseCategories, Meta=(DisplayName="Spline"), MinimalAPI) class UNiagaraDataInterfaceSpline : public [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface)

Source

type: TObjectPtr<AAc...

description: The source actor from which to sample.

SplineUserParameter

description: Reference to a user parameter if we're reading one.


code: virtual bool AppendCompileHash ( [FNiagaraCompileHashVisitor](API\Plugins\Niagara\FNiagaraCompileHashVisitor) * InVisitor ) const


description: When filling the data inside the set function you would ask for parameters using the same structure. Note: This function is only called on the CDO only not the instance

code: virtual void BuildShaderParameters ( [FNiagaraShaderParametersBuilder](API\Plugins\NiagaraShader\FNiagaraShaderParametersBuilder) & ShaderParametersBuilder ) const


description: Determines if this DataInterface is the same as another.

code: virtual bool Equals ( const [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface) * Other ) const


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()


code: virtual bool CanExecuteOnTarget ( [ENiagaraSimTarget](API\Plugins\Niagara\ENiagaraSimTarget) Target ) const


code: virtual bool CopyToInternal ( [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface) * Destination ) const


description: Query the data interface to give feedback to the end user. Note that the default implementation, just calls GetErrors on the DataInterface, but derived classes can do much more. Also, InAsset or InComponent may be null values, as the UI for DataInterfaces is displayed in a variety of locations. In these cases, only provide information that is relevant to that context.

code: virtual void GetFeedback ( [UNiagaraSystem](API\Plugins\Niagara\UNiagaraSystem) * InAsset, [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * InComponent, [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraDataInterfaceError](API\Plugins\Niagara\FNiagaraDataInterfaceError) > & OutErrors, [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraDataInterfaceFeedback](API\Plugins\Niagara\FNiagaraDataInterfaceFeedback) > & OutWarnings, [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraDataInterfaceFeedback](API\Plugins\Niagara\FNiagaraDataInterfaceFeedback) > & OutInfo )


code: virtual bool GetFunctionHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, const [FNiagaraDataInterfaceGeneratedFunction](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGeneratedFu-) & FunctionInfo, int FunctionInstanceIndex, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


description: Gets all the available functions for this data interface.

code: virtual void GetFunctions ( [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraFunctionSignature](API\Plugins\Niagara\FNiagaraFunctionSignature) > & OutFunctions )


code: virtual void GetParameterDefinitionHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


code: [UNiagaraSpriteRendererProperties](API\Plugins\Niagara\UNiagaraSpriteRendererProperties) * GetSpriteRenderer() const


description: Returns the delegate for the passed function signature.

code: virtual void GetVMExternalFunction ( const [FVMExternalFunctionBindingInfo](API\Plugins\Niagara\FVMExternalFunctionBindingInfo) & BindingInfo, void * InstanceData, FVMExternalFunction & OutFunc )


code: void OnSpriteRendererChanged ( [UNiagaraSpriteRendererProperties](API\Plugins\Niagara\UNiagaraSpriteRendererProperties) * NewSpriteRenderer )


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

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


description: Called after the C++ constructor and after the properties have been initialized, including those loaded from config. This is called before any serialization or other setup has happened.

code: virtual void PostInitProperties()


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

code: virtual void PostLoad()


description: This is called when a property is about to be modified externally

code: virtual void PreEditChange ( [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * PropertyAboutToChange )


code: virtual void PushToRenderThreadImpl()


description: Set the shader parameters will only be called if the data interface provided shader parameters. You must write the parameters in the order you added them to the structure.

code: virtual void SetShaderParameters ( const [FNiagaraDataInterfaceSetShaderParametersContext](API\Plugins\Niagara\FNiagaraDataInterfaceSetShaderPa-) & Context ) const


code: void VMGetAlignment ( FVectorVMExternalFunctionContext & Context )


code: void VMGetFacingMode ( FVectorVMExternalFunctionContext & Context )


code: void VMGetSourceMode ( FVectorVMExternalFunctionContext & Context )


code: void VMGetSubUVDetails ( FVectorVMExternalFunctionContext & Context )


code: void VMIsValid ( FVectorVMExternalFunctionContext & Context )


code: UNiagaraDataInterfaceSpriteRendererInfo ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UNiagaraDataInterfaceSpriteRendererInfo

description: This Data Interface can be used to query information about the sprite renderers of an emitter

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Sprite Particles", CollapseCategories, Meta=(DisplayName="Sprite Renderer Info"), MinimalAPI) class UNiagaraDataInterfaceSpriteRendererInfo : public [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface)

OnSpriteRendererChangedHandle

type: FDelegateHandle

SpriteRenderer

type: TObjectPtr<UNi...

description: The name of the sprite renderer


description: GPU sim functionality.

code: virtual bool AppendCompileHash ( [FNiagaraCompileHashVisitor](API\Plugins\Niagara\FNiagaraCompileHashVisitor) * InVisitor ) const


code: virtual void BuildShaderParameters ( [FNiagaraShaderParametersBuilder](API\Plugins\NiagaraShader\FNiagaraShaderParametersBuilder) & ShaderParametersBuilder ) const


description:
Called during cluster construction if the object can be added to a cluster
true if this object can be inside of a cluster

code: virtual bool CanBeInCluster() const


code: virtual bool CanExecuteOnTarget ( [ENiagaraSimTarget](API\Plugins\Niagara\ENiagaraSimTarget) Target ) const


code: virtual bool CopyToInternal ( [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface) * Destination ) const


description: Destroys the per instance data for this interface.

code: virtual void DestroyPerInstanceData ( void * PerInstanceData, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance )


code: virtual bool Equals ( const [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface) * Other ) const


code: static FUniformBufferRHIRef CreateUniformBuffer &40; const FShaderParameters & InContents, EUniformBufferUsage InUsage &41;


className: bIsStoredInConstantBuffer

code: static bIsStoredInConstantBuffer = true;


className: FileLine

code: static FileLine = builtin_LINE();


className: FileName

code: static FileName = builtin_FILE();


className: NumElements

code: static NumElements = 0;


className: TAlignedType

code: typedef FShaderParameters TAlignedType


code: static const FShaderParametersMetadata &42; GetStructMetadata&40;&41;


className: FTypeInfo

description: GetStructMetadata()

code: struct FTypeInfo


className: zzFuncPtr

code: typedef void &42; zzFuncPtr


code: static TArray< FShaderParametersMetadata::FMember > zzGetMembers&40;&41;


className: zzMemberFunc

code: typedef zzFuncPtr(&42; zzMemberFunc


className: zzTThisStruct

code: typedef FShaderParameters zzTThisStruct


className: FShaderParameters

code: class FShaderParameters


code: static const [FName](API\Runtime\Core\UObject\FName) GatherRedTexture2DName;


code: virtual bool GetFunctionHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, const [FNiagaraDataInterfaceGeneratedFunction](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGeneratedFu-) & FunctionInfo, int FunctionInstanceIndex, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


code: virtual void GetFunctions ( [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraFunctionSignature](API\Plugins\Niagara\FNiagaraFunctionSignature) > & OutFunctions )


className: GetNumMipLevelsName

code: static const [FName](API\Runtime\Core\UObject\FName) GetNumMipLevelsName;


code: virtual void GetParameterDefinitionHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


className: GetTextureDimensionsName

code: static const [FName](API\Runtime\Core\UObject\FName) GetTextureDimensionsName;


code: virtual void GetVMExternalFunction ( const [FVMExternalFunctionBindingInfo](API\Plugins\Niagara\FVMExternalFunctionBindingInfo) & BindingInfo, void * InstanceData, FVMExternalFunction & OutFunc )


code: virtual bool HasPreSimulateTick() const


description: Initializes the per instance data for this interface. Returns false if there was some error and the simulation should be disabled.

code: virtual bool InitPerInstanceData ( void * PerInstanceData, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance )


code: static const [FName](API\Runtime\Core\UObject\FName) LoadTexture2DName;


description: Returns the size of the per instance data for this interface. 0 if this interface has no per instance data. Must depend solely on the class of the interface and not on any particular member data of a individual interface.

code: virtual int32 PerInstanceDataSize() const


description: Ticks the per instance data for this interface, if it has any.

code: virtual bool PerInstanceTick ( void * PerInstanceData, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance, float DeltaSeconds )


code: virtual void PostInitProperties()


code: virtual void PostLoad()


className: SamplePseudoVolumeTextureName

code: static const [FName](API\Runtime\Core\UObject\FName) SamplePseudoVolumeTextureName;


code: static const [FName](API\Runtime\Core\UObject\FName) SampleTexture2DName;


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 )


code: virtual void SetShaderParameters ( const [FNiagaraDataInterfaceSetShaderParametersContext](API\Plugins\Niagara\FNiagaraDataInterfaceSetShaderPa-) & Context ) const


code: void SetTexture ( [UTexture](API\Runtime\Engine\Engine\UTexture) * InTexture )


code: static const TCHAR * TemplateShaderFilePath = TEXT("/Plugin/FX/Niagara/Private/NiagaraDataInterfaceTextureTemplate.ush");


code: void VMGetNumMipLevels ( FVectorVMExternalFunctionContext & Context )


description: Allows data interfaces the opportunity to rename / change the function signature and perform an upgrade. Return true if the signature was modified and we need to refresh the pins / name, etc.

code: virtual bool UpgradeFunctionCall ( [FNiagaraFunctionSignature](API\Plugins\Niagara\FNiagaraFunctionSignature) & FunctionSignature )


code: void VMGetTextureDimensions ( FVectorVMExternalFunctionContext & Context )


code: void VMSampleTexture ( FVectorVMExternalFunctionContext & Context )


code: void VMSamplePseudoVolumeTexture ( FVectorVMExternalFunctionContext & Context )


code: UNiagaraDataInterfaceTexture ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UNiagaraDataInterfaceTexture

description: Data Interface allowing sampling of a texture

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Texture", CollapseCategories, Meta=(DisplayName="Texture Sample"), MinimalAPI) class UNiagaraDataInterfaceTexture : public [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface)

Texture

type: TObjectPtr<UTe...


code: virtual [TArray](API\Runtime\Core\Containers\TArray)< float > BuildLUT ( int32 NumEntries ) const


code: virtual bool CopyToInternal ( [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface) * Destination ) const


className: CurveLUTNumElems

code: enum { CurveLUTNumElems = 2 }


description: Determines if this DataInterface is the same as another.

code: virtual bool Equals ( const [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface) * Other ) const


description: Gets information for all of the curves owned by this curve data interface.

code: virtual void GetCurveData ( [TArray](API\Runtime\Core\Containers\TArray)< [FCurveData](API\Plugins\Niagara\UNiagaraDataInterfaceCurveBase\FCurveData) > & OutCurveData )


code: virtual int32 GetCurveNumElems() const


code: virtual [FName](API\Runtime\Core\UObject\FName) GetCurveSampleFunctionName() const


code: virtual bool GetFunctionHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, const [FNiagaraDataInterfaceGeneratedFunction](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGeneratedFu-) & FunctionInfo, int FunctionInstanceIndex, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


description: Gets all the available functions for this data interface.

code: virtual void GetFunctions ( [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraFunctionSignature](API\Plugins\Niagara\FNiagaraFunctionSignature) > & OutFunctions )


code: virtual void PostInitProperties()


description: Returns the delegate for the passed function signature.

code: virtual void GetVMExternalFunction ( const [FVMExternalFunctionBindingInfo](API\Plugins\Niagara\FVMExternalFunctionBindingInfo) & BindingInfo, void * InstanceData, FVMExternalFunction & OutFunc )


code: template<typename UseLUT> void SampleCurve ( FVectorVMExternalFunctionContext & Context )


className: SampleCurveName

code: static const [FName](API\Runtime\Core\UObject\FName) SampleCurveName;


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


code: UNiagaraDataInterfaceVector2DCurve ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


description: Data Interface allowing sampling of vector curves.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Curves", CollapseCategories, Meta=(DisplayName="Curve for Vector2D's"), MinimalAPI) class UNiagaraDataInterfaceVector2DCurve : public [UNiagaraDataInterfaceCurveBase](API\Plugins\Niagara\UNiagaraDataInterfaceCurveBase)

XCurve

type: FRichCurve


code: enum { CurveLUTNumElems = 4 }


code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Curves", CollapseCategories, Meta=(DisplayName="Curve for Vector4's"), MinimalAPI) class UNiagaraDataInterfaceVector4Curve : public [UNiagaraDataInterfaceCurveBase](API\Plugins\Niagara\UNiagaraDataInterfaceCurveBase)


code: UNiagaraDataInterfaceVector4Curve ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: virtual [TArray](API\Runtime\Core\Containers\TArray)< float > BuildLUT ( int32 NumEntries ) const


code: virtual bool CopyToInternal ( [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface) * Destination ) const


code: enum { CurveLUTNumElems = 3 }


code: virtual bool Equals ( const [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface) * Other ) const


code: virtual int32 GetCurveNumElems() const


code: virtual void GetCurveData ( [TArray](API\Runtime\Core\Containers\TArray)< [FCurveData](API\Plugins\Niagara\UNiagaraDataInterfaceCurveBase\FCurveData) > & OutCurveData )


code: virtual [FName](API\Runtime\Core\UObject\FName) GetCurveSampleFunctionName() const


code: virtual bool GetFunctionHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, const [FNiagaraDataInterfaceGeneratedFunction](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGeneratedFu-) & FunctionInfo, int FunctionInstanceIndex, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


code: virtual void GetFunctions ( [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraFunctionSignature](API\Plugins\Niagara\FNiagaraFunctionSignature) > & OutFunctions )


code: virtual void GetVMExternalFunction ( const [FVMExternalFunctionBindingInfo](API\Plugins\Niagara\FVMExternalFunctionBindingInfo) & BindingInfo, void * InstanceData, FVMExternalFunction & OutFunc )


description: Called after the C++ constructor and after the properties have been initialized, including those loaded from config. This is called before any serialization or other setup has happened.

code: virtual void PostInitProperties()


code: template<typename UseLUT> void SampleCurve ( FVectorVMExternalFunctionContext & Context )


code: static const [FName](API\Runtime\Core\UObject\FName) SampleCurveName;


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


code: UNiagaraDataInterfaceVectorCurve ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UNiagaraDataInterfaceVectorCurve

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Curves", CollapseCategories, Meta=(DisplayName="Curve for Vector3's"), MinimalAPI) class UNiagaraDataInterfaceVectorCurve : public [UNiagaraDataInterfaceCurveBase](API\Plugins\Niagara\UNiagaraDataInterfaceCurveBase)


description: GPU sim functionality.

code: virtual bool AppendCompileHash ( [FNiagaraCompileHashVisitor](API\Plugins\Niagara\FNiagaraCompileHashVisitor) * InVisitor ) const


description: When filling the data inside the set function you would ask for parameters using the same structure. Note: This function is only called on the CDO only not the instance

code: virtual void BuildShaderParameters ( [FNiagaraShaderParametersBuilder](API\Plugins\NiagaraShader\FNiagaraShaderParametersBuilder) & ShaderParametersBuilder ) const


code: virtual bool CopyToInternal ( [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface) * Destination ) const


code: static FUniformBufferRHIRef CreateUniformBuffer &40; const FShaderParameters & InContents, EUniformBufferUsage InUsage &41;


code: virtual bool CanExecuteOnTarget ( [ENiagaraSimTarget](API\Plugins\Niagara\ENiagaraSimTarget) Target ) const


className: bIsStoredInConstantBuffer

code: static bIsStoredInConstantBuffer = true;


code: static FileName = builtin_FILE();


className: FileLine

code: static FileLine = builtin_LINE();


code: static NumElements = 0;


code: typedef FShaderParameters TAlignedType


code: static const FShaderParametersMetadata &42; GetStructMetadata&40;&41;


description: GetStructMetadata()

code: struct FTypeInfo


code: typedef void &42; zzFuncPtr


code: static TArray< FShaderParametersMetadata::FMember > zzGetMembers&40;&41;


code: typedef zzFuncPtr(&42; zzMemberFunc


code: typedef FShaderParameters zzTThisStruct


code: class FShaderParameters


description: Editor functionality.

code: virtual void GetFeedback ( [UNiagaraSystem](API\Plugins\Niagara\UNiagaraSystem) * InAsset, [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * InComponent, [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraDataInterfaceError](API\Plugins\Niagara\FNiagaraDataInterfaceError) > & OutErrors, [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraDataInterfaceFeedback](API\Plugins\Niagara\FNiagaraDataInterfaceFeedback) > & OutWarnings, [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraDataInterfaceFeedback](API\Plugins\Niagara\FNiagaraDataInterfaceFeedback) > & OutInfo )


code: void GetFieldBounds ( FVectorVMExternalFunctionContext & Context )


description: VM functions.

code: void GetFieldDimensions ( FVectorVMExternalFunctionContext & Context )


code: void GetFieldTilingAxes ( FVectorVMExternalFunctionContext & Context )


code: virtual bool GetFunctionHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, const [FNiagaraDataInterfaceGeneratedFunction](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGeneratedFu-) & FunctionInfo, int FunctionInstanceIndex, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


description: VM functionality.

code: virtual void GetFunctions ( [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraFunctionSignature](API\Plugins\Niagara\FNiagaraFunctionSignature) > & OutFunctions )


code: virtual void GetParameterDefinitionHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


code: virtual void GetVMExternalFunction ( const [FVMExternalFunctionBindingInfo](API\Plugins\Niagara\FVMExternalFunctionBindingInfo) & BindingInfo, void * InstanceData, FVMExternalFunction & OutFunc )


code: void LoadVectorField ( FVectorVMExternalFunctionContext & Context )


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

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


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

code: virtual void PostLoad()


code: virtual void PostInitProperties()


description: This is called when a property is about to be modified externally

code: virtual void PreEditChange ( [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * PropertyAboutToChange )


code: virtual void PushToRenderThreadImpl()


code: void SampleVectorField ( FVectorVMExternalFunctionContext & Context )


description: Set the shader parameters will only be called if the data interface provided shader parameters. You must write the parameters in the order you added them to the structure.

code: virtual void SetShaderParameters ( const [FNiagaraDataInterfaceSetShaderParametersContext](API\Plugins\Niagara\FNiagaraDataInterfaceSetShaderPa-) & Context ) const


code: UNiagaraDataInterfaceVectorField ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UNiagaraDataInterfaceVectorField

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Vector Field", CollapseCategories, Meta=(DisplayName="Vector Field"), MinimalAPI) class UNiagaraDataInterfaceVectorField : public [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface)

Field

type: TObjectPtr<UVe...

description: Vector field to sample from.


description: Allows the generic class defaults version of this class to specify any dependencies/version/etc that might invalidate the compile. It should never depend on the value of specific properties.

code: virtual bool AppendCompileHash ( [FNiagaraCompileHashVisitor](API\Plugins\Niagara\FNiagaraCompileHashVisitor) * InVisitor ) const


code: virtual void BuildShaderParameters ( [FNiagaraShaderParametersBuilder](API\Plugins\NiagaraShader\FNiagaraShaderParametersBuilder) & ShaderParametersBuilder ) const


code: virtual bool CanExecuteOnTarget ( [ENiagaraSimTarget](API\Plugins\Niagara\ENiagaraSimTarget) Target ) const


code: virtual bool CopyToInternal ( [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface) * Destination ) const


description: Destroys the per instance data for this interface.

code: virtual void DestroyPerInstanceData ( void * PerInstanceData, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance )


code: virtual bool Equals ( const [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface) * Other ) const


code: static bIsStoredInConstantBuffer = true;


code: static FUniformBufferRHIRef CreateUniformBuffer &40; const FShaderParameters & InContents, EUniformBufferUsage InUsage &41;


code: static FileLine = builtin_LINE();


className: FileName

code: static FileName = builtin_FILE();


code: static const FShaderParametersMetadata &42; GetStructMetadata&40;&41;


className: TAlignedType

code: typedef FShaderParameters TAlignedType


className: FTypeInfo

description: GetStructMetadata()

code: struct FTypeInfo


className: zzFuncPtr

code: typedef void &42; zzFuncPtr


code: static TArray< FShaderParametersMetadata::FMember > zzGetMembers&40;&41;


className: zzMemberFunc

code: typedef zzFuncPtr(&42; zzMemberFunc


className: NumElements

code: static NumElements = 0;


className: zzTThisStruct

code: typedef FShaderParameters zzTThisStruct


className: FShaderParameters

code: class FShaderParameters


code: [FString](API\Runtime\Core\Containers\FString) GetAssetPath ( [FString](API\Runtime\Core\Containers\FString) PathFormat, int32 FrameIndex ) const


className: GetCurrentFrameNumCells

code: static const [FName](API\Runtime\Core\UObject\FName) GetCurrentFrameNumCells;


className: GetCurrentFrameValue

code: static const [FName](API\Runtime\Core\UObject\FName) GetCurrentFrameValue;


code: virtual bool GetFunctionHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, const [FNiagaraDataInterfaceGeneratedFunction](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGeneratedFu-) & FunctionInfo, int FunctionInstanceIndex, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


code: virtual void GetFunctions ( [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraFunctionSignature](API\Plugins\Niagara\FNiagaraFunctionSignature) > & OutFunctions )


code: void GetNumCells ( FVectorVMExternalFunctionContext & Context )


className: GetNumCellsName

code: static const [FName](API\Runtime\Core\UObject\FName) GetNumCellsName;


code: virtual void GetParameterDefinitionHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


code: virtual void GetVMExternalFunction ( const [FVMExternalFunctionBindingInfo](API\Plugins\Niagara\FVMExternalFunctionBindingInfo) & BindingInfo, void * InstanceData, FVMExternalFunction & OutFunc )


code: virtual bool HasPreSimulateTick() const


className: IndexToUnitName

code: static const [FName](API\Runtime\Core\UObject\FName) IndexToUnitName;


description: Initializes the per instance data for this interface. Returns false if there was some error and the simulation should be disabled.

code: virtual bool InitPerInstanceData ( void * PerInstanceData, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance )


description: Returns the size of the per instance data for this interface. 0 if this interface has no per instance data. Must depend solely on the class of the interface and not on any particular member data of a individual interface.

code: virtual int32 PerInstanceDataSize() const


description: Ticks the per instance data for this interface, if it has any.

code: virtual bool PerInstanceTick ( void * PerInstanceData, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance, float DeltaSeconds )


code: virtual void PostInitProperties()


description: This will not be called if PerInstanceDataPassedToRenderThreadSize is 0.

code: virtual void ProvidePerInstanceDataForRenderThread ( void * DataForRenderThread, void * PerInstanceData, const [FNiagaraSystemInstanceID](API\Plugins\NiagaraCore\FNiagaraSystemInstanceID) & SystemInstance )


code: void ReadFile ( FVectorVMExternalFunctionContext & Context )


className: SampleCurrentFrameValueName

code: static const [FName](API\Runtime\Core\UObject\FName) SampleCurrentFrameValueName;


className: ReadFileName

code: static const [FName](API\Runtime\Core\UObject\FName) ReadFileName;


code: void SetFrame ( FVectorVMExternalFunctionContext & Context )


className: SetFrameName

code: static const [FName](API\Runtime\Core\UObject\FName) SetFrameName;


code: virtual void SetShaderParameters ( const [FNiagaraDataInterfaceSetShaderParametersContext](API\Plugins\Niagara\FNiagaraDataInterfaceSetShaderPa-) & Context ) const


className: TemplateShaderFilePath

code: static const TCHAR * TemplateShaderFilePath = TEXT("/Plugin/FX/Niagara/Private/NiagaraDataInterfaceVolumeCache.ush");


code: UNiagaraDataInterfaceVolumeCache ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UNiagaraDataInterfaceVolumeCache

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Grid", CollapseCategories, Meta=(DisplayName="Volume Cache"), MinimalAPI) class UNiagaraDataInterfaceVolumeCache : public [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface)

type: TMap<FNiagaraS...

VolumeCache

type: TObjectPtr<UVo...


description: GPU sim functionality.

code: virtual bool AppendCompileHash ( [FNiagaraCompileHashVisitor](API\Plugins\Niagara\FNiagaraCompileHashVisitor) * InVisitor ) const


code: virtual void BuildShaderParameters ( [FNiagaraShaderParametersBuilder](API\Plugins\NiagaraShader\FNiagaraShaderParametersBuilder) & ShaderParametersBuilder ) const


description:
Called during cluster construction if the object can be added to a cluster
true if this object can be inside of a cluster

code: virtual bool CanBeInCluster() const


code: virtual bool CanExecuteOnTarget ( [ENiagaraSimTarget](API\Plugins\Niagara\ENiagaraSimTarget) Target ) const


code: virtual bool CopyToInternal ( [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface) * Destination ) const


code: virtual void DestroyPerInstanceData ( void * PerInstanceData, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance )


description: Determines if this DataInterface is the same as another.

code: virtual bool Equals ( const [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface) * Other ) const


code: static FUniformBufferRHIRef CreateUniformBuffer &40; const FShaderParameters & InContents, EUniformBufferUsage InUsage &41;


className: bIsStoredInConstantBuffer

code: static bIsStoredInConstantBuffer = true;


className: FileLine

code: static FileLine = builtin_LINE();


className: FileName

code: static FileName = builtin_FILE();


code: static const FShaderParametersMetadata &42; GetStructMetadata&40;&41;


code: static NumElements = 0;


className: TAlignedType

code: typedef FShaderParameters TAlignedType


className: FTypeInfo

description: GetStructMetadata()

code: struct FTypeInfo


className: zzFuncPtr

code: typedef void &42; zzFuncPtr


code: static TArray< FShaderParametersMetadata::FMember > zzGetMembers&40;&41;


className: zzMemberFunc

code: typedef zzFuncPtr(&42; zzMemberFunc


className: zzTThisStruct

code: typedef FShaderParameters zzTThisStruct


className: FShaderParameters

code: class FShaderParameters


code: virtual bool GetFunctionHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, const [FNiagaraDataInterfaceGeneratedFunction](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGeneratedFu-) & FunctionInfo, int FunctionInstanceIndex, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


code: virtual void GetParameterDefinitionHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


description: Gets all the available functions for this data interface.

code: virtual void GetFunctions ( [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraFunctionSignature](API\Plugins\Niagara\FNiagaraFunctionSignature) > & OutFunctions )


code: void GetTextureDimensions ( FVectorVMExternalFunctionContext & Context )


description: Returns the delegate for the passed function signature.

code: virtual void GetVMExternalFunction ( const [FVMExternalFunctionBindingInfo](API\Plugins\Niagara\FVMExternalFunctionBindingInfo) & BindingInfo, void * InstanceData, FVMExternalFunction & OutFunc )


code: virtual bool HasPreSimulateTick() const


code: virtual bool InitPerInstanceData ( void * PerInstanceData, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance )


className: LoadVolumeTextureName

code: static const [FName](API\Runtime\Core\UObject\FName) LoadVolumeTextureName;


code: virtual int32 PerInstanceDataSize() const


code: virtual bool PerInstanceTick ( void * PerInstanceData, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance, float DeltaSeconds )


code: virtual void PostInitProperties()


code: void SampleVolumeTexture ( FVectorVMExternalFunctionContext & Context )


className: SampleVolumeTextureName

code: static const [FName](API\Runtime\Core\UObject\FName) SampleVolumeTextureName;


code: virtual void SetShaderParameters ( const [FNiagaraDataInterfaceSetShaderParametersContext](API\Plugins\Niagara\FNiagaraDataInterfaceSetShaderPa-) & Context ) const


code: void SetTexture ( [UTexture](API\Runtime\Engine\Engine\UTexture) * InTexture )


code: static const TCHAR * TemplateShaderFilePath = TEXT("/Plugin/FX/Niagara/Private/NiagaraDataInterfaceVolumeTextureTemplate.ush");


className: TextureDimsName

code: static const [FName](API\Runtime\Core\UObject\FName) TextureDimsName;


code: UNiagaraDataInterfaceVolumeTexture ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: FOnChanged

code: typedef TMulticastDelegate_NoParams< void > FOnChanged


className: UNiagaraDataInterfaceVolumeTexture

description: Data Interface allowing sampling of a texture

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Texture", CollapseCategories, Meta=(DisplayName="Volume Texture Sample"), MinimalAPI) class UNiagaraDataInterfaceVolumeTexture : public [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface)

TextureUserParameter

type: FNiagaraUserPar...


code: virtual void NotifyPostChange ( const [FPropertyChangedEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedEvent) &, [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * )


code: virtual void NotifyPostChange ( const [FPropertyChangedEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedEvent) &, class [FEditPropertyChain](API\Runtime\CoreUObject\UObject\FEditPropertyChain) * )


code: virtual void NotifyPreChange ( [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * )


code: virtual void NotifyPreChange ( class [FEditPropertyChain](API\Runtime\CoreUObject\UObject\FEditPropertyChain) * )


className: UNiagaraDebugHUDSettings

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Config=EditorPerProjectUserSettings, defaultconfig, MinimalAPI) class UNiagaraDebugHUDSettings : public [UObject](API\Runtime\CoreUObject\UObject\UObject), public [FNotifyHook](API\Runtime\CoreUObject\Misc\FNotifyHook)

Data

type: FNiagaraDebugHU...

OnChangedDelegate

type: FOnChanged


code: virtual void CacheFromCompiledData ( const [FNiagaraDataSetCompiledData](API\Plugins\Niagara\FNiagaraDataSetCompiledData) * CompiledData )


code: virtual [FNiagaraBoundsCalculator](API\Plugins\Niagara\FNiagaraBoundsCalculator) * CreateBoundsCalculator()


code: virtual [FNiagaraRenderer](API\Plugins\Niagara\FNiagaraRenderer) * CreateEmitterRenderer ( [ERHIFeatureLevel::Type](API\Runtime\RHI\ERHIFeatureLevel__Type) FeatureLevel, const [FNiagaraEmitterInstance](API\Plugins\Niagara\FNiagaraEmitterInstance) * Emitter, const [FNiagaraSystemInstanceController](API\Plugins\Niagara\FNiagaraSystemInstanceController) & InController )


code: virtual [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) > GetBoundAttributes() const


code: static const float GetDefaultDecalFade()


code: static const FVector3f GetDefaultDecalSize()


code: static const int32 GetDefaultDecalSortOrder()


code: static const [FNiagaraBool](API\Plugins\Niagara\FNiagaraBool) GetDefaultDecalVisible()


code: static const FQuat4f GetDefaultOrientation()


code: virtual const [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) > & GetOptionalAttributes()


code: [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * GetMaterial ( const [FNiagaraEmitterInstance](API\Plugins\Niagara\FNiagaraEmitterInstance) * InEmitter ) const


code: virtual void GetRendererFeedback ( const [FVersionedNiagaraEmitter](API\Plugins\Niagara\FVersionedNiagaraEmitter) & InEmitter, [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraRendererFeedback](API\Plugins\Niagara\FNiagaraRendererFeedback) > & OutErrors, [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraRendererFeedback](API\Plugins\Niagara\FNiagaraRendererFeedback) > & OutWarnings, [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraRendererFeedback](API\Plugins\Niagara\FNiagaraRendererFeedback) > & OutInfo ) const


code: virtual void GetRendererTooltipWidgets ( const [FNiagaraEmitterInstance](API\Plugins\Niagara\FNiagaraEmitterInstance) * InEmitter, [TArray](API\Runtime\Core\Containers\TArray)< [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [SWidget](API\Runtime\SlateCore\Widgets\SWidget) >> & OutWidgets, [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FAssetThumbnailPool](API\Editor\UnrealEd\FAssetThumbnailPool) > InThumbnailPool ) const


code: virtual void GetRendererWidgets ( const [FNiagaraEmitterInstance](API\Plugins\Niagara\FNiagaraEmitterInstance) * InEmitter, [TArray](API\Runtime\Core\Containers\TArray)< [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [SWidget](API\Runtime\SlateCore\Widgets\SWidget) >> & OutWidgets, [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FAssetThumbnailPool](API\Editor\UnrealEd\FAssetThumbnailPool) > InThumbnailPool ) const


description: The icon to display in the niagara stack widget under the renderer section.

code: virtual const [FSlateBrush](API\Runtime\SlateCore\Styling\FSlateBrush) * GetStackIcon() const


code: virtual void GetUsedMaterials ( const [FNiagaraEmitterInstance](API\Plugins\Niagara\FNiagaraEmitterInstance) * InEmitter, [TArray](API\Runtime\Core\Containers\TArray)< [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * > & OutMaterials ) const


code: virtual bool IsSimTargetSupported ( [ENiagaraSimTarget](API\Plugins\Niagara\ENiagaraSimTarget) InSimTarget ) const


code: virtual bool NeedsMIDsForMaterials() const


description: In the case that we need parameters bound in that aren't Particle variables, these should be set up here so that the data is appropriately populated after the simulation.

code: virtual bool PopulateRequiredBindings ( [FNiagaraParameterStore](API\Plugins\Niagara\FNiagaraParameterStore) & InParameterStore )


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

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


description: Called after the C++ constructor and after the properties have been initialized, including those loaded from config. This is called before any serialization or other setup has happened.

code: virtual void PostInitProperties()


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

code: virtual void PostLoad()


code: virtual void RemoveVariable ( const [FNiagaraVariableBase](API\Plugins\Niagara\FNiagaraVariableBase) & OldVariable, const [FVersionedNiagaraEmitter](API\Plugins\Niagara\FVersionedNiagaraEmitter) & InEmitter )


code: virtual void RenameVariable ( const [FNiagaraVariableBase](API\Plugins\Niagara\FNiagaraVariableBase) & OldVariable, const [FNiagaraVariableBase](API\Plugins\Niagara\FNiagaraVariableBase) & NewVariable, const [FVersionedNiagaraEmitter](API\Plugins\Niagara\FVersionedNiagaraEmitter) & InEmitter )


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 )


code: virtual void UpdateSourceModeDerivates ( [ENiagaraRendererSourceDataMode](API\Plugins\Niagara\ENiagaraRendererSourceDataMode) InSourceMode, bool bFromPropertyEdit )


code: UNiagaraDecalRendererProperties()


className: UNiagaraDecalRendererProperties

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, MinimalAPI, Meta=(DisplayName="Decal Renderer")) class UNiagaraDecalRendererProperties : public [UNiagaraRendererProperties](API\Plugins\Niagara\UNiagaraRendererProperties)

DecalColorBinding

type: FNiagaraVariabl...

description: Color binding for the decal, value can be queried using the Decal Color material node.

DecalColorDataSetAccessor

type: FNiagaraDataSet...

DecalFadeBinding

description: Fade binding for the decal, value can be queried using the Decal Lifetime Opacity material node.

DecalOrientationBinding

description: Orientation binding for the decal.

DecalScreenSizeFade

type: float

description: When the decal is smaller than this screen size fade out the decal, can be used to reduce the amount of small decals drawn.

DecalSizeBinding

description: Size binding for the decal.

DecalSortOrderBinding

description: Sort Order binding for the decal, used to ensure decals to not flicker when overlapping.

DecalVisibleBinding

description: Should the decal be visibile or not, works in conjunction with RendererVisibilityTagBinding to determine visibility.

Material

type: TObjectPtr<UMa...

description: What material to use for the decal.

MaterialParameterBinding

type: FNiagaraParamet...

description: Binding to material.

MaterialParameters

type: FNiagaraRendere...

description: If this array has entries, we will create a MaterialInstanceDynamic per Emitter instance from Material and set the Material parameters using the Niagara simulation variables listed.

PositionBinding

description: Position binding for the decals, should be center of the decal

RendererVisibility

description: If a render visibility tag is present, particles whose tag matches this value will be visible in this renderer.

RendererVisibilityTagBinding

description: Visibility tag binding, when valid the returned values is compated with RendererVisibility.

SourceMode

type: ENiagaraRendere...

description: Whether or not to draw a single element for the Emitter or to draw the particles.


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category=Niagara, Meta=(DisplayName="Niagara Set Source Actors")) static void SetSourceActors ( [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * NiagaraSystem, [FName](API\Runtime\Core\UObject\FName) OverrideName, const [TArray](API\Runtime\Core\Containers\TArray)< [AActor](API\Runtime\Engine\GameFramework\AActor) * > & SourceActors )


description: C++ and Blueprint library for accessing array types


code: virtual void PostLoadFromOwner ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * InOwner )