description: Sets Niagara Array FMatrix Data.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category=Niagara, Meta=(DisplayName="Niagara Set Matrix Array")) static void SetNiagaraArrayMatrix ( [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * NiagaraSystem, [FName](API\Runtime\Core\UObject\FName) OverrideName, const [TArray](API\Runtime\Core\Containers\TArray)< FMatrix > & ArrayData, bool bApplyLWCRebase )


module: Niagara

code: static void SetNiagaraArrayMatrix ( [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * NiagaraSystem, [FName](API\Runtime\Core\UObject\FName) OverrideName, TConstArrayView< FMatrix44f > ArrayData )


description: Sets a single value within a Niagara Array FMatrix.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category=Niagara, Meta=(DisplayName="Niagara Set Matrix Array Value")) static void SetNiagaraArrayMatrixValue ( [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * NiagaraSystem, [FName](API\Runtime\Core\UObject\FName) OverrideName, int Index, const FMatrix & Value, bool bSizeToFit, bool bApplyLWCRebase )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category=Niagara, Meta=(DisplayName="Niagara Set Position Array Value")) static void SetNiagaraArrayPositionValue ( [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * NiagaraSystem, [FName](API\Runtime\Core\UObject\FName) OverrideName, int Index, const FVector & Value, bool bSizeToFit )


description: Sets Niagara Array FVector Data.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category=Niagara, Meta=(DisplayName="Niagara Set Position Array")) static void SetNiagaraArrayPosition ( [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * NiagaraSystem, [FName](API\Runtime\Core\UObject\FName) OverrideName, const [TArray](API\Runtime\Core\Containers\TArray)< FVector > & ArrayData )


description: Sets Niagara Array FQuat Data.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category=Niagara, Meta=(DisplayName="Niagara Set Quaternion Array")) static void SetNiagaraArrayQuat ( [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * NiagaraSystem, [FName](API\Runtime\Core\UObject\FName) OverrideName, const [TArray](API\Runtime\Core\Containers\TArray)< FQuat > & ArrayData )


code: static void SetNiagaraArrayQuat ( [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * NiagaraSystem, [FName](API\Runtime\Core\UObject\FName) OverrideName, TConstArrayView< FQuat4f > ArrayData )


description: Sets a single value within a Niagara Array FQuat.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category=Niagara, Meta=(DisplayName="Niagara Set Quaternion Array Value")) static void SetNiagaraArrayQuatValue ( [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * NiagaraSystem, [FName](API\Runtime\Core\UObject\FName) OverrideName, int Index, const FQuat & Value, bool bSizeToFit )


description: Sets Niagara Array UInt8 Data.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category=Niagara, Meta=(DisplayName="Niagara Set UInt8 Array")) static void SetNiagaraArrayUInt8 ( [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * NiagaraSystem, [FName](API\Runtime\Core\UObject\FName) OverrideName, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & ArrayData )


code: static void SetNiagaraArrayUInt8 ( [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * NiagaraSystem, [FName](API\Runtime\Core\UObject\FName) OverrideName, TConstArrayView< uint8 > ArrayData )


description: Sets a single value within a Niagara Array UInt8.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category=Niagara, Meta=(DisplayName="Niagara Set UInt8 Array Value")) static void SetNiagaraArrayUInt8Value ( [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * NiagaraSystem, [FName](API\Runtime\Core\UObject\FName) OverrideName, int Index, int32 Value, bool bSizeToFit )


description: Sets a single value within a Niagara Array FVector2D.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category=Niagara, Meta=(DisplayName="Niagara Set Vector 2D Array Value")) static void SetNiagaraArrayVector2DValue ( [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * NiagaraSystem, [FName](API\Runtime\Core\UObject\FName) OverrideName, int Index, const FVector2D & Value, bool bSizeToFit )


description: Sets Niagara Array FVector Data.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category=Niagara, Meta=(DisplayName="Niagara Set Vector Array")) static void SetNiagaraArrayVector ( [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * NiagaraSystem, [FName](API\Runtime\Core\UObject\FName) OverrideName, const [TArray](API\Runtime\Core\Containers\TArray)< FVector > & ArrayData )


description: Sets Niagara Array FVector2D Data.

code: static void SetNiagaraArrayVector ( [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * NiagaraSystem, [FName](API\Runtime\Core\UObject\FName) OverrideName, TConstArrayView< FVector3f > ArrayData )


description: Sets Niagara Array FVector2D Data.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category=Niagara, Meta=(DisplayName="Niagara Set Vector 2D Array")) static void SetNiagaraArrayVector2D ( [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * NiagaraSystem, [FName](API\Runtime\Core\UObject\FName) OverrideName, const [TArray](API\Runtime\Core\Containers\TArray)< FVector2D > & ArrayData )


description: None BP compatable set functions.

code: static void SetNiagaraArrayVector2D ( [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * NiagaraSystem, [FName](API\Runtime\Core\UObject\FName) OverrideName, TConstArrayView< FVector2f > ArrayData )


description: Sets Niagara Array FVector4 Data.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category=Niagara, Meta=(DisplayName="Niagara Set Vector 4 Array")) static void SetNiagaraArrayVector4 ( [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * NiagaraSystem, [FName](API\Runtime\Core\UObject\FName) OverrideName, const [TArray](API\Runtime\Core\Containers\TArray)< FVector4 > & ArrayData )


code: static void SetNiagaraArrayVector4 ( [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * NiagaraSystem, [FName](API\Runtime\Core\UObject\FName) OverrideName, TConstArrayView< FVector4f > ArrayData )


description: Sets a single value within a Niagara Array FVector4.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category=Niagara, Meta=(DisplayName="Niagara Set Vector 4 Array Value")) static void SetNiagaraArrayVector4Value ( [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * NiagaraSystem, [FName](API\Runtime\Core\UObject\FName) OverrideName, int Index, const FVector4 & Value, bool bSizeToFit )


description: Sets a single value within a Niagara Array FVector.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category=Niagara, Meta=(DisplayName="Niagara Set Vector Array Value")) static void SetNiagaraArrayVectorValue ( [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * NiagaraSystem, [FName](API\Runtime\Core\UObject\FName) OverrideName, int Index, const FVector & Value, bool bSizeToFit )


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


className: FProxyType

code: typedef [FNDIArrayProxyImpl](API\Plugins\Niagara\FNDIArrayProxyImpl)< int32, [UNiagaraDataInterfaceArrayInt32](API\Plugins\Niagara\UNiagaraDataInterfaceArrayInt32) > FProxyType


code: [TArray](API\Runtime\Core\Containers\TArray)< int32 > & GetArrayReference()


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 TFromArrayType> void SetVariantArrayData ( TConstArrayView< TFromArrayType > InArrayData )


code: template<typename TFromArrayType> void SetVariantArrayValue ( int Index, const TFromArrayType & Value, bool bSizeToFit )


code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Array", CollapseCategories, Meta=(DisplayName="Int32 Array"), Blueprintable, BlueprintType, MinimalAPI) class UNiagaraDataInterfaceArrayInt32 : public [UNiagaraDataInterfaceArray](API\Plugins\Niagara\UNiagaraDataInterfaceArray)

IntData

type: TArray< int32 >


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


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

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


code: typedef [FNDIArrayProxyImpl](API\Plugins\Niagara\FNDIArrayProxyImpl)< FMatrix44f, [UNiagaraDataInterfaceArrayMatrix](API\Plugins\Niagara\UNiagaraDataInterfaceArrayMatrix) > FProxyType


code: [TArray](API\Runtime\Core\Containers\TArray)< FMatrix44f > & GetArrayReference()


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


className: UNiagaraDataInterfaceArrayMatrix

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Array", CollapseCategories, Meta=(DisplayName="Matrix Array"), Blueprintable, BlueprintType, MinimalAPI) class UNiagaraDataInterfaceArrayMatrix : public [UNiagaraDataInterfaceArray](API\Plugins\Niagara\UNiagaraDataInterfaceArray)

InternalMatrixData

type: TArray< FMatrix...


code: [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraID](API\Plugins\Niagara\FNiagaraID) > & GetArrayReference()


className: UNiagaraDataInterfaceArrayNiagaraID

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Array", Meta=(DisplayName="NiagaraID Array", Experimental), Blueprintable, BlueprintType, MinimalAPI) class UNiagaraDataInterfaceArrayNiagaraID : public [UNiagaraDataInterfaceArray](API\Plugins\Niagara\UNiagaraDataInterfaceArray)

IntData

type: TArray<FNiagar...


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


code: [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraPosition](API\Plugins\Niagara\FNiagaraPosition) > & GetArrayReference()


className: UNiagaraDataInterfaceArrayPosition

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Array", CollapseCategories, Meta=(DisplayName="Position Array"), Blueprintable, BlueprintType, MinimalAPI) class UNiagaraDataInterfaceArrayPosition : public [UNiagaraDataInterfaceArray](API\Plugins\Niagara\UNiagaraDataInterfaceArray)


code: typedef [FNDIArrayProxyImpl](API\Plugins\Niagara\FNDIArrayProxyImpl)< FQuat4f, [UNiagaraDataInterfaceArrayQuat](API\Plugins\Niagara\UNiagaraDataInterfaceArrayQuat) > FProxyType


code: [TArray](API\Runtime\Core\Containers\TArray)< FQuat4f > & GetArrayReference()


code: virtual void PostInitProperties()


code: template<typename TFromArrayType> void SetVariantArrayData ( TConstArrayView< TFromArrayType > InArrayData )


code: template<typename TFromArrayType> void SetVariantArrayValue ( int Index, const TFromArrayType & Value, bool bSizeToFit )


className: UNiagaraDataInterfaceArrayQuat

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Array", CollapseCategories, Meta=(DisplayName="Quaternion Array"), Blueprintable, BlueprintType, MinimalAPI) class UNiagaraDataInterfaceArrayQuat : public [UNiagaraDataInterfaceArray](API\Plugins\Niagara\UNiagaraDataInterfaceArray)

InternalQuatData

type: TArray< FQuat4f...

QuatData

type: TArray< FQuat >


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


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


code: typedef [FNDIArrayProxyImpl](API\Plugins\Niagara\FNDIArrayProxyImpl)< uint8, [UNiagaraDataInterfaceArrayUInt8](API\Plugins\Niagara\UNiagaraDataInterfaceArrayUInt8) > FProxyType


code: [TArray](API\Runtime\Core\Containers\TArray)< uint8 > & GetArrayReference()


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


code: virtual void PostLoad()


code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Array", CollapseCategories, Meta=(DisplayName="UInt8 Array"), Blueprintable, BlueprintType, MinimalAPI) class UNiagaraDataInterfaceArrayUInt8 : public [UNiagaraDataInterfaceArray](API\Plugins\Niagara\UNiagaraDataInterfaceArray)

InternalIntData

type: TArray< uint8 >


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: 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 bool CanExecuteOnTarget ( [ENiagaraSimTarget](API\Plugins\Niagara\ENiagaraSimTarget) Target ) const


description: Destroys the per instance data for this interface.

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


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 )


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 )


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 )


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: virtual void GetParameterDefinitionHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


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


code: virtual bool RequiresDistanceFieldData() const


code: virtual bool RequiresRayTracingScene() 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: 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: virtual void PushToRenderThreadImpl()


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


className: UNiagaraDataInterfaceAsyncGpuTrace

description: Data interface for handling latent (delayed 1 frame) traces against the scene for GPU simulations.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Collision", CollapseCategories, Meta=(DisplayName="Async Gpu Trace"), MinimalAPI) class UNiagaraDataInterfaceAsyncGpuTrace : public [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface)

MaxRetraces

description: If a collision is rejected, how many times do we attempt to retrace from that collision point forward to find a new, valid collision.

MaxTracesPerParticle

description: The maximum number of traces (per particle) that can be created per frame.

TraceProvider

type: TEnumAsByte<EN...

description: Defines which technique is used to resolve the trace - see 'AsyncGpuTraceDI/Provider Priority' in the Niagara project settings.


code: virtual bool AppendCompileHash ( [FNiagaraCompileHashVisitor](API\Plugins\Niagara\FNiagaraCompileHashVisitor) * InVisitor ) 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 CopyToInternal ( [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface) * Destination ) const


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


code: virtual void BuildShaderParameters ( [FNiagaraShaderParametersBuilder](API\Plugins\NiagaraShader\FNiagaraShaderParametersBuilder) & ShaderParametersBuilder ) 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();


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

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


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: zzTThisStruct

code: typedef FShaderParameters zzTThisStruct


className: FShaderParameters

code: class FShaderParameters

AudioBuffer

type: TShaderResource...

NumChannels

type: TShaderParamete...


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 GetNumChannels ( FVectorVMExternalFunctionContext & Context )


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 )


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: MaxBufferResolution

code: static const int32 MaxBufferResolution = 8192;


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 bool RequiresDistanceFieldData() const


description: VM function overrides:

code: void SampleAudio ( FVectorVMExternalFunctionContext & Context )


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


className: UNiagaraDataInterfaceAudioOscilloscope

description: Data Interface allowing sampling of recent audio data.

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

Resolution

description: The number of samples of audio to pass to the GPU.

ScopeInMilliseconds

type: float

description: The number of milliseconds of audio to show.

Submix

type: TObjectPtr<USo...


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


code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Audio", Meta=(DisplayName="Niagara Audio Player Settings"), Blueprintable, BlueprintType, MinimalAPI) class UNiagaraDataInterfaceAudioPlayerSettings : public [UObject](API\Runtime\CoreUObject\UObject\UObject)

AttenuationSettings

type: FSoundAttenuati...

bOverrideAttenuationSettings

type: bool


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: virtual bool HasPostSimulateTick() const


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 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: PausePersistentAudioName

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


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) * SystemInstance, float DeltaSeconds )


className: PlayAudioName

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


code: virtual void PlayOneShotAudio ( FVectorVMExternalFunctionContext & Context )


code: virtual void PlayPersistentAudio ( FVectorVMExternalFunctionContext & Context )


className: PlayPersistentAudioName

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


code: virtual void PostInitProperties()


description: When set to true the simulation may not complete in the same frame it started, allowing maximum overlap with the GameThread. You must override and set to false if you require the data interface to complete before PostActorTick completes.

code: virtual bool PostSimulateCanOverlapFrames() const


code: virtual void SetParameterBool ( FVectorVMExternalFunctionContext & Context )


code: virtual void SetParameterFloat ( FVectorVMExternalFunctionContext & Context )


code: virtual void SetParameterInteger ( FVectorVMExternalFunctionContext & Context )


code: virtual void SetPausedState ( FVectorVMExternalFunctionContext & Context )


className: SetPersistentAudioLocationName

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


className: SetPersistentAudioRotationName

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


className: SetPersistentAudioBoolParamName

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


className: SetPersistentAudioIntegerParamName

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


className: SetPersistentAudioFloatParamName

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


className: SetPersistentAudioPitchName

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


className: SetPersistentAudioVolumeName

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


code: virtual void UpdateLocation ( FVectorVMExternalFunctionContext & Context )


code: virtual void UpdatePitch ( FVectorVMExternalFunctionContext & Context )


code: virtual void UpdateVolume ( FVectorVMExternalFunctionContext & Context )


code: virtual void UpdateRotation ( 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: UNiagaraDataInterfaceAudioPlayer ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UNiagaraDataInterfaceAudioPlayer

description: This Data Interface can be used to play one-shot audio effects driven by particle data.

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

Attenuation

description: Optional sound attenuation setting to use

bAllowLoopingOneShotSounds

description: Playing looping sounds as persistent audio is not a problem, as the sound is stopped when a particle dies, but one-shot audio outlives the niagara system and can never be stopped.

bOnlyActiveDuringGameplay

description: If true then this data interface only processes sounds during active gameplay.

bStopWhenComponentIsDestroyed

description: If false then it the audio component keeps playing after the niagara component was destroyed.

Concurrency

description: Optional sound concurrency setting to use

ConfigurationUserParameter

type: FNiagaraUserPar...

description: If bound to a valid user parameter object of typeUNiagaraDataInterfaceAudioPlayerSettings, then configured settings like sound attenuation are set via the user parameter.

MaxPlaysPerTick

description: This sets the max number of sounds played each tick.

ParameterNames

type: TArray<FName>

description: A set of parameter names that can be referenced via index when setting sound cue parameters on persistent audio

SoundToPlay

description: Reference to the audio asset to play


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 bool CanExecuteOnTarget ( [ENiagaraSimTarget](API\Plugins\Niagara\ENiagaraSimTarget) Target ) const


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


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;


className: NumElements

code: static NumElements = 0;


className: TAlignedType

code: typedef FShaderParameters TAlignedType


className: FTypeInfo

description: GetStructMetadata()

code: struct FTypeInfo


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


className: zzFuncPtr

code: typedef void &42; zzFuncPtr


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 )


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 GetNumChannels ( FVectorVMExternalFunctionContext & Context )


className: GetNumChannelsFunctionName

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


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


className: GetSpectrumFunctionName

description: VM function names.

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


className: GetSpectrumName

description: Global variable prefixes.

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


description: VM function overrides:

code: void GetSpectrumValue ( 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 )


className: NumChannelsName

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


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


className: ResolutionName

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


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: UNiagaraDataInterfaceAudioSpectrum ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UNiagaraDataInterfaceAudioSpectrum

description: Data Interface allowing sampling of recent audio spectrum.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Audio", Meta=(DisplayName="Audio Spectrum"), MinimalAPI) class UNiagaraDataInterfaceAudioSpectrum : public [UNiagaraDataInterfaceAudioSubmix](API\Plugins\Niagara\UNiagaraDataInterfaceAudioSubmix)

MaximumFrequency

description: The maximum frequency represented in the spectrum.

MinimumFrequency

description: The minimum frequency represented in the spectrum.

NoiseFloorDb

description: The decibel level considered as silence. This is used to scale the output of the spectrum.

Resolution

description: The number of spectrum samples to pass to the GPU


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 CopyToInternal ( [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface) * Destination ) const


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


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


className: UNiagaraDataInterfaceAudioSubmix

description: Data Interface allowing sampling of recent audio data.

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

Submix

description: The audio submix where analyzed.


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


className: ApplyPreViewTranslationToPosition

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


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


className: CalculateDistancesName

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


code: void CalculateParticleDistances ( FVectorVMExternalFunctionContext & Context )


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


code: virtual bool CanExecuteOnTarget ( [ENiagaraSimTarget](API\Plugins\Niagara\ENiagaraSimTarget) Target ) 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: zzTThisStruct

code: typedef FShaderParameters zzTThisStruct


className: FShaderParameters

code: class FShaderParameters


code: void GetCameraFOV ( FVectorVMExternalFunctionContext & Context )


code: void GetCameraProperties ( FVectorVMExternalFunctionContext & Context )


className: GetClipSpaceTransformsName

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


className: GetCameraPropertiesName

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


code: void GetClosestParticles ( FVectorVMExternalFunctionContext & Context )


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 )


className: GetFieldOfViewName

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


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 GetParameterDefinitionHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


className: GetTAAJitterName

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


className: GetViewPropertiesName

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


className: GetViewSpaceTransformsName

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


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 )


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


className: QueryClosestName

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


className: RemovePreViewTranslationFromPosition

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


code: virtual bool RequiresEarlyViewData() const


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


className: TemplateShaderFilePath

code: static const TCHAR * TemplateShaderFilePath = TEXT("/Plugin/FX/Niagara/Private/NiagaraDataInterfaceCamera.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: UNiagaraDataInterfaceCamera ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UNiagaraDataInterfaceCamera

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

bRequireCurrentFrameData

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

PlayerControllerIndex

description: This is used to determine which camera position to query for cpu emitters.


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 bool CanExecuteOnTarget ( [ENiagaraSimTarget](API\Plugins\Niagara\ENiagaraSimTarget) Target ) const


description: Destroys the per instence data for this interface.

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


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: zzTThisStruct

code: typedef FShaderParameters zzTThisStruct


description: Method to add asset tags that are specific to this data interface.Bydefault we add in how many instances of this class exist in the list.

code: virtual void GetAssetTagsForContext ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * InAsset, [FGuid](API\Runtime\Core\Misc\FGuid) AssetVersion, const [TArray](API\Runtime\Core\Containers\TArray)< const [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface) * > & InProperties, [TMap](API\Runtime\Core\Containers\TMap)< [FName](API\Runtime\Core\UObject\FName), uint32 > & NumericKeys, [TMap](API\Runtime\Core\Containers\TMap)< [FName](API\Runtime\Core\UObject\FName), [FString](API\Runtime\Core\Containers\FString) > & StringKeys ) const


className: FShaderParameters

code: class FShaderParameters


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 )


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 )


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 bool HasPreSimulateTick() const


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


code: void PerformQueryAsyncCPU ( FVectorVMExternalFunctionContext & Context )


description: VM functions.

code: void PerformQuerySyncCPU ( FVectorVMExternalFunctionContext & Context )


code: virtual int32 PerInstanceDataSize() const


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) * 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: When set to true the simulation may not complete in the same frame it started, allowing maximum overlap with the GameThread. You must override and set to false if you require the data interface to complete before PostActorTick completes.

code: virtual bool PostSimulateCanOverlapFrames() const


code: virtual bool RequiresDepthBuffer() const


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: 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: UNiagaraDataInterfaceCollisionQuery ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UNiagaraDataInterfaceCollisionQuery

description: Data Interface that can be used to query collision related data, like geometry traces or sampling the depth buffer.

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


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 = 4 }


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 void GetFunctions ( [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraFunctionSignature](API\Plugins\Niagara\FNiagaraFunctionSignature) > & OutFunctions )


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


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;


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: UNiagaraDataInterfaceColorCurve ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UNiagaraDataInterfaceColorCurve

description: Data Interface allowing sampling of color curves.

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

AlphaCurve

type: FRichCurve


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;


code: static bIsStoredInConstantBuffer = true;


code: static FileLine = builtin_LINE();


code: static FileName = builtin_FILE();


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


code: static NumElements = 0;


code: typedef FShaderParameters TAlignedType


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


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 GetParameterDefinitionHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


code: void GetTextureDimensions ( FVectorVMExternalFunctionContext & Context )


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 )


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


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: void SampleCubeTexture ( FVectorVMExternalFunctionContext & Context )


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


className: SampleCubeTextureName

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


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


className: TemplateShaderFilePath

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


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


className: TextureDimsName

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


className: UNiagaraDataInterfaceCubeTexture

description: Data Interface allowing sampling of a texture

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

Texture

type: TObjectPtr<UTe...


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


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;


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


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 )


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


code: void SampleNoiseField ( 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: UNiagaraDataInterfaceCurlNoise ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UNiagaraDataInterfaceCurlNoise

description: Data Interface allowing sampling of curl noise LUT.

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

OffsetFromSeed

description: Precalculated when Seed changes.


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 = 1 }


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 )


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 )


code: virtual void PostInitProperties()


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


className: SampleCurveName

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


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: UNiagaraDataInterfaceCurve ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UNiagaraDataInterfaceCurve

description: Data Interface allowing sampling of float curves.

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


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 [TArray](API\Runtime\Core\Containers\TArray)< float > BuildLUT ( int32 NumEntries ) const


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


description: Allows data interfaces to cache any static data that may be shared between instances

code: virtual void CacheStaticBuffers ( struct [FNiagaraSystemStaticBuffers](API\Plugins\Niagara\FNiagaraSystemStaticBuffers) & StaticBuffers, const [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) & ResolvedVariable, bool bUsedByCPU, bool bUsedByGPU )


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


code: virtual bool CanExposeVariables() const


code: virtual bool CompareLUTS ( const [TArray](API\Runtime\Core\Containers\TArray)< float > & OtherLUT ) const


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


className: DefaultOptimizeThreshold

code: static constexpr float DefaultOptimizeThreshold = 0.01f;


className: CurveLUTDefaultWidth

code: enum { CurveLUTDefaultWidth = 128 }


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


code: FCurveData &40; FRichCurve &42; InCurve, FName InName, FLinearColor InColor &41;


className: FCurveData

description: Structure to facilitate getting standardized curve information from a curve data interface.

code: struct FCurveData

Color

type: FLinearColor

description: The color to use when displaying this curve in the UI.

Curve

type: FRichCurve*...

description: A pointer to the curve.

Name

type: FName

description: The name of the curve, unique within the data interface, which identifies the curve in the UI.


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


code: virtual int32 GetCurveNumElems() const


description: Refreshes and returns the errors detected with the corresponding data, if any.

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


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


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


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


description: Remap a sample time for this curve to 0 to 1 between first and last keys for LUT access.

code: float NormalizeTime ( float T ) const


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


description: Called after system compilation completes. Useful for caching any constant, compile dependent data.

code: virtual void PostCompile()


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


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


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


description: Remap a 0 to 1 value between the first and last keys to a real sample time for this curve.

code: float UnnormalizeTime ( float T ) const


code: void UpdateLUT ( bool bFromSerialize )


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


className: UNiagaraDataInterfaceCurveBase

description: Base class for curve data interfaces which facilitates handling the curve data in a standardized way.

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

bExposeCurve

type: uint32:  1

description: Generates a texture for the curve which can be exposed to material bindings.

bOptimizeLUT

description: Do we optimize the LUT, this saves memory but may introduce errors.

CurveAsset

type: TObjectPtr<UCu...

ExposedName

description: Sets a custom name for the binding to make it easier to identify.

ExposedTexture

type: TObjectPtr< cla...

description: The texture generated and exposed to materials, will be nullptr if we do not expose to the renderers.

OptimizeThreshold

description: Threshold used to optimize the LUT.

ShaderLUT

type: TArray< float >


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


code: virtual void ExportData ( 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: 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 )


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: Returns true if the DI (owned by OwnerEmitter) reads any attributes from the Provider emitter

code: virtual bool HasInternalAttributeReads ( const [UNiagaraEmitter](API\Plugins\Niagara\UNiagaraEmitter) * OwnerEmitter, const [UNiagaraEmitter](API\Plugins\Niagara\UNiagaraEmitter) * Provider ) const


code: virtual bool HasPostSimulateTick() 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) * 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: When set to true the simulation may not complete in the same frame it started, allowing maximum overlap with the GameThread. You must override and set to false if you require the data interface to complete before PostActorTick completes.

code: virtual bool PostSimulateCanOverlapFrames() 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: virtual void StoreData ( FVectorVMExternalFunctionContext & Context )


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


className: UNiagaraDataInterfaceExport

description: This Data Interface can be used to gather particles at execution time and call either a C++ or blueprint object with the gathered particle data each tick.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Export", Meta=(DisplayName="Export particle data"), MinimalAPI) class UNiagaraDataInterfaceExport : public [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface)

CallbackHandlerParameter

description: Reference to a user parameter that should receive the particle data after the simulation tick.

GPUAllocationFixedSize

type: int

description: Reserve a fixed number of elements we can write per frame.

GPUAllocationPerParticleSize

description: Uses the emitter property particle count * this to determine the number of elements we reserve for write per frame.


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


code: virtual bool Equals ( const [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface) * Other ) 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: VM functionality.

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


description: GPU sim functionality.

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 )


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

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


description: 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: UNiagaraDataInterfaceGrid2D ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: AnonymousAttributeString

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


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

ClearBeforeNonIterationStage

description: Option to clear the buffer prior to a stage where the iteration count does not match the grid resolution.

NumAttributes

description: Number of Attributes.

NumCellsMaxAxis

description: Number of cells on the longest axis.

NumCellsX

description: Number of cells in X.

NumCellsY

description: Number of cells in Y.

SetGridFromMaxAxis

description: Set grid resolution according to longest axis.

WorldBBoxSize

description: World size of the grid.


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


className: AttributeIndicesBaseName

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


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: static bool CanCreateVarFromFuncName ( const [FName](API\Runtime\Core\UObject\FName) & FuncName )


code: virtual bool CanExposeVariables() const


code: virtual bool CanRenderVariablesToCanvas() const


className: ClearCellFunctionName

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


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


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


description: Optional storage that can be created per shader when not in legacy binding mode. This can be used to store information about the compilation state to avoid doing runtime checks / look-ups.

code: virtual [FNiagaraDataInterfaceParametersCS](API\Plugins\NiagaraCore\FNiagaraDataInterfaceParametersC-) * CreateShaderStorage ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParameterInfo, const [FShaderParameterMap](API\Runtime\RenderCore\FShaderParameterMap) & ParameterMap ) 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: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category=Niagara, Meta=(DeprecatedFunction, DeprecationMessage="This function has been replaced by object user variables on the emitter to specify render targets to fill with data.")) virtual bool FillRawTexture2D ( const [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * Component, [UTextureRenderTarget2D](API\Runtime\Engine\Engine\UTextureRenderTarget2D) * Dest, int & TilesX, int & TilesY )


description: Fills a texture render target 2d with the current data from the simulation #todo(dmp): this will eventually go away when we formalize how data makes it out of Niagara

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category=Niagara, Meta=(DeprecatedFunction, DeprecationMessage="This function has been replaced by object user variables on the emitter to specify render targets to fill with data.")) virtual bool FillTexture2D ( const [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * Component, [UTextureRenderTarget2D](API\Runtime\Engine\Engine\UTextureRenderTarget2D) * dest, int AttributeIndex )


description: Finds all attributes by locating the data interface amongst the parameter stores.

code: void FindAttributes ( [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraVariableBase](API\Plugins\Niagara\FNiagaraVariableBase) > & OutVariables, [TArray](API\Runtime\Core\Containers\TArray)< uint32 > & OutVariableOffsets, int32 & OutNumAttribChannelsFound, [TArray](API\Runtime\Core\Containers\TArray)< [FText](API\Runtime\Core\Internationalization\FText) > * OutWarnings ) const


description: Generate the necessary plumbing HLSL at the beginning of the stage where this is used as a sim stage iteration source. Note that this should inject other internal calls using the CustomHLSL node syntax. See GridCollection2D for an example.

code: virtual bool GenerateIterationSourceNamespaceReadAttributesHLSL ( [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & DIInstanceInfo, const [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) & InIterationSourceVariable, TConstArrayView< [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) > InArguments, TConstArrayView< [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) > InAttributes, TConstArrayView< [FString](API\Runtime\Core\Containers\FString) > InAttributeHLSLNames, bool bInSetToDefaults, bool bSpawnOnly, bool bPartialWrites, [TArray](API\Runtime\Core\Containers\TArray)< [FText](API\Runtime\Core\Internationalization\FText) > & OutErrors, [FString](API\Runtime\Core\Containers\FString) & OutHLSL ) const


description: Generate the necessary plumbing HLSL at the end of the stage where this is used as a sim stage iteration source. Note that this should inject other internal calls using the CustomHLSL node syntax. See GridCollection2D for an example.

code: virtual bool GenerateIterationSourceNamespaceWriteAttributesHLSL ( [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & DIInstanceInfo, const [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) & InIterationSourceVariable, TConstArrayView< [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) > InArguments, TConstArrayView< [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) > InAttributes, TConstArrayView< [FString](API\Runtime\Core\Containers\FString) > InAttributeHLSLNames, TConstArrayView< [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) > InAllAttributes, bool bSpawnOnly, bool bPartialWrites, [TArray](API\Runtime\Core\Containers\TArray)< [FText](API\Runtime\Core\Internationalization\FText) > & OutErrors, [FString](API\Runtime\Core\Containers\FString) & OutHLSL ) const


description: Generate the necessary HLSL to tear down data when being added as a sim stage sim source.

code: virtual bool GenerateTeardownHLSL ( [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & DIInstanceInfo, TConstArrayView< [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) > InArguments, bool bSpawnOnly, bool bPartialWrites, [TArray](API\Runtime\Core\Containers\TArray)< [FText](API\Runtime\Core\Internationalization\FText) > & OutErrors, [FString](API\Runtime\Core\Containers\FString) & OutHLSL ) const


description: Generate the necessary HLSL to set up data when being added as a sim stage sim source.

code: virtual bool GenerateSetupHLSL ( [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & DIInstanceInfo, TConstArrayView< [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) > InArguments, bool bSpawnOnly, bool bPartialWrites, [TArray](API\Runtime\Core\Containers\TArray)< [FText](API\Runtime\Core\Internationalization\FText) > & OutErrors, [FString](API\Runtime\Core\Containers\FString) & OutHLSL ) const


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


code: static int32 GetComponentCountFromFuncName ( const [FName](API\Runtime\Core\UObject\FName) & FuncName )


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


code: virtual bool GetExposedVariableValue ( const [FNiagaraVariableBase](API\Plugins\Niagara\FNiagaraVariableBase) & InVariable, void * InPerInstanceData, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * InSystemInstance, void * OutData ) 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: [FString](API\Runtime\Core\Containers\FString) GenerateAttributeIndexHLSL ( const [FNiagaraDataInterfaceRWAttributeHelper](API\Plugins\Niagara\FNiagaraDataInterfaceRWAttribute-) & AttributeHelper, const [FNiagaraDataInterfaceGeneratedFunction](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGeneratedFu-) & FunctionInfo )


className: GetFloatAttributeIndexFunctionName

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


className: GetFloatValueFunctionName

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


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 FIntVector GetGpuDispatchNumThreads() const


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


description: GPU sim functionality.

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


className: GetPreviousFloatValueFunctionName

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


className: GetPreviousValueAtIndexFunctionName

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


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


className: GetPreviousVectorValueFunctionName

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


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


description: If we create shader storage we must also supply the type of the storage so we understand how to serialize it. This function effectively returns &StaticGetTypeLayoutDesc().

code: virtual const [FTypeLayoutDesc](API\Runtime\Core\Serialization\FTypeLayoutDesc) * GetShaderStorageType() const


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category=Niagara, Meta=(DeprecatedFunction, DeprecationMessage="This function has been replaced by object user variables on the emitter to specify render targets to fill with data.")) virtual void GetRawTextureSize ( const [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * Component, int & SizeX, int & SizeY )


className: GetValueFunctionName

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


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category=Niagara) virtual void GetTextureSize ( const [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * Component, int & SizeX, int & SizeY )


code: static [FNiagaraTypeDefinition](API\Plugins\Niagara\FNiagaraTypeDefinition) GetValueTypeFromFuncName ( const [FName](API\Runtime\Core\UObject\FName) & FuncName )


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


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


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


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


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


className: GetVectorAttributeIndexFunctionName

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


description: Returns the delegate for the passed function signature.

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


className: GridName

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


code: virtual bool HasPostSimulateTick() 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 )


className: OutputGridName

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


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


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


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 RenderVariableToCanvas ( [FNiagaraSystemInstanceID](API\Plugins\NiagaraCore\FNiagaraSystemInstanceID) SystemInstanceID, [FName](API\Runtime\Core\UObject\FName) VariableName, class [FCanvas](API\Runtime\Engine\FCanvas) * Canvas, const FIntRect & DrawRect ) const


className: SampleGridFloatFunctionName

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


className: SampleGridFunctionName

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


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


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


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


className: SamplePreviousGridAtIndexFunctionName

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


className: SamplePreviousGridVectorFunctionName

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


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


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