FNiagaraSystemInstance

Windows
MacOS
Linux

References

Module

Niagara

Header

/Engine/Plugins/FX/Niagara/Source/Niagara/Public/NiagaraSystemInstance.h

Include

#include "NiagaraSystemInstance.h"

Syntax

class FNiagaraSystemInstance

Variables

Name Description

Public variable

uint32

 

ActiveGPUEmitterCount

Public variable

FInstanceParame ...

 

GatheredInstanceParameters

Public variable

int32

 

GPUDataInterfaceInstanceDataSize

Public variable

bool

 

GPUParamIncludeInterpolation

Public variable

uint32

 

TotalGPUParamSize

Transient data that is accumulated during tick.

Constructors

Name Description

Public function

FNiagaraSystemInstance

(
    UNiagaraComponent * InComponent
)

Creates a new niagara System instance with the supplied component.

Destructors

Name Description

Public function Virtual

~FNiagaraSystemInstance()

Cleanup

Functions

Name Description

Public function

void

 

Activate

(
    EResetMode InResetMode
)

Public function

void

 

AdvanceSimulation

(
    int32 TickCountToSimulate,
    float TickDeltaSeconds
)

Manually advances this system's simulation by the specified number of ticks and tick delta.

Public function Static

bool

 

AllocateSystemInstance

(
    UNiagaraComponent * InComponent,
    TUniquePtr < FNiagaraSystemInstance ...
)

Public function

void

 

BeginAsyncWork()

Public function

void

 

BindParameters()

Void RebindParameterCollection(UNiagaraParameterCollectionInstance* OldInstance, UNiagaraParameterCollectionInstance* NewInstance);

Public function

void

 

Cleanup()

Public function

void

 

ClearEventDataSets()

Public function

void

 

Complete()

Public function

void

 

ComponentTick

(
    float DeltaSeconds,
    const FGraphEventRef & MyCompletion...
)

Public function

FNiagaraData ...

 

CreateEventDataSet

(
    FName EmitterName,
    FName EventName
)

Public function

void

 

Deactivate

(
    bool bImmediate
)

Public function Static

bool

 

DeallocateSystemInstance

Public function Const

void

 

Dump()

Dumps all of this systems info to the log.

Public function

void

 

DumpTickInfo

(
    FOutputDevice & Ar
)

Dumps information about the instances tick to the log

Public function

FNiagaraEmit ...

 

EditEmitterParameters

(
    int32 EmitterIdx
)

Public function

void

 

FinalizeTick_GameThread()

Final phase of system instance tick. Must be executed on the game thread.

Public function

void *

 

FindDataInterfaceInstanceData

(
    UNiagaraDataInterface * Interfa...
)

Returns the instance data for a particular interface for this System.

Public function

void

 

FinishCapture()

Only call from within the script execution states. Does nothing if not capturing a frame.

Public function

void

 

FlipParameterBuffers()

Public function

TArray < TSha ...

 

GetActiveCaptureResults()

Only call from within the script execution states. Value is null if not capturing a frame.

Public function

TSharedPtr < ...

 

GetActiveCaptureWrite

(
    const FName & InHandleName,
    ENiagaraScriptUsage InUsage,
    const FGuid & InUsageId
)

Only call from within the script execution states. Value is nullptr if not capturing a frame.

Public function

ENiagaraExec ...

 

GetActualExecutionState()

Public function Const

float

 

GetAge()

Public function Const

bool

 

GetAreDataInterfacesInitialized()

Public function Const

NiagaraEmitt ...

 

GetBatcher()

Public function

UNiagaraComp ...

 

GetComponent()

Public function Const

const FStrin ...

 

GetCrashReporterTag()

Public function

FNiagaraData ...

 

GetDataSet

(
    FNiagaraDataSetID SetID,
    FName EmitterName
)

Gets a data set either from another emitter or one owned by the System itself.

Public function

FNiagaraEmit ...

 

GetEmitterByID

(
    FGuid InID
)

Public function Const

const TArray ...

 

GetEmitterExecutionOrder()

Public function Const

const FNiaga ...

 

GetEmitterParameters

(
    int32 EmitterIdx,
    bool PreviousFrame
)

Public function

TArray < TSha ...

 

GetEmitters()

Public function Const

const TArray ...

 

GetEmitters()

Public function Const

FNiagaraData ...

 

GetEventDataSet

(
    FName EmitterName,
    FName EventName
)

Public function Const

ERHIFeatureL ...

 

GetFeatureLevel()

Public function Const

const FNiaga ...

 

GetGlobalParameters

(
    bool PreviousFrame
)

Public function

FNiagaraSyst ...

 

GetId()

Public function

FNiagaraPara ...

 

GetInstanceParameters()

Public function Const

bool

 

GetIsolateEnabled()

Public function

const FBox &

 

GetLocalBounds()

Public function Const

const FNiaga ...

 

GetOwnerParameters

(
    bool PreviousFrame
)

Public function

UNiagaraPara ...

 

GetParameterCollectionInstance

(
    UNiagaraParameterCollection * C...
)

Public function Const

uint32

 

GetParameterIndex

(
    bool PreviousFrame
)

Public function

bool

 

GetPerInstanceDataAndOffsets

(
    void *& OutData,
    uint32 & OutDataSize,
    TMap < TWeakObjectPtr < UNiagaraDataI ...
)

Public function Const

ENiagaraExec ...

 

GetRequestedExecutionState()

Public function

TSharedPtr < ...

 

GetSimulationForHandle

(
    const FNiagaraEmitterHandle & Emitt...
)

Gets the simulation for the supplied emitter handle.

Public function Const

UNiagaraSyst ...

 

GetSystem()

Public function Const

const FNiaga ...

 

GetSystemParameters

(
    bool PreviousFrame
)

Public function Const

TSharedPtr < ...

 

GetSystemSimulation()

Public function Const

int32

 

GetTickCount()

Public function Const

FNiagaraWorl ...

 

GetWorldManager()

Public function

bool

 

HandleCompletion()

Handles completion of the system and returns true if the system is complete.

Public function

bool

 

HasGPUEmitters()

Void SetHasGPUEmitters(bool bInHasGPUEmitters) { bHasGPUEmitters = bInHasGPUEmitters; }

Public function

void

 

Init

(
    bool bInForceSolo
)

Initializes this System instance to simulate the supplied System.

Public function Const

bool

 

IsComplete()

Int32 GetNumParticles(int32 EmitterIndex) const { return ParameterNumParticleBindings[EmitterIndex].GetValue() ; } float GetSpawnCountScale(int32 EmitterIndex) const { return ParameterSpawnCountScaleBindings[EmitterIndex].GetValue() ; }

Public function Const

bool

 

IsDisabled()

Public function Const

bool

 

IsPaused()

Public function Const

bool

 

IsPendingSpawn()

Public function Const

bool

 

IsReadyToRun()

Public function Const

bool

 

IsSolo()

Public function

FOnComplete ...

 

OnComplete()

Gets a multicast delegate which is called whenever this instance is complete.

Public function

FOnDestroyed ...

 

OnDestroyed()

Public function

FOnInitializ ...

 

OnInitialized()

Gets a multicast delegate which is called whenever this instance is initialized with an System asset.

Public function

FOnReset &

 

OnReset()

Gets a multicast delegate which is called whenever this instance is reset due to external changes in the source System asset.

Public function

bool

 

QueryCaptureResults

(
    const FGuid & RequestId,
    TArray < TSharedPtr < struct FNiagara ...
)

Poll for previous frame capture requests.

Public function

void

 

RaiseNeedsUIResync()

Public function

bool

 

RequestCapture

(
    const FGuid & RequestId
)

Request that this simulation capture a frame. Cannot capture if disabled or already completed.

Public function Const

bool

 

RequiresDepthBuffer()

Public function Const

bool

 

RequiresDistanceFieldData()

Public function Const

bool

 

RequiresEarlyViewData()

Public function

void

 

Reset

(
    EResetMode Mode
)

Requests the the simulation be reset on the next tick.

Public function

void

 

SetActualExecutionState

(
    ENiagaraExecutionState InState
)

Public function

void

 

SetEmitterEnable

(
    FName EmitterName,
    bool bNewEnableState
)

Public function

void

 

SetLODDistance

(
    float InLODDistance,
    float InMaxLODDistance
)

Public function

void

 

SetPaused

(
    bool bInPaused
)

Public function

void

 

SetPendingSpawn

(
    bool bInValue
)

Public function

void

 

SetRequestedExecutionState

(
    ENiagaraExecutionState InState
)

Public function

void

 

SetSolo

(
    bool bInSolo
)

Public function Const

bool

 

ShouldCaptureThisFrame()

Only call from within the script execution states. Value is false if not capturing a frame.

Public function

void

 

Tick_Concurrent()

Secondary phase of the system instance tick that can be executed on any thread.

Public function

void

 

Tick_GameThread

(
    float DeltaSeconds
)

Initial phase of system instance tick. Must be executed on the game thread.

Public function

void

 

TickDataInterfaces

(
    float DeltaSeconds,
    bool bPostSimulate
)

Perform per-tick updates on data interfaces that need it.

Public function

void

 

TickInstanceParameters_Concurrent()

Public function

void

 

TickInstanceParameters_GameThread

(
    float DeltaSeconds
)

Public function

void

 

UnbindParameters

(
    bool bFromComplete
)

Public function

void

 

UpdatePrereqs()

Public function Const

bool

 

UsesCollection

(
    const UNiagaraParameterCollection &...
)

Bool UsesDataInterface(UNiagaraDataInterface* Interface);

Public function Const

bool

 

UsesEmitter

(
    const UNiagaraEmitter * Emitter
)

Public function Const

bool

 

UsesScript

(
    const UNiagaraScript * Script
)

Public function

void

 

WaitForAsyncTickAndFinalize

(
    bool bEnsureComplete
)

Blocks until any async work for this system instance has completed, must be called on the GameThread.

Public function

void

 

WaitForAsyncTickDoNotFinalize

(
    bool bEnsureComplete
)

Blocks until any async work for this system instance has completed, must be called on the GameThread.

Classes

Name

Description

Public struct

FInstanceParameters

Enums

Name

Description

Public enum

EResetMode

Defines modes for resetting the System instance.

Typedefs

Name

Description

EmitterEventKey

Registered events for each of the emitters

EventDataSetMap

FOnComplete

FOnDestroyed

FOnInitialized

FOnReset

Constants

Name

Description

ParameterBufferCount

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback