Navigation
Unreal Engine C++ API Reference > Plugins > Niagara
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UNiagaraMergeable
- UNiagaraDataInterfaceBase
- UNiagaraDataInterface
- UNiagaraDataInterface2DArrayTexture
- UNiagaraDataInterfaceAsyncGpuTrace
- UNiagaraDataInterfaceAudioOscilloscope
- UNiagaraDataInterfaceAudioPlayer
- UNiagaraDataInterfaceAudioSubmix
- UNiagaraDataInterfaceAudioSpectrum
- UNiagaraDataInterfaceCamera
- UNiagaraDataInterfaceChaosDestruction
- UNiagaraDataInterfaceCollisionQuery
- UNiagaraDataInterfaceCubeTexture
- UNiagaraDataInterfaceCurlNoise
- UNiagaraDataInterfaceCurveBase
- UNiagaraDataInterfaceColorCurve
- UNiagaraDataInterfaceCurve
- UNiagaraDataInterfaceVector2DCurve
- UNiagaraDataInterfaceVector4Curve
- UNiagaraDataInterfaceVectorCurve
- UNiagaraDataInterfaceExport
- UNiagaraDataInterfaceGeometryCollection
- UNiagaraDataInterfaceHairStrands
- UNiagaraDataInterfaceLandscape
- UNiagaraDataInterfaceMeshRendererInfo
- UNiagaraDataInterfaceOcclusion
- UNiagaraDataInterfacePhysicsAsset
- UNiagaraDataInterfacePhysicsField
- UNiagaraDataInterfacePlatformSet
- UNiagaraDataInterfaceRigidMeshCollisionQuery
- UNiagaraDataInterfaceRWBase
- UNiagaraDataInterfaceArray
- UNiagaraDataInterfaceArrayBool
- UNiagaraDataInterfaceArrayColor
- UNiagaraDataInterfaceArrayFloat
- UNiagaraDataInterfaceArrayFloat2
- UNiagaraDataInterfaceArrayFloat3
- UNiagaraDataInterfaceArrayFloat4
- UNiagaraDataInterfaceArrayInt32
- UNiagaraDataInterfaceArrayMatrix
- UNiagaraDataInterfaceArrayNiagaraID
- UNiagaraDataInterfaceArrayPosition
- UNiagaraDataInterfaceArrayQuat
- UNiagaraDataInterfaceArrayUInt8
- UNiagaraDataInterfaceGrid2D
- UNiagaraDataInterfaceGrid2DCollection
- UNiagaraDataInterfaceGrid2DCollectionReader
- UNiagaraDataInterfaceGrid3D
- UNiagaraDataInterfaceGrid3DCollection
- UNiagaraDataInterfaceGrid3DCollectionReader
- UNiagaraDataInterfaceNeighborGrid3D
- UNiagaraDataInterfaceRasterizationGrid3D
- UNiagaraDataInterfaceIntRenderTarget2D
- UNiagaraDataInterfaceParticleRead
- UNiagaraDataInterfaceRenderTarget2D
- UNiagaraDataInterfaceRenderTarget2DArray
- UNiagaraDataInterfaceRenderTargetCube
- UNiagaraDataInterfaceRenderTargetVolume
- UNiagaraDataInterfaceVelocityGrid
- UNiagaraDataInterfacePressureGrid
- UNiagaraDataInterfaceSkeletalMesh
- UNiagaraDataInterfaceSparseVolumeTexture
- UNiagaraDataInterfaceSpline
- UNiagaraDataInterfaceSpriteRendererInfo
- UNiagaraDataInterfaceTexture
- UNiagaraDataInterfaceVectorField
- UNiagaraDataInterfaceVolumeCache
- UNiagaraDataInterfaceVolumeTexture
- UNiagaraDataInterfaceWater
References
Module | Niagara |
Header | /Engine/Plugins/FX/Niagara/Source/Niagara/Classes/NiagaraDataInterface.h |
Include | #include "NiagaraDataInterface.h" |
Syntax
UCLASS&40;Abstract, EditInlineNew, MinimalAPI&41;
class UNiagaraDataInterface : public UNiagaraDataInterfaceBase
Remarks
Base class for all Niagara data interfaces.
Variables
Type | Name | Description | |
---|---|---|---|
![]() |
uint32: 1 | bRenderDataDirty | |
![]() |
uint32: 1 | bUsedWithCPUScript | |
![]() |
uint32: 1 | bUsedWithGPUScript | |
![]() |
TUniquePtr< FNiagaraDataInterfaceProxy > | Proxy |
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
UNiagaraDataInterface
(
const FObjectInitializer& ObjectInitializer |
Destructors
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
Functions
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
bool | AppendCompileHash
(
FNiagaraCompileHashVisitor* InVisitor |
Allows the generic class defaults version of this class to specify any dependencies/version/etc that might invalidate the compile. |
![]() ![]() |
void | AppendTemplateHLSL
(
FString& OutHLSL, |
Formats and appends a template file onto the output HLSL |
![]() ![]() |
void | CacheStaticBuffers
(
FNiagaraSystemStaticBuffers& StaticBuffers, |
Allows data interfaces to cache any static data that may be shared between instances |
![]() ![]() ![]() |
ETickingGroup | CalculateTickGroup
(
const void* PerInstanceData |
|
![]() ![]() ![]() |
bool | CanExecuteOnTarget
(
ENiagaraSimTarget Target |
|
![]() ![]() ![]() |
bool | ||
![]() ![]() ![]() |
bool | ||
![]() ![]() |
bool | CopyTo
(
UNiagaraDataInterface* Destination |
Copies the contents of this DataInterface to another. |
![]() ![]() ![]() |
bool | CopyToInternal
(
UNiagaraDataInterface* Destination |
|
![]() ![]() |
void | DestroyPerInstanceData
(
void* PerInstanceData, |
Destroys the per instance data for this interface. |
![]() ![]() ![]() |
void | DrawDebugHud
(
FNDIDrawDebugHudContext& DebugHudContext |
Override this function to provide additional context to the debug HUD. |
![]() ![]() ![]() |
bool | Equals
(
const UNiagaraDataInterface* Other |
Determines if this DataInterface is the same as another. |
![]() ![]() ![]() |
bool | GenerateCompilerTagPrefix
(
const FNiagaraFunctionSignature& InSignature, |
Used by the translator when dealing with signatures that turn into compiler tags to figure out the precise compiler tag. |
![]() ![]() ![]() |
bool | GenerateIterationSourceNamespaceReadAttributesHLSL
(
FNiagaraDataInterfaceGPUParamInfo& DIInstanceInfo, |
Generate the necessary plumbing HLSL at the beginning of the stage where this is used as a sim stage iteration source. |
![]() ![]() ![]() |
bool | GenerateIterationSourceNamespaceWriteAttributesHLSL
(
FNiagaraDataInterfaceGPUParamInfo& DIInstanceInfo, |
Generate the necessary plumbing HLSL at the end of the stage where this is used as a sim stage iteration source. |
![]() ![]() ![]() |
bool | GenerateSetupHLSL
(
FNiagaraDataInterfaceGPUParamInfo& DIInstanceInfo, |
Generate the necessary HLSL to set up data when being added as a sim stage sim source. |
![]() ![]() ![]() |
bool | GenerateTeardownHLSL
(
FNiagaraDataInterfaceGPUParamInfo& DIInstanceInfo, |
Generate the necessary HLSL to tear down data when being added as a sim stage sim source. |
![]() ![]() ![]() |
void | GetAssetTagsForContext
(
const UObject* InAsset, |
Method to add asset tags that are specific to this data interface. |
![]() ![]() ![]() |
void | GetCanvasVariables
(
TArray< FNiagaraVariableBase >& OutVariables |
|
![]() ![]() |
void | GetCommonHLSL
(
FString& OutHLSL |
Allows data interfaces to provide common functionality that will be shared across interfaces on that type. |
![]() ![]() ![]() |
void | GetEmitterDependencies
(
UNiagaraSystem* Asset, |
Allows a DI to specify data dependencies between emitters, so the system can ensure that the emitter instances are executed in the correct order. |
![]() ![]() ![]() |
void | GetEmitterReferencesByName
(
TArray< FString >& EmitterReferences |
|
![]() ![]() |
TArray< FNiagaraDataInterfaceError > | GetErrors () |
Refreshes and returns the errors detected with the corresponding data, if any. |
![]() ![]() ![]() |
void | GetExposedVariables
(
TArray< FNiagaraVariableBase >& OutVariables |
|
![]() ![]() ![]() |
bool | GetExposedVariableValue
(
const FNiagaraVariableBase& InVariable, |
|
![]() ![]() |
void | GetFeedback
(
UNiagaraDataInterface* DataInterface, |
|
![]() ![]() |
void | GetFeedback
(
UNiagaraSystem* InAsset, |
Query the data interface to give feedback to the end user. |
![]() ![]() |
bool | GetFunctionHLSL
(
const FNiagaraDataInterfaceGPUParamInfo& ParamInfo, |
|
![]() ![]() |
bool | GetFunctionHLSL
(
FNiagaraDataInterfaceHlslGenerationContext& HlslGenContext, |
|
![]() ![]() |
void | GetFunctions
(
TArray< FNiagaraFunctionSignature >& OutFunctions |
Gets all the available functions for this data interface. |
![]() ![]() ![]() |
FIntVector | ||
![]() ![]() ![]() |
ENiagaraGpuDispatchType | ||
![]() ![]() ![]() |
bool | ||
![]() ![]() |
void | GetParameterDefinitionHLSL
(
const FNiagaraDataInterfaceGPUParamInfo& ParamInfo, |
|
![]() ![]() |
void | GetParameterDefinitionHLSL
(
FNiagaraDataInterfaceHlslGenerationContext& HlslGenContext, |
|
![]() |
FNiagaraDataInterfaceProxy * | GetProxy () |
|
![]() |
T * | GetProxyAs () |
|
![]() ![]() |
const T * | GetProxyAs () |
|
![]() ![]() |
void | GetVMExternalFunction
(
const FVMExternalFunctionBindingInfo& BindingInfo, |
Returns the delegate for the passed function signature. |
![]() ![]() ![]() |
bool | GPUContextInit
(
const FNiagaraScriptDataInterfaceCompileInfo& InInfo, |
|
![]() ![]() ![]() |
bool | ||
![]() ![]() ![]() |
bool | HasPostStageTick
(
ENiagaraScriptUsage Usage |
|
![]() ![]() ![]() |
bool | ||
![]() ![]() ![]() |
bool | HasPreStageTick
(
ENiagaraScriptUsage Usage |
|
![]() ![]() ![]() |
bool | ||
![]() ![]() |
bool | InitPerInstanceData
(
void* PerInstanceData, |
Initializes the per instance data for this interface. |
![]() ![]() |
bool | IsDataInterfaceType
(
const FNiagaraTypeDefinition& TypeDef |
Determines if this type definition matches to a known data interface type. |
![]() ![]() |
bool | Used to determine if we need to create CPU resources for the emitter. | |
![]() ![]() |
bool | Used to determine if we need to create GPU resources for the emitter. | |
![]() |
void | ||
![]() ![]() ![]() |
void | ModifyCompilationEnvironment
(
EShaderPlatform ShaderPlatform, |
Allows data interfaces to influence the compilation of GPU shaders and is only called on the CDO object not the instance. |
![]() ![]() ![]() |
bool | ||
![]() |
FSimpleMulticastDelegate & | ||
![]() ![]() ![]() |
int32 | The size of the data this class will provide to ProvidePerInstanceDataForRenderThread. | |
![]() ![]() ![]() |
int32 | Returns the size of the per instance data for this interface. | |
![]() ![]() |
bool | PerInstanceTick
(
void* PerInstanceData, |
Ticks the per instance data for this interface, if it has any. |
![]() ![]() |
bool | PerInstanceTickPostSimulate
(
void* PerInstanceData, |
|
![]() ![]() |
void | PostCompile () |
Called after system compilation completes. Useful for caching any constant, compile dependent data. |
![]() ![]() ![]() |
bool | When set to true the simulation may not complete in the same frame it started, allowing maximum overlap with the GameThread. | |
![]() ![]() ![]() |
bool | When set to true simulation may not complete in the same tick group it started. | |
![]() ![]() |
void | PostStageTick
(
FNDICpuPostStageContext& Context |
Called per instance for each DI after each execution state in which it is used. |
![]() ![]() |
void | PreStageTick
(
FNDICpuPreStageContext& Context |
Called per instance for each DI before each execution state in which it is used. |
![]() ![]() |
void | ProvidePerInstanceDataForRenderThread
(
void* DataForRenderThread, |
Subclasses that wish to work with GPU systems/emitters must implement this. |
![]() |
void | ||
![]() ![]() |
void | ||
![]() |
void | ||
![]() ![]() ![]() |
bool | RenderVariableToCanvas
(
FNiagaraSystemInstanceID SystemInstanceID, |
|
![]() ![]() ![]() |
bool | ||
![]() ![]() ![]() |
bool | ||
![]() ![]() ![]() |
bool | ||
![]() ![]() ![]() |
bool | ||
![]() ![]() ![]() |
void | SetShaderParameters
(
const FNiagaraDataInterfaceSetShaderParametersContext& Context |
Set the shader parameters will only be called if the data interface provided shader parameters. |
![]() |
void | SetUsedWithCPUScript
(
bool bUsed |
|
![]() |
void | SetUsedWithGPUScript
(
bool bUsed |
|
![]() ![]() ![]() |
bool | ShouldCompile
(
EShaderPlatform ShaderPlatform |
Allows data interfaces to prevent compilation of GPU shaders and is only called on the CDO object not the instance. |
![]() ![]() ![]() |
bool | Can this data interface be used as a StackContext parameter map replacement when being used as a sim stage iteration source? | |
![]() ![]() ![]() |
bool | Does this data interface need setup and teardown for each stage when working a sim stage sim source? | |
![]() ![]() |
bool | UpgradeFunctionCall
(
FNiagaraFunctionSignature& FunctionSignature |
Allows data interfaces the opportunity to rename / change the function signature and perform an upgrade. |
![]() ![]() |
void | ValidateFunction
(
const FNiagaraFunctionSignature& Function, |
Validates a function being compiled and allows interface classes to post custom compile errors when their API changes. |
Overridden from UObject
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
void | PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
Called when a property on this object has been modified externally |
![]() ![]() |
void | PostLoad () |
Do any object-specific cleanup required immediately after loading an object. |
Deprecated Functions
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
void | DrawDebugHud
(
UCanvas* Canvas, |
Please update to the context based DrawDebugHud as this will be removed in a future version. |
![]() ![]() |
bool | Please update your code to use IsUsedWithCPUScript | |
![]() ![]() |
bool | Please update your code to use IsUsedWithGPUScript | |
![]() ![]() |
bool | Please update your code to use IsUsedWithCPUScript | |
![]() ![]() |
bool | Please update your code to use IsUsedWithGPUScript | |
![]() ![]() ![]() |
bool | ReadsEmitterParticleData
(
const FString& EmitterName |
Implement GetEmitterReferencesByName() instead as this will be removed in a future version. |