className: SamplePreviousGridFloatFunctionName

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


className: SamplerName

module: Niagara

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


className: SetFloatValueFunctionName

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


className: SetNumCellsFunctionName

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


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


className: SetValueAtIndexFunctionName

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


className: SetValueFunctionName

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


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


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


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


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


className: SetVectorValueFunctionName

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


description: Can this data interface be used as a StackContext parameter map replacement when being used as a sim stage iteration source?

code: virtual bool SupportsIterationSourceNamespaceAttributesHLSL() const


description: Does this data interface need setup and teardown for each stage when working a sim stage sim source?

code: virtual bool SupportsSetupAndTeardownHLSL() const


code: const TCHAR * TypeDefinitionToHLSLTypeString ( const [FNiagaraTypeDefinition](API\Plugins\Niagara\FNiagaraTypeDefinition) & InDef ) const


code: [FName](API\Runtime\Core\UObject\FName) TypeDefinitionToGetFunctionName ( const [FNiagaraTypeDefinition](API\Plugins\Niagara\FNiagaraTypeDefinition) & InDef ) const


code: [FName](API\Runtime\Core\UObject\FName) TypeDefinitionToSetFunctionName ( const [FNiagaraTypeDefinition](API\Plugins\Niagara\FNiagaraTypeDefinition) & InDef ) 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 )


className: VectorComponentNames

code: static const TCHAR * VectorComponentNames = { TEXT(".x"), TEXT(".y"), TEXT(".z"), TEXT(".w") };


code: void VMGetCellSize ( FVectorVMExternalFunctionContext & Context )


code: void VMGetNumCells ( FVectorVMExternalFunctionContext & Context )


code: void VMGetWorldBBoxSize ( FVectorVMExternalFunctionContext & Context )


code: void VMSetNumCells ( FVectorVMExternalFunctionContext & Context )


code: void WriteAttributeGetIndexHLSL ( const [FNiagaraDataInterfaceRWAttributeHelper](API\Plugins\Niagara\FNiagaraDataInterfaceRWAttribute-) & AttributeHelper, const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, const [FNiagaraDataInterfaceGeneratedFunction](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGeneratedFu-) & FunctionInfo, int FunctionInstanceIndex, int32 InNumChannels, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


code: void WriteGetHLSL ( const [FNiagaraDataInterfaceRWAttributeHelper](API\Plugins\Niagara\FNiagaraDataInterfaceRWAttribute-) & AttributeHelper, const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, const [FNiagaraDataInterfaceGeneratedFunction](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGeneratedFu-) & FunctionInfo, int FunctionInstanceIndex, int32 InNumChannels, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


code: void WriteSampleHLSL ( const [FNiagaraDataInterfaceRWAttributeHelper](API\Plugins\Niagara\FNiagaraDataInterfaceRWAttribute-) & AttributeHelper, const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, const [FNiagaraDataInterfaceGeneratedFunction](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGeneratedFu-) & FunctionInfo, int FunctionInstanceIndex, int32 InNumChannels, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


code: void WriteSetHLSL ( const [FNiagaraDataInterfaceRWAttributeHelper](API\Plugins\Niagara\FNiagaraDataInterfaceRWAttribute-) & AttributeHelper, const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, const [FNiagaraDataInterfaceGeneratedFunction](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGeneratedFu-) & FunctionInfo, int FunctionInstanceIndex, int32 InNumChannels, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Grid", CollapseCategories, Meta=(DisplayName="Grid2D Collection"), Blueprintable, BlueprintType, MinimalAPI) class UNiagaraDataInterfaceGrid2DCollection : public [UNiagaraDataInterfaceGrid2D](API\Plugins\Niagara\UNiagaraDataInterfaceGrid2D)

bOverrideFormat

type: uint8:  1

bUseIndirection

type: bool

description: Only used with CDO for hlsl generation.

ManagedRenderTargets

type: TMap< uint64,T...

OverrideBufferFormat

type: ENiagaraGpuBuff...

description: When enabled overrides the format used to store data inside the grid, otherwise uses the project default setting.

PreviewAttribute

type: FName

RenderTargetUserParameter

type: FNiagaraUserPar...

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

type: TMap<FNiagaraS...


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


code: void VMGetAttributeIndex ( FVectorVMExternalFunctionContext & Context, const [FName](API\Runtime\Core\UObject\FName) & InName, int32 NumChannels )


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

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


description: Allows a DI to specify data dependencies between emitters, so the system can ensure that the emitter instances are executed in the correct order. The Dependencies array may already contain items, and this method should only append to it.

code: virtual void GetEmitterDependencies ( [UNiagaraSystem](API\Plugins\Niagara\UNiagaraSystem) * Asset, [TArray](API\Runtime\Core\Containers\TArray)< [FVersionedNiagaraEmitter](API\Plugins\Niagara\FVersionedNiagaraEmitter) > & Dependencies ) const


description: VM functionality.

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 bool PerInstanceTickPostSimulate ( void * PerInstanceData, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance, float DeltaSeconds )


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


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


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: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Grid", CollapseCategories, HideCategories=(Grid2DCollection, Grid, Deprecated), Meta=(DisplayName="Grid2D Collection Reader", Experimental), Blueprintable, BlueprintType, MinimalAPI) class UNiagaraDataInterfaceGrid2DCollectionReader : public [UNiagaraDataInterfaceGrid2DCollection](API\Plugins\Niagara\UNiagaraDataInterfaceGrid2DColle-)

DIName

type: FString

description: Name of the Grid2DCollection Data Interface on the emitter.

EmitterName

description: Name of the emitter to read from.


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: GPU sim functionality.

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


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

CellSize

type: float

description: World space size of a cell.

ClearBeforeNonIterationStage

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

NumCells

type: FIntVector

description: Number of cells.

NumCellsMaxAxis

description: Number of cells on the longest axis.

SetResolutionMethod

type: ESetResolutionM...

description: Method for setting the grid resolution.

WorldBBoxSize

type: FVector

description: World size of the grid.


className: AnonymousAttributeString

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


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


className: ClearCellFunctionName

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


code: static void CollectAttributesForScript ( [UNiagaraScript](API\Plugins\Niagara\UNiagaraScript) * Script, const [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface) * DataInterface, [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraVariableBase](API\Plugins\Niagara\FNiagaraVariableBase) > & OutVariables, [TArray](API\Runtime\Core\Containers\TArray)< uint32 > & OutVariableOffsets, int32 & TotalAttributes, [TArray](API\Runtime\Core\Containers\TArray)< [FText](API\Runtime\Core\Internationalization\FText) > * OutWarnings )


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


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


className: CubicSampleGridFunctionName

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


className: CubicSamplePreviousFullGridFunctionName

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


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


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


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


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


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


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


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


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


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


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: [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 FillRawVolumeTexture ( const [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * Component, [UVolumeTexture](API\Runtime\Engine\Engine\UVolumeTexture) * Dest, int & TilesX, int & TilesY, int & TileZ )


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 #todo(dmp): reimplement for 3d

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 FillVolumeTexture ( const [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * Component, [UVolumeTexture](API\Runtime\Engine\Engine\UVolumeTexture) * 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 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


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


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 )


className: GetFloatAttributeIndexFunctionName

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


className: GetFullGridPreviousValueFunctionName

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


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 [ENiagaraGpuDispatchType](API\Plugins\NiagaraShader\ENiagaraGpuDispatchType) GetGpuDispatchType() const


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: static const [FName](API\Runtime\Core\UObject\FName) GetPreviousFloatValueAtIndexFunctionName;


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) GetPreviousVector4ValueAtIndexFunctionName;


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


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


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;


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


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) virtual void GetTextureSize ( const [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * Component, int & SizeX, int & SizeY, int & SizeZ )


className: GetValueFunctionName

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


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) GetVector4AttributeIndexFunctionName;


className: GetVectorAttributeIndexFunctionName

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


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

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


className: OneOverNumTilesName

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


className: OutputGridName

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


className: PerAttributeDataName

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


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: This will not be called if PerInstanceDataPassedToRenderThreadSize is 0.

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


className: SampleGridFunctionName

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


className: SamplePreviousFullGridFunctionName

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


className: SamplePreviousGridAtIndexFunctionName

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


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


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


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


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


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


className: SamplePreviousGridVectorFunctionName

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


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


className: SamplePreviousGridFloatFunctionName

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


className: SamplerName

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


className: SetFloatValueAtIndexFunctionName

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


className: SetFullGridValueFunctionName

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


className: SetFloatValueFunctionName

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


className: SetNumCellsFunctionName

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


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


className: SetValueFunctionName

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


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


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


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


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


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


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


description: GPU sim functionality.

code: virtual bool ShouldCompile ( EShaderPlatform ShaderPlatform ) const


description: Can this data interface be used as a StackContext parameter map replacement when being used as a sim stage iteration source?

code: virtual bool SupportsIterationSourceNamespaceAttributesHLSL() const


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


description: Does this data interface need setup and teardown for each stage when working a sim stage sim source?

code: virtual bool SupportsSetupAndTeardownHLSL() const


code: const TCHAR * TypeDefinitionToHLSLTypeString ( const [FNiagaraTypeDefinition](API\Plugins\Niagara\FNiagaraTypeDefinition) & InDef ) const


className: TemplateShaderFilePath

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


code: [FName](API\Runtime\Core\UObject\FName) TypeDefinitionToGetFunctionName ( const [FNiagaraTypeDefinition](API\Plugins\Niagara\FNiagaraTypeDefinition) & InDef ) const


className: SetVectorValueFunctionName

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


code: [FName](API\Runtime\Core\UObject\FName) TypeDefinitionToSetFunctionName ( const [FNiagaraTypeDefinition](API\Plugins\Niagara\FNiagaraTypeDefinition) & InDef ) const


code: [FName](API\Runtime\Core\UObject\FName) TypeDefinitionToAttributeIndexFunctionName ( const [FNiagaraTypeDefinition](API\Plugins\Niagara\FNiagaraTypeDefinition) & InDef ) const


className: UnitClampMaxName

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


className: UnitClampMinName

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


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 )


className: VectorComponentNames

code: static const TCHAR * VectorComponentNames = { TEXT(".x"), TEXT(".y"), TEXT(".z"), TEXT(".w") };


code: void VMGetCellSize ( FVectorVMExternalFunctionContext & Context )


code: void VMGetAttributeIndex ( FVectorVMExternalFunctionContext & Context, const [FName](API\Runtime\Core\UObject\FName) & InName, int32 NumChannels )


code: void VMGetWorldBBoxSize ( FVectorVMExternalFunctionContext & Context )


code: void VMGetNumCells ( FVectorVMExternalFunctionContext & Context )


code: void VMSetNumCells ( FVectorVMExternalFunctionContext & Context )


code: void VMUnitToFloatIndex ( FVectorVMExternalFunctionContext & Context )


code: void WriteAttributeGetIndexHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, const [FNiagaraDataInterfaceGeneratedFunction](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGeneratedFu-) & FunctionInfo, int FunctionInstanceIndex, int32 InNumChannels, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


code: void WriteGetAtIndexHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, const [FNiagaraDataInterfaceGeneratedFunction](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGeneratedFu-) & FunctionInfo, int32 InNumChannels, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


code: void WriteGetHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, const [FNiagaraDataInterfaceGeneratedFunction](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGeneratedFu-) & FunctionInfo, int FunctionInstanceIndex, int32 InNumChannels, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


code: void WriteSampleAtIndexHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, const [FNiagaraDataInterfaceGeneratedFunction](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGeneratedFu-) & FunctionInfo, int32 InNumChannels, [FString](API\Runtime\Core\Containers\FString) SampleFunction, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


code: void WriteSampleHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, const [FNiagaraDataInterfaceGeneratedFunction](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGeneratedFu-) & FunctionInfo, int FunctionInstanceIndex, int32 InNumChannels, [FString](API\Runtime\Core\Containers\FString) SampleFunction, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


code: void WriteSetAtIndexHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, const [FNiagaraDataInterfaceGeneratedFunction](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGeneratedFu-) & FunctionInfo, int32 InNumChannels, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


code: void WriteSetHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, const [FNiagaraDataInterfaceGeneratedFunction](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGeneratedFu-) & FunctionInfo, int FunctionInstanceIndex, int32 InNumChannels, [FString](API\Runtime\Core\Containers\FString) & OutHLSL )


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


code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Grid", CollapseCategories, Meta=(DisplayName="Grid3D Collection"), Blueprintable, BlueprintType, MinimalAPI) class UNiagaraDataInterfaceGrid3DCollection : public [UNiagaraDataInterfaceGrid3D](API\Plugins\Niagara\UNiagaraDataInterfaceGrid3D)

NumAttributes

description: Number of attributes stored on the grid.

OverrideBufferFormat

description: When enabled overrides the format used to store data inside the grid, otherwise uses the project default setting.

RenderTargetUserParameter

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


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

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


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


description: Allows a DI to specify data dependencies between emitters, so the system can ensure that the emitter instances are executed in the correct order. The Dependencies array may already contain items, and this method should only append to it.

code: virtual void GetEmitterDependencies ( [UNiagaraSystem](API\Plugins\Niagara\UNiagaraSystem) * Asset, [TArray](API\Runtime\Core\Containers\TArray)< [FVersionedNiagaraEmitter](API\Plugins\Niagara\FVersionedNiagaraEmitter) > & Dependencies ) const


description: VM functionality.

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


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


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


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


code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Grid", CollapseCategories, HideCategories=(Grid3DCollection, Grid, Deprecated), Meta=(DisplayName="Grid3D Collection Reader"), Blueprintable, BlueprintType, MinimalAPI) class UNiagaraDataInterfaceGrid3DCollectionReader : public [UNiagaraDataInterfaceGrid3DCollection](API\Plugins\Niagara\UNiagaraDataInterfaceGrid3DColle-)

DIName

description: Name of the Grid2DCollection Data Interface on the emitter.

EmitterName

description: Name of the emitter to read from.


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

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


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

code: virtual bool CanBeInCluster() const


description: 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 CanExposeVariables() const


description: Destroys the per instance data for this interface.

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


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


className: bIsStoredInConstantBuffer

code: static bIsStoredInConstantBuffer = true;


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


className: FileLine

code: static FileLine = builtin_LINE();


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

RWTextureUAV

type: TShaderResource...

TextureSizeAndInvSize

type: TShaderParamete...


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


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


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

code: virtual int32 PerInstanceDataSize() const


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


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

code: virtual void PostInitProperties()


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

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


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

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


code: bool UpdateInstanceTexture ( [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance, struct FNDIIntRenderTarget2DInstanceData_GameThread * InstanceData )


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

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


code: void VMGetSize ( FVectorVMExternalFunctionContext & Context )


code: void VMSetSize ( FVectorVMExternalFunctionContext & Context )


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


code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Render Target", CollapseCategories, Meta=(DisplayName="Integer Render Target 2D", Experimental), Blueprintable, BlueprintType, MinimalAPI) class UNiagaraDataInterfaceIntRenderTarget2D : public [UNiagaraDataInterfaceRWBase](API\Plugins\Niagara\UNiagaraDataInterfaceRWBase)

PreviewDisplayRange

description: The range to normaliez the preview display to.

Size

type: FIntPoint


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


code: void ApplyLandscape ( const [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) & SystemInstance, FNDILandscapeData_GameThread & InstanceData ) const


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


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


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


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


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


className: GetBaseColorName

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


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


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


className: GetHeightName

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


description: GPU sim functionality.

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


code: [ALandscape](API\Runtime\Landscape\ALandscape) * GetLandscape ( const [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) & SystemInstance, FNDILandscapeData_GameThread & Hint ) const


className: GetPhysicalMaterialIndexName

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


className: GetWorldNormalName

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


code: virtual bool HasPreSimulateTick() const


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


code: virtual int32 PerInstanceDataSize() const


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

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


code: virtual void PostInitProperties()


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


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


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


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


className: UNiagaraDataInterfaceLandscape

description: Data Interface allowing sampling of a Landscape

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

PhysicalMaterials

type: TArray<TObject...

SourceLandscape

type: TObjectPtr<AAc...


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


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

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


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


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: [UNiagaraMeshRendererProperties](API\Plugins\Niagara\UNiagaraMeshRendererProperties) * GetMeshRenderer() const


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


code: void OnMeshRendererChanged ( [UNiagaraMeshRendererProperties](API\Plugins\Niagara\UNiagaraMeshRendererProperties) * NewMeshRenderer )


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

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


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: virtual void SetShaderParameters ( const [FNiagaraDataInterfaceSetShaderParametersContext](API\Plugins\Niagara\FNiagaraDataInterfaceSetShaderPa-) & Context ) const


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


code: void VMGetNumMeshes ( FVectorVMExternalFunctionContext & Context )


code: void VMGetMeshLocalBounds ( FVectorVMExternalFunctionContext & Context )


code: void VMGetSubUVDetails ( FVectorVMExternalFunctionContext & Context )


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


className: UNiagaraDataInterfaceMeshRendererInfo

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

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

CachedMeshData

type: TArray<FMeshDa...

MeshRenderer

type: TObjectPtr<UNi...

description: The name of the mesh renderer

OnMeshRendererChangedHandle

type: FDelegateHandle


description: GPU sim functionality.

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


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

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


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


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


className: zzMemberIdMaxNeighborsPerCellValue


className: zzMemberIdOutputParticleNeighbors


className: zzMemberIdOutputParticleNeighborCount


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 )


description: VM functionality.

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


code: void GetMaxNeighborsPerCell ( FVectorVMExternalFunctionContext & Context )


code: void GetNumCells ( FVectorVMExternalFunctionContext & Context )


description: GPU sim functionality.

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


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


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: This will not be called if PerInstanceDataPassedToRenderThreadSize is 0.

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


code: void SetNumCells ( FVectorVMExternalFunctionContext & Context )


className: SetNumCellsFunctionName

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


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

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


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

code: virtual bool ShouldCompile ( EShaderPlatform ShaderPlatform ) const


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


code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Grid", CollapseCategories, Meta=(DisplayName="Neighbor Grid3D"), MinimalAPI) class UNiagaraDataInterfaceNeighborGrid3D : public [UNiagaraDataInterfaceGrid3D](API\Plugins\Niagara\UNiagaraDataInterfaceGrid3D)


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


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


className: bIsStoredInConstantBuffer

code: static bIsStoredInConstantBuffer = true;


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


className: zzMemberFunc

code: typedef zzFuncPtr(&42; zzMemberFunc


className: zzMemberIdCloudVolumetricTextureSampler


className: zzTThisStruct

code: typedef FShaderParameters zzTThisStruct


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


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 )


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


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

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


code: virtual void PostInitProperties()


code: virtual bool RequiresDepthBuffer() const


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


className: UNiagaraDataInterfaceOcclusion

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


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


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


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


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


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


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


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


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

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


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


code: static bIsStoredInConstantBuffer = true;


className: FileLine

code: static FileLine = builtin_LINE();


code: static FileName = builtin_FILE();


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


code: static NumElements = 0;


description: GetStructMetadata()

code: struct FTypeInfo


code: typedef FShaderParameters TAlignedType


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


code: typedef void &42; zzFuncPtr


code: typedef zzFuncPtr(&42; zzMemberFunc


className: zzMemberIdAcquireTagRegisterIndex


className: zzMemberIdSpawnedParticlesAcquireTag


code: typedef FShaderParameters zzTThisStruct


code: class FShaderParameters


description: Allows a DI to specify data dependencies between emitters, so the system can ensure that the emitter instances are executed in the correct order. The Dependencies array may already contain items, and this method should only append to it.

code: virtual void GetEmitterDependencies ( [UNiagaraSystem](API\Plugins\Niagara\UNiagaraSystem) * Asset, [TArray](API\Runtime\Core\Containers\TArray)< [FVersionedNiagaraEmitter](API\Plugins\Niagara\FVersionedNiagaraEmitter) > & Dependencies ) const


code: virtual void GetEmitterReferencesByName ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & EmitterReferences ) const


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

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


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


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


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


code: void GetNumParticles ( FVectorVMExternalFunctionContext & Context )


code: void GetNumSpawnedParticles ( FVectorVMExternalFunctionContext & Context )


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


code: void GetParticleIndex ( FVectorVMExternalFunctionContext & Context )


code: void GetParticleIndexFromIDTable ( FVectorVMExternalFunctionContext & Context )


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


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


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 InitPerInstanceData ( void * PerInstanceData, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance )


code: virtual int32 PerInstanceDataSize() const


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

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


code: virtual void PostInitProperties()


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


code: void ReadBool ( FVectorVMExternalFunctionContext & Context, [FName](API\Runtime\Core\UObject\FName) AttributeToRead )


code: void ReadBoolByIndex ( FVectorVMExternalFunctionContext & Context, [FName](API\Runtime\Core\UObject\FName) AttributeToRead )


code: void ReadColor ( FVectorVMExternalFunctionContext & Context, [FName](API\Runtime\Core\UObject\FName) AttributeToRead )


code: void ReadColorByIndex ( FVectorVMExternalFunctionContext & Context, [FName](API\Runtime\Core\UObject\FName) AttributeToRead )


code: void ReadFloat ( FVectorVMExternalFunctionContext & Context, [FName](API\Runtime\Core\UObject\FName) AttributeToRead )


code: void ReadFloatByIndex ( FVectorVMExternalFunctionContext & Context, [FName](API\Runtime\Core\UObject\FName) AttributeToRead )


code: void ReadID ( FVectorVMExternalFunctionContext & Context, [FName](API\Runtime\Core\UObject\FName) AttributeToRead )


code: void ReadIDByIndex ( FVectorVMExternalFunctionContext & Context, [FName](API\Runtime\Core\UObject\FName) AttributeToRead )


code: void ReadIntByIndex ( FVectorVMExternalFunctionContext & Context, [FName](API\Runtime\Core\UObject\FName) AttributeToRead )


code: void ReadInt ( FVectorVMExternalFunctionContext & Context, [FName](API\Runtime\Core\UObject\FName) AttributeToRead )


code: void ReadPosition ( FVectorVMExternalFunctionContext & Context, [FName](API\Runtime\Core\UObject\FName) AttributeToRead )


code: void ReadPositionByIndex ( FVectorVMExternalFunctionContext & Context, [FName](API\Runtime\Core\UObject\FName) AttributeToRead )


code: void ReadQuat ( FVectorVMExternalFunctionContext & Context, [FName](API\Runtime\Core\UObject\FName) AttributeToRead )


code: void ReadQuatByIndex ( FVectorVMExternalFunctionContext & Context, [FName](API\Runtime\Core\UObject\FName) AttributeToRead )


code: void ReadVector2 ( FVectorVMExternalFunctionContext & Context, [FName](API\Runtime\Core\UObject\FName) AttributeToRead )


code: void ReadVector2ByIndex ( FVectorVMExternalFunctionContext & Context, [FName](API\Runtime\Core\UObject\FName) AttributeToRead )


code: void ReadVector3 ( FVectorVMExternalFunctionContext & Context, [FName](API\Runtime\Core\UObject\FName) AttributeToRead )


code: void ReadVector3ByIndex ( FVectorVMExternalFunctionContext & Context, [FName](API\Runtime\Core\UObject\FName) AttributeToRead )


code: void ReadVector4ByIndex ( FVectorVMExternalFunctionContext & Context, [FName](API\Runtime\Core\UObject\FName) AttributeToRead )


code: void ReadVector4 ( FVectorVMExternalFunctionContext & Context, [FName](API\Runtime\Core\UObject\FName) AttributeToRead )


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


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


code: void VMGetLocalSpace ( FVectorVMExternalFunctionContext & Context )


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


className: UNiagaraDataInterfaceParticleRead

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="ParticleRead", CollapseCategories, Meta=(DisplayName="Particle Attribute Reader"), MinimalAPI) class UNiagaraDataInterfaceParticleRead : public [UNiagaraDataInterfaceRWBase](API\Plugins\Niagara\UNiagaraDataInterfaceRWBase)


description: GPU simulation 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 ETickingGroup CalculateTickGroup ( const void * PerInstanceData ) const


description: Copy one niagara DI to this

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


description: Destroys the per instance data for this interface.

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


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


description: Extract the source component

code: void ExtractSourceComponent ( [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance, FTransform & LocalTransform )


description: Get the closest distance

code: void GetClosestDistance ( FVectorVMExternalFunctionContext & Context )


description: Get the closest element

code: void GetClosestElement ( FVectorVMExternalFunctionContext & Context )


description: Get the closest point

code: void GetClosestPoint ( FVectorVMExternalFunctionContext & Context )


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


description: Get the element distance

code: void GetElementDistance ( FVectorVMExternalFunctionContext & Context )


description: Get the element point

code: void GetElementPoint ( 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: UNiagaraDataInterfaceInterface

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


description: Get the number of boxes

code: void GetNumBoxes ( FVectorVMExternalFunctionContext & Context )


description: Get the number of capsules

code: void GetNumCapsules ( FVectorVMExternalFunctionContext & Context )


description: Get the number of spheres

code: void GetNumSpheres ( FVectorVMExternalFunctionContext & Context )


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


description: Get the projection point

code: void GetProjectionPoint ( FVectorVMExternalFunctionContext & Context )


description: Get the closest texture point

code: void GetTexturePoint ( FVectorVMExternalFunctionContext & Context )


description: Returns the delegate for the passed function signature.

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


code: virtual bool HasPreSimulateTick() const


code: virtual bool HasTickGroupPrereqs() const


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

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


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

code: virtual void PostInitProperties()


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

code: virtual void PostLoad()


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

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


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


className: UNiagaraDataInterfacePhysicsAsset

description: Data Interface for interacting with PhysicsAssets

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

DefaultSource

type: TObjectPtr<UPh...

description: Skeletal Mesh from which the Physics Asset will be found.

MeshUserParameter

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

PhysicsAssets

type: TArray<TWeakOb...

description: The source asset from which to sample

SoftSourceActor

type: TSoftObjectPtr<...

description: The source actor from which to sample

SourceComponents

description: The source component from which to sample


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


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


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


className: UNiagaraDataInterfacePlatformSet

description: Data Interface allowing querying of the current platform set.

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

Platforms

type: FNiagaraPlatfor...


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


description: Destroys the per instance data for this interface.

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


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.


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 [ENiagaraGpuDispatchType](API\Plugins\NiagaraShader\ENiagaraGpuDispatchType) GetGpuDispatchType() 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: GPU sim functionality.

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


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


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


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

code: virtual bool ShouldCompile ( EShaderPlatform ShaderPlatform ) const


code: void VMGetNumCells ( FVectorVMExternalFunctionContext & Context )


code: void VMSetFloatResetValue ( FVectorVMExternalFunctionContext & Context )


code: void VMSetNumAttributes ( FVectorVMExternalFunctionContext & Context )


code: void VMSetNumCells ( FVectorVMExternalFunctionContext & Context )


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


code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Grid", CollapseCategories, Meta=(DisplayName="Rasterization Grid3D"), MinimalAPI) class UNiagaraDataInterfaceRasterizationGrid3D : public [UNiagaraDataInterfaceGrid3D](API\Plugins\Niagara\UNiagaraDataInterfaceGrid3D)

NumAttributes

description: Number of attributes stored on the grid.

ResetValue

type: int


description: GPU sim functionality.

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


description: VM functionality.

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


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


code: virtual bool CanExposeVariables() const


code: virtual bool CanRenderVariablesToCanvas() const


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


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


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


code: virtual void GetCanvasVariables ( [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraVariableBase](API\Plugins\Niagara\FNiagaraVariableBase) > & OutVariables ) 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


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


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


code: virtual bool HasPreSimulateTick() const


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


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


code: virtual void PostInitProperties()


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

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


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


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

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


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

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


code: void VMGetNumMipLevels ( FVectorVMExternalFunctionContext & Context )


code: void VMGetSize ( FVectorVMExternalFunctionContext & Context )


code: void VMSetFormat ( FVectorVMExternalFunctionContext & Context )


code: void VMSetSize ( FVectorVMExternalFunctionContext & Context )


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


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

bInheritUserParameterSettings

type: uint8:  1

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

MipMapGeneration

type: ENiagaraMipMapG...

description: Controls if and when we generate mips for the render target.

OverrideRenderTargetFilter

type: TEnumAsByte< Te...

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

OverrideRenderTargetFormat

type: TEnumAsByte< ET...

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

RenderTargetUserParameter

type: FNiagaraUserPar...

type: TMap<FNiagaraS...


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: VM functionality.

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


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


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

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


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


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


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

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


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


code: 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) * SystemInstance )


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


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

code: virtual void PostInitProperties()


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


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


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


code: void VMGetNumMipLevels ( FVectorVMExternalFunctionContext & Context )


code: void VMGetSize ( FVectorVMExternalFunctionContext & Context )


code: void VMSetFormat ( FVectorVMExternalFunctionContext & Context )


code: void VMSetSize ( FVectorVMExternalFunctionContext & Context )


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


code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Rendering", CollapseCategories, Meta=(DisplayName="Render Target 2D Array"), Blueprintable, BlueprintType, MinimalAPI) class UNiagaraDataInterfaceRenderTarget2DArray : public [UNiagaraDataInterfaceRWBase](API\Plugins\Niagara\UNiagaraDataInterfaceRWBase)

Size

type: FIntVector


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

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