UNiagaraEmitter

Niagara Emitters are particle spawners that can be reused for different effects by putting them into Niagara Systems.

Inheritance Hierarchy

References

Module

Niagara

Header

/Engine/Plugins/FX/Niagara/Source/Niagara/Classes/NiagaraEmitter.h

Include

#include "NiagaraEmitter.h"

Syntax

UCLASS(MinimalAPI)
class UNiagaraEmitter :
    public UObject,
    public INiagaraParameterDefinitionsSubscriber,
    public FNiagaraVersionedObject

Remarks

Niagara Emitters are particle spawners that can be reused for different effects by putting them into Niagara Systems. Emitters render their particles using different renderers, such as Sprite Renderers or Mesh Renderers to produce different effects.

Variables

Name Description

Public variable UProperty Category, EditAnywhere assetregistrysearchable

FText

 

Category

Category to collate this emitter into for "add new emitter" dialogs.

Public variable UProperty Category, EditAnywhere, AdvancedDisplay assetregistrysearchable

ENiagaraScriptL...

 

LibraryVisibility

If this emitter is exposed to the library, or should be explicitly hidden.

Public variable UProperty Category, EditAnywhere, AdvancedDisplay assetregistrysearchable

FText

 

TemplateAssetDescription

Public variable UProperty Category, EditAnywhere, AdvancedDisplay assetregistrysearchable

ENiagaraScriptT...

 

TemplateSpecification

Public variable UProperty

TObjectPtr< UTe...

 

ThumbnailImage

Internal: The thumbnail image.

Public variable UProperty Transient

FGuid

 

VersionToOpenInEditor

This is used as a transient value to open a specific version in the editor

Constructors

Name Description

Public function

UNiagaraEmitter

(
    const FObjectInitializer& ObjectIn...
)

Functions

Name Description

Public function

void

 

AddEventHandler

(
    FNiagaraEventScriptProperties Event...,
    FGuid EmitterVersion
)

Public function

void

 

AddMessage

(
    const FGuid& MessageKey,
    UNiagaraMessageDataBase* NewMe...
)

Public function

void

 

AddRenderer

(
    UNiagaraRendererProperties* Re...,
    FGuid EmitterVersion
)

Public function

void

 

AddSimulationStage

(
    UNiagaraSimulationStageBase* S...,
    FGuid EmitterVersion
)

Public function Const

bool

 

CanObtainEmitterAttribute

(
    const FNiagaraVariableBase& InVarW...,
    FNiagaraTypeDefinition& OutBoundTy...
)

Public function Const

bool

 

CanObtainParticleAttribute

(
    const FNiagaraVariableBase& InVar,
    const FGuid& EmitterVersion,
    FNiagaraTypeDefinition& OutBoundTy...
)

Public function Const

bool

 

CanObtainSystemAttribute

(
    const FNiagaraVariableBase& InVar,
    FNiagaraTypeDefinition& OutBoundTy...
)

Public function Const

bool

 

CanObtainUserVariable

(
    const FNiagaraVariableBase& InVar
)

Public function

void

 

ChangeParentVersion

(
    const FGuid& NewParentVersion,
    const FGuid& EmitterVersion
)

Public function

void

 

CheckVersionDataAvailable()

Makes sure that the default version data is available and fixes old emitter assets.

Public function Static

UNiagaraEmit...

 

CreateAsDuplicate

(
    const UNiagaraEmitter& InEmitterTo...,
    FName InDuplicateName,
    UNiagaraSystem& InDuplicateOwnerSy...
)

Creates a new emitter by duplicating an existing emitter.

Public function Static

UNiagaraEmit...

 

CreateWithParentAndOwner

(
    FVersionedNiagaraEmitter InParentEm...,
    UObject* InOwner,
    FName InName,
    EObjectFlags FlagMask
)

Creates a new emitter with the supplied emitter as a parent emitter and the supplied system as its owner.

Public function Static

void

 

DeclareConstructClasses

(
    TArray< FTopLevelAssetPath >& OutC...,
    const UClass* SpecificSubclass
)

Public function

UNiagaraEmit...

 

DuplicateWithoutMerging

(
    UObject* InOuter
)

Duplicates this emitter, but prevents the duplicate from merging in changes from the parent emitter.

Public function Const

void

 

ForEachVersionData

(
    TAction Func
)

Public function Const

const TShare...

 

GetCachedTraversalData

(
    const FGuid& EmitterVersion
)

Get the cached parameter map traversal for this emitter.

Public function Const

FGuid

 

GetChangeId()

Gets a Guid which is updated any time data in this emitter is changed.

Public function Const

const FVersi...

 

GetEmitterData

(
    const FGuid& VersionGuid
)

Returns the emitter data for a specific version or nullptr if no such version is found.

Public function

FVersionedNi...

 

GetEmitterData

(
    const FGuid& VersionGuid
)

Returns the emitter data for a specific version or nullptr if no such version is found.

Public function Static

bool

 

GetForceCompileOnLoad()

Public function Const

const FVersi...

 

GetLatestEmitterData()

Returns the emitter data for latest exposed version.

Public function

FVersionedNi...

 

GetLatestEmitterData()

Returns the emitter data for latest exposed version.

Public function Const

const TMap< ...

 

GetMessages()

Public function Const

TStatId

 

GetStatID

(
    bool bGameThread,
    bool bConcurrent
)

Public function Const

const FStrin...

 

GetUniqueEmitterName()

Public function

void

 

HandleVariableRemoved

(
    const FNiagaraVariable& InOldVaria...,
    bool bUpdateContexts,
    FGuid EmitterVersion
)

Helper method for when a rename has been detected within the graph.

Public function

void

 

HandleVariableRenamed

(
    const FNiagaraVariable& InOldVaria...,
    const FNiagaraVariable& InNewVaria...,
    bool bUpdateContexts,
    FGuid EmitterVersion
)

Helper method for when a rename has been detected within the graph.

Public function Const

bool

 

IsEnabledOnPlatform

(
    const FString& PlatformName
)

Public function Const

bool

 

IsSynchronizedWithParent()

Whether or not this emitter is synchronized with its parent emitter.

Public function

TArray< INia...

 

MergeChangesFromParent()

Merges in any changes from the parent emitter into this emitter.

Public function

void

 

MoveRenderer

(
    UNiagaraRendererProperties* Re...,
    int32 NewIndex,
    FGuid EmitterVersion
)

Public function

void

 

MoveSimulationStageToIndex

(
    UNiagaraSimulationStageBase* S...,
    int32 TargetIndex,
    FGuid EmitterVersion
)

Public function Virtual Const

bool

 

NeedsLoadForTargetPlatform

(
    const ITargetPlatform* TargetP...
)

Public function

void

 

NotifyScratchPadScriptsChanged()

Public function

FOnEmitterCo...

 

OnEmitterGPUCompiled()

Callback issued whenever a VM compilation successfully happened (even if the results are a script that cannot be executed due to errors)

Public function

FOnEmitterCo...

 

OnEmitterVMCompiled()

Callback issued whenever a VM compilation successfully happened (even if the results are a script that cannot be executed due to errors)

Public function

FOnEmitterCo...

 

OnGPUCompilationComplete()

Callback issued whenever a GPU compilation successfully happened (even if the results are a script that cannot be executed due to errors)

Public function

void

 

OnPostCompile

(
    const FGuid& EmitterVersion
)

Public function

FOnPropertie...

 

OnPropertiesChanged()

Public function

FOnRenderers...

 

OnRenderersChanged()

Public function Virtual

void

 

PostEditChangeVersionedProperty

(
    FPropertyChangedEvent& PropertyCha...,
    const FGuid& Version
)

Public function

void

 

RebindNotifications()

Helper method for binding the notifications needed for proper editor integration.

Public function

void

 

RemoveEventHandlerByUsageId

(
    FGuid EventHandlerUsageId,
    FGuid EmitterVersion
)

Public function

void

 

RemoveMessage

(
    const FGuid& MessageKey
)

Public function

void

 

RemoveMessageDelegateable

(
    const FGuid MessageKey
)

Public function

void

 

RemoveRenderer

(
    UNiagaraRendererProperties* Re...,
    FGuid EmitterVersion
)

Public function

void

 

RemoveSimulationStage

(
    UNiagaraSimulationStageBase* S...,
    FGuid EmitterVersion
)

Public function

void

 

SetEditorData

(
    UNiagaraEditorDataBase* InEdit...,
    const FGuid& VersionGuid
)

Public function

void

 

SetParent

(
    const FVersionedNiagaraEmitter& In...
)

Public function

bool

 

SetUniqueEmitterName

(
    const FString& InName
)

Public function

void

 

UpdateEmitterAfterLoad()

Public function

void

 

UpdateScalability()

Overridden from UObject

Name Description

Protected function Virtual

void

 

BeginDestroy()

Called before destroying the object.

Public function Virtual Const

void

 

GetAssetRegistryTags

(
    TArray< FAssetRegistryTag >& OutTa...
)

Gathers a list of asset registry searchable tags which are name/value pairs with some type information This only needs to be implemented for asset objects

Public function Virtual Const

bool

 

IsEditorOnly()

Called during saving to determine if the object is forced to be editor only or not

Public function Virtual

void

 

PostDuplicate

(
    EDuplicateMode::Type DuplicateMode
)

Public function Virtual

void

 

PostEditChangeProperty

(
    FPropertyChangedEvent& PropertyCha...
)

Called when a property on this object has been modified externally

Public function Virtual

void

 

PostInitProperties()

Called after the C++ constructor and after the properties have been initialized, including those loaded from config.

Public function Virtual

void

 

PostLoad()

Do any object-specific cleanup required immediately after loading an object.

Public function Virtual

void

 

PostRename

(
    UObject* OldOuter,
    const FName OldName
)

Called at the end of Rename(), but only if the rename was actually carried out

Public function Virtual

void

 

Serialize

(
    FArchive& Ar
)

Handles reading, writing, and reference collecting using FArchive.

Overridden from INiagaraParameterDefinitionsSubscriber

Name Description

Public function Virtual

TArray< UNia...

 

GetAllSourceScripts()

Get all UNiagaraScriptSourceBase of this subscriber.

Public function Virtual

TArray< UNia...

 

GetEditorOnlyParametersAdapters()

Get All adapters to editor only script vars owned directly by this subscriber.

Public function Virtual Const

const TArray...

 

GetParameterDefinitionsSubscriptions()

Public function Virtual

TArray< FPar...

 

GetParameterDefinitionsSubscriptions()

Public function Virtual Const

FString

 

GetSourceObjectPathName()

Get the path to the UObject of this subscriber.

Overridden from FNiagaraVersionedObject

Name Description

Public function Virtual

FGuid

 

AddNewVersion

(
    int32 MajorVersion,
    int32 MinorVersion
)

Creates a new data entry for the given version number.

Public function Virtual

void

 

DeleteVersion

(
    const FGuid& VersionGuid
)

Deletes the version data for an existing version.

Public function Virtual

void

 

DisableVersioning

(
    const FGuid& VersionGuidToUse
)

Disables versioning and keeps only the data from the given version guid.

Public function Virtual

void

 

EnableVersioning()

Enables versioning for this emitter asset.

Public function Virtual

void

 

ExposeVersion

(
    const FGuid& VersionGuid
)

Changes the exposed version. Does nothing if the guid does not exist in the version data.

Public function Virtual Const

FNiagaraAsse...

 

FindVersionData

(
    const FGuid& VersionGuid
)

Returns the version data for the given guid, if it exists. Otherwise returns nullptr.

Public function Virtual Const

TArray< FNia...

 

GetAllAvailableVersions()

Returns all available versions for this emitter.

Public function Virtual Const

FNiagaraAsse...

 

GetExposedVersion()

Returns the version of the exposed version data (i.e. the version used when adding an emitter to a system)

Public function Virtual

TSharedPtr< ...

 

GetVersionDataAccessor

(
    const FGuid& Version
)

Public function Virtual Const

bool

 

IsVersioningEnabled()

If true then this script asset uses active version control to track changes.

Classes

Name

Description

Public struct

PrivateMemberNames

Typedefs

Constants

Name

Description

EmitterMergeMessageId

Deprecated Variables

Name Description

Public variable UProperty Meta

EParticleAlloca...

 

AllocationMode_DEPRECATED

Use property in struct returned from GetEmitterData() instead

Public variable UProperty Meta

TArray< FString...

 

AttributesToPreserve_DEPRECATED

Use property in struct returned from GetEmitterData() instead

Public variable UProperty Meta

uint32: 1

 

bCombineEventSpawn_DEPRECATED

Use property in struct returned from GetEmitterData() instead

Public variable UProperty Meta

bool

 

bDeterminism_DEPRECATED

Use property in struct returned from GetEmitterData() instead

Public variable UProperty

bool

 

bExposeToLibrary_DEPRECATED

Deprecated library exposure bool.

Public variable UProperty Meta

uint32: 1

 

bFixedBounds_DEPRECATED

Use property in struct returned from GetEmitterData() instead

Public variable UProperty Meta

uint32: 1

 

bInterpolatedSpawning_DEPRECATED

Use property in struct returned from GetEmitterData() instead

Public variable UProperty

bool

 

bIsTemplateAsset_DEPRECATED

Deprecated template asset bool. Use the TemplateSpecification enum instead.

Public variable UProperty Meta

uint32: 1

 

bLimitDeltaTime_DEPRECATED

Use property in struct returned from GetEmitterData() instead

Public variable UProperty Meta

bool

 

bLocalSpace_DEPRECATED

------------ Most properties below this point are deprecated and stored in the versioned emitter data instead! ------------------------------------------------------------------------------------------

Public variable UProperty

uint32: 1

 

bOverrideGlobalSpawnCountScale_DEPRECATED

Legacy bool to control overriding the global spawn count scales.

Public variable UProperty Meta

uint32: 1

 

bRequiresPersistentIDs_DEPRECATED

Use property in struct returned from GetEmitterData() instead

Public variable UProperty

uint32: 1

 

bUseMaxDetailLevel_DEPRECATED

Whether to use the min detail or not.

Public variable UProperty

uint32: 1

 

bUseMinDetailLevel_DEPRECATED

Whether to use the min detail or not.

Public variable UProperty Meta

FNiagaraEmitter...

 

EmitterSpawnScriptProps_DEPRECATED

Use property in struct returned from GetEmitterData() instead

Public variable UProperty Meta

FNiagaraEmitter...

 

EmitterUpdateScriptProps_DEPRECATED

Use property in struct returned from GetEmitterData() instead

Public variable UProperty Meta

FBox

 

FixedBounds_DEPRECATED

Use property in struct returned from GetEmitterData() instead

Public variable UProperty

FNiagaraDetails...

 

GlobalSpawnCountScaleOverrides_DEPRECATED

Public variable UProperty Meta

TObjectPtr< UNi...

 

GraphSource_DEPRECATED

Use property in struct returned from GetEmitterData() instead

Public variable UProperty Meta

float

 

MaxDeltaTimePerTick_DEPRECATED

Use property in struct returned from GetEmitterData() instead

Public variable UProperty

int32

 

MaxDetailLevel_DEPRECATED

Public variable UProperty Meta

uint32

 

MaxGPUParticlesSpawnPerFrame_DEPRECATED

Use property in struct returned from GetEmitterData() instead

Public variable UProperty

int32

 

MinDetailLevel_DEPRECATED

Public variable UProperty Meta

TArray< TObject...

 

ParentScratchPadScripts_DEPRECATED

Use property in struct returned from GetEmitterData() instead

Public variable UProperty Meta

FNiagaraPlatfor...

 

Platforms_DEPRECATED

Use property in struct returned from GetEmitterData() instead

Public variable UProperty Meta

int32

 

PreAllocationCount_DEPRECATED

Use property in struct returned from GetEmitterData() instead

Public variable UProperty Meta

int32

 

RandomSeed_DEPRECATED

Use property in struct returned from GetEmitterData() instead

Public variable UProperty Meta

FNiagaraParamet...

 

RendererBindings_DEPRECATED

Public variable UProperty Meta

FNiagaraEmitter...

 

ScalabilityOverrides_DEPRECATED

Use property in struct returned from GetEmitterData() instead

Public variable UProperty Meta

TArray< TObject...

 

ScratchPadScripts_DEPRECATED

Use property in struct returned from GetEmitterData() instead

Public variable UProperty Meta

ENiagaraSimTarg...

 

SimTarget_DEPRECATED

Use property in struct returned from GetEmitterData() instead

Public variable UProperty Meta

FNiagaraEmitter...

 

SpawnScriptProps_DEPRECATED

Use property in struct returned from GetEmitterData() instead

Public variable UProperty Meta

FNiagaraEmitter...

 

UpdateScriptProps_DEPRECATED

Use property in struct returned from GetEmitterData() instead

Deprecated Functions

Name Description

Public function Virtual

PRAGMA_DISAB...

 

PreSave

(
    FObjectPreSaveContext ObjectSaveCon...
)

Use version that takes FObjectPreSaveContext instead.

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Cancel