Navigation
API > API/Plugins > API/Plugins/Niagara
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.
Emitter assets cannot be spawned or used in a level directly, but need to be placed in a Niagara system. Emitters support inheritance, so that changes to the base asset are automatically picked up by child emitter assets and emitters in system assets.
| Name | UNiagaraEmitter |
| Type | class |
| Header File | /Engine/Plugins/FX/Niagara/Source/Niagara/Classes/NiagaraEmitter.h |
| Include Path | #include "NiagaraEmitter.h" |
Syntax
UCLASS (MinimalAPI)
class UNiagaraEmitter :
public UNiagaraEmitterBase ,
public INiagaraParameterDefinitionsSubscriber ,
public FNiagaraVersionedObject
Inheritance Hierarchy
- FNiagaraVersionedObject → UNiagaraEmitter
- UObjectBase → UObjectBaseUtility → UObject → UNiagaraEmitterBase → UNiagaraEmitter
Implements Interfaces
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UNiagaraEmitter
(
const FObjectInitializer& ObjectInitializer |
NiagaraEmitter.h |
Structs
| Name | Remarks |
|---|---|
| PrivateMemberNames |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FOnEmitterCompiled | TMulticastDelegate_OneParam< void, FVersionedNiagaraEmitter > | NiagaraEmitter.h | |
| FOnEventHandlersChanged | TMulticastDelegate_NoParams< void > | NiagaraEmitter.h | |
| FOnPropertiesChanged | TMulticastDelegate_NoParams< void > | NiagaraEmitter.h | |
| FOnSimStagesChanged | TMulticastDelegate_NoParams< void > | NiagaraEmitter.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| EmitterMergeMessageId | const FGuid | NiagaraEmitter.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bIsInheritable | bool | If an emitter is inheritable, new emitters based on an inheritable emitter, or Niagara Systems using an inheritable emitter, will automatically inherit changes made to the original emitter. | NiagaraEmitter.h |
|
| Category | FText | Category to collate this emitter into for "add new emitter" dialogs. | NiagaraEmitter.h |
|
| LibraryVisibility | ENiagaraScriptLibraryVisibility | The thumbnail image used for the asset. | NiagaraEmitter.h |
|
| PreviewMoviePath | FSoftObjectPath | NiagaraEmitter.h |
|
|
| TemplateAssetDescription | FText | NiagaraEmitter.h |
|
|
| VersionToOpenInEditor | FGuid | This is used as a transient value to open a specific version in the editor | NiagaraEmitter.h |
|
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bFullyLoaded | bool | NiagaraEmitter.h | ||
| bVersioningEnabled | bool | If true then this emitter asset uses active version control to track changes. | NiagaraEmitter.h | |
| ChangeId | FGuid | Adjusted every time that we compile this emitter. | NiagaraEmitter.h | |
| ExposedVersion | FGuid | The exposed version is the version that is used by default when a user adds this emitter somewhere. | NiagaraEmitter.h | |
| MessageStore | FNiagaraMessageStore | NiagaraEmitter.h | ||
| OnEventHandlersChangedDelegate | FOnEventHandlersChanged | NiagaraEmitter.h | ||
| OnGPUScriptCompiledDelegate | FOnEmitterCompiled | A multicast delegate which is called whenever all the scripts for this emitter have been compiled (successfully or not). | NiagaraEmitter.h | |
| OnPropertiesChangedDelegate | FOnPropertiesChanged | NiagaraEmitter.h | ||
| OnSimStagesChangedDelegate | FOnSimStagesChanged | NiagaraEmitter.h | ||
| OnVMScriptCompiledDelegate | FOnEmitterCompiled | A multicast delegate which is called whenever all the scripts for this emitter have been compiled (successfully or not). | NiagaraEmitter.h | |
| ParameterDefinitionsSubscriptions | TArray< FParameterDefinitionsSubscription > | Subscriptions to definitions of parameters. | NiagaraEmitter.h | |
| VersionData | TArray< FVersionedNiagaraEmitterData > | Contains all of the versioned emitter data. | NiagaraEmitter.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddEventHandler
(
FNiagaraEventScriptProperties EventHandler, |
NiagaraEmitter.h | ||
void AddRenderer
(
UNiagaraRendererProperties* Renderer, |
NiagaraEmitter.h | ||
void AddSimulationStage
(
UNiagaraSimulationStageBase* SimulationStage, |
NiagaraEmitter.h | ||
| NiagaraEmitter.h | |||
void CheckVersionDataAvailable() |
Makes sure that the default version data is available and fixes old emitter assets. | NiagaraEmitter.h | |
UNiagaraEmitter * DuplicateWithoutMerging
(
UObject* InOuter |
Duplicates this emitter, but prevents the duplicate from merging in changes from the parent emitter. | NiagaraEmitter.h | |
void ForEachVersionData
(
TAction Func |
NiagaraEmitter.h | ||
void ForEachVersionData
(
TAction Func |
NiagaraEmitter.h | ||
const TSharedPtr< FNiagaraGraphCachedDataBase, ESPMode::ThreadSafe > & GetCachedTraversalData
(
const FGuid& EmitterVersion |
Get the cached parameter map traversal for this emitter. | NiagaraEmitter.h | |
FGuid GetChangeId() |
Gets a Guid which is updated any time data in this emitter is changed. | NiagaraEmitter.h | |
const FVersionedNiagaraEmitterData * GetEmitterData
(
const FGuid& VersionGuid |
NiagaraEmitter.h | ||
FVersionedNiagaraEmitterData * GetEmitterData
(
const FGuid& VersionGuid |
Returns the emitter data for a specific version or nullptr if no such version is found. | NiagaraEmitter.h | |
const FVersionedNiagaraEmitterData * GetLatestEmitterData () |
NiagaraEmitter.h | ||
| Returns the emitter data for latest exposed version. | NiagaraEmitter.h | ||
FNiagaraMessageStore & GetMessageStore() |
NiagaraEmitter.h | ||
TStatId GetStatID
(
bool bGameThread, |
NiagaraEmitter.h | ||
void InvalidateCachedTraversalData
(
const FGuid& EmitterVersion |
NiagaraEmitter.h | ||
bool IsEnabledOnPlatform
(
const FString& PlatformName |
NiagaraEmitter.h | ||
bool IsSynchronizedWithParent() |
Whether or not this emitter is synchronized with its parent emitter. | NiagaraEmitter.h | |
TArray< INiagaraMergeManager::FMergeEmitterResults > MergeChangesFromParent() |
Merges in any changes from the parent emitter into this emitter. | NiagaraEmitter.h | |
void MoveRenderer
(
UNiagaraRendererProperties* Renderer, |
NiagaraEmitter.h | ||
void MoveSimulationStageToIndex
(
UNiagaraSimulationStageBase* SimulationStage, |
NiagaraEmitter.h | ||
virtual bool NeedsLoadForTargetPlatform
(
const ITargetPlatform* TargetPlatform |
NiagaraEmitter.h | ||
void NotifyScratchPadScriptsChanged() |
NiagaraEmitter.h | ||
FOnEmitterCompiled & OnEmitterGPUCompiled() |
Callback issued whenever a VM compilation successfully happened (even if the results are a script that cannot be executed due to errors) | NiagaraEmitter.h | |
FOnEmitterCompiled & OnEmitterVMCompiled() |
Callback issued whenever a VM compilation successfully happened (even if the results are a script that cannot be executed due to errors) | NiagaraEmitter.h | |
FOnSimStagesChanged & OnEventHandlersChanged() |
NiagaraEmitter.h | ||
FOnEmitterCompiled & OnGPUCompilationComplete() |
Callback issued whenever a GPU compilation successfully happened (even if the results are a script that cannot be executed due to errors) | NiagaraEmitter.h | |
void OnPostCompile
(
const FGuid& EmitterVersion |
NiagaraEmitter.h | ||
FOnPropertiesChanged & OnPropertiesChanged() |
NiagaraEmitter.h | ||
FOnSimStagesChanged & OnSimStagesChanged() |
NiagaraEmitter.h | ||
virtual void PostEditChangeVersionedProperty
(
FPropertyChangedEvent& PropertyChangedEvent, |
NiagaraEmitter.h | ||
void RebindNotifications() |
Helper method for binding the notifications needed for proper editor integration. | NiagaraEmitter.h | |
| NiagaraEmitter.h | |||
void RemoveRenderer
(
UNiagaraRendererProperties* Renderer, |
NiagaraEmitter.h | ||
void RemoveSimulationStage
(
UNiagaraSimulationStageBase* SimulationStage, |
NiagaraEmitter.h | ||
void SetEditorData
(
UNiagaraEditorDataBase* InEditorData, |
NiagaraEmitter.h | ||
void SetParent
(
const FVersionedNiagaraEmitter& InParent |
NiagaraEmitter.h | ||
void UpdateEmitterAfterLoad() |
NiagaraEmitter.h | ||
void UpdateScalability() |
NiagaraEmitter.h | ||
void UpdateStatID() |
NiagaraEmitter.h |
Overridden from UNiagaraEmitterBase
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool CanObtainEmitterAttribute
(
const FNiagaraVariableBase& InVarWithUniqueNameNamespace, |
NiagaraEmitter.h | ||
virtual bool CanObtainParticleAttribute
(
const FNiagaraVariableBase& InVar, |
NiagaraEmitter.h | ||
virtual FNiagaraVariableBase GetResolvedDIBinding
(
const FNiagaraVariableBase& InVariable |
NiagaraEmitter.h | ||
virtual void HandleVariableRemoved
(
const FNiagaraVariable& InOldVariable, |
NiagaraEmitter.h | ||
virtual void HandleVariableRenamed
(
const FNiagaraVariable& InOldVariable, |
NiagaraEmitter.h |
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void GetAssetRegistryTags
(
TArray< FAssetRegistryTag >& OutTags |
NiagaraEmitter.h | ||
virtual void GetAssetRegistryTags
(
FAssetRegistryTagsContext Context |
NiagaraEmitter.h | ||
virtual bool IsEditorOnly() |
NiagaraEmitter.h | ||
virtual void PostDuplicate
(
EDuplicateMode::Type DuplicateMode |
NiagaraEmitter.h | ||
virtual void PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
NiagaraEmitter.h | ||
virtual void PostInitProperties() |
NiagaraEmitter.h | ||
virtual void PostLoad() |
NiagaraEmitter.h | ||
| NiagaraEmitter.h | |||
virtual PRAGMA_DISABLE_DEPRECATION_WARNINGS void PreSave
(
FObjectPreSaveContext ObjectSaveContext |
NiagaraEmitter.h | ||
virtual void Serialize
(
FArchive& Ar |
NiagaraEmitter.h |
Overridden from INiagaraParameterDefinitionsSubscriber
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual TArray< UNiagaraScriptSourceBase * > GetAllSourceScripts() |
Get all UNiagaraScriptSourceBase of this subscriber. | NiagaraEmitter.h | |
virtual TArray< UNiagaraEditorParametersAdapterBase * > GetEditorOnlyParametersAdapters() |
Get All adapters to editor only script vars owned directly by this subscriber. | NiagaraEmitter.h | |
virtual const TArray< FParameterDefinitionsSubscription > & GetParameterDefinitionsSubscriptions () |
NiagaraEmitter.h | ||
| NiagaraEmitter.h | |||
virtual FString GetSourceObjectPathName() |
Get the path to the UObject of this subscriber. | NiagaraEmitter.h |
Overridden from FNiagaraVersionedObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual FGuid AddNewVersion
(
int32 MajorVersion, |
Creates a new data entry for the given version number. | NiagaraEmitter.h | |
virtual void DeleteVersion
(
const FGuid& VersionGuid |
Deletes the version data for an existing version. | NiagaraEmitter.h | |
virtual void DisableVersioning
(
const FGuid& VersionGuidToUse |
Disables versioning and keeps only the data from the given version guid. | NiagaraEmitter.h | |
virtual void EnableVersioning() |
Enables versioning for this emitter asset. | NiagaraEmitter.h | |
virtual void ExposeVersion
(
const FGuid& VersionGuid |
Changes the exposed version. Does nothing if the guid does not exist in the version data. | NiagaraEmitter.h | |
virtual FNiagaraAssetVersion const * FindVersionData
(
const FGuid& VersionGuid |
Returns the version data for the given guid, if it exists. Otherwise returns nullptr. | NiagaraEmitter.h | |
virtual TArray< FNiagaraAssetVersion > GetAllAvailableVersions() |
Returns all available versions for this emitter. | NiagaraEmitter.h | |
virtual FNiagaraAssetVersion GetExposedVersion() |
Returns the version of the exposed version data (i.e. the version used when adding an emitter to a system) | NiagaraEmitter.h | |
virtual TSharedPtr< FNiagaraVersionDataAccessor > GetVersionDataAccessor
(
const FGuid& Version |
NiagaraEmitter.h | ||
virtual bool IsVersioningEnabled() |
If true then this script asset uses active version control to track changes. | NiagaraEmitter.h |
Protected
Overridden from UNiagaraEmitterBase
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void OnUniqueEmitterNameChanged
(
const FString& OldName |
Called if the emitter name was successfully changed. | NiagaraEmitter.h |
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void BeginDestroy() |
NiagaraEmitter.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static UNiagaraEmitter * CreateAsDuplicate
(
const UNiagaraEmitter& InEmitterToDuplicate, |
Creates a new emitter by duplicating an existing emitter. | NiagaraEmitter.h | |
static UNiagaraEmitter * CreateWithParentAndOwner
(
FVersionedNiagaraEmitter InParentEmitter, |
Creates a new emitter with the supplied emitter as a parent emitter and the supplied system as its owner. | NiagaraEmitter.h | |
static void DeclareConstructClasses
(
TArray< FTopLevelAssetPath >& OutConstructClasses, |
NiagaraEmitter.h | ||
static bool GetForceCompileOnLoad() |
NiagaraEmitter.h |
Deprecated Variables
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AllocationMode_DEPRECATED | EParticleAllocationMode | Use property in struct returned from GetEmitterData() instead | NiagaraEmitter.h |
|
| AssetTags_DEPRECATED | TArray< FNiagaraAssetTagDefinitionReference > | NiagaraEmitter.h |
|
|
| AttributesToPreserve_DEPRECATED | TArray< FString > | Use property in struct returned from GetEmitterData() instead | NiagaraEmitter.h |
|
| bDeterminism_DEPRECATED | bool | Use property in struct returned from GetEmitterData() instead | NiagaraEmitter.h |
|
| bExposeToLibrary_DEPRECATED | bool | Deprecated library exposure bool. | NiagaraEmitter.h | |
| bFixedBounds_DEPRECATED | uint32 | Use property in struct returned from GetEmitterData() instead | NiagaraEmitter.h |
|
| bInterpolatedSpawning_DEPRECATED | uint32 | Use property in struct returned from GetEmitterData() instead | NiagaraEmitter.h |
|
| bIsTemplateAsset_DEPRECATED | bool | Deprecated template asset bool. Use the TemplateSpecification enum instead. | NiagaraEmitter.h | |
| bLocalSpace_DEPRECATED | bool | --------------- Most properties below this point are deprecated and stored in the versioned emitter data instead! --------------------------------------------------------------------------------------------- | NiagaraEmitter.h |
|
| bOverrideGlobalSpawnCountScale_DEPRECATED | uint32 | Legacy bool to control overriding the global spawn count scales. | NiagaraEmitter.h | |
| bRequiresPersistentIDs_DEPRECATED | uint32 | Use property in struct returned from GetEmitterData() instead | NiagaraEmitter.h |
|
| bUseMaxDetailLevel_DEPRECATED | uint32 | Whether to use the min detail or not. | NiagaraEmitter.h | |
| bUseMinDetailLevel_DEPRECATED | uint32 | Whether to use the min detail or not. | NiagaraEmitter.h | |
| EmitterSpawnScriptProps_DEPRECATED | FNiagaraEmitterScriptProperties | Use property in struct returned from GetEmitterData() instead | NiagaraEmitter.h |
|
| EmitterUpdateScriptProps_DEPRECATED | FNiagaraEmitterScriptProperties | Use property in struct returned from GetEmitterData() instead | NiagaraEmitter.h |
|
| FixedBounds_DEPRECATED | FBox | Use property in struct returned from GetEmitterData() instead | NiagaraEmitter.h |
|
| GlobalSpawnCountScaleOverrides_DEPRECATED | FNiagaraDetailsLevelScaleOverrides | NiagaraEmitter.h | ||
| GraphSource_DEPRECATED | TObjectPtr< UNiagaraScriptSourceBase > | Use property in struct returned from GetEmitterData() instead | NiagaraEmitter.h |
|
| MaxDetailLevel_DEPRECATED | int32 | NiagaraEmitter.h | ||
| MaxGPUParticlesSpawnPerFrame_DEPRECATED | uint32 | Use property in struct returned from GetEmitterData() instead | NiagaraEmitter.h |
|
| MinDetailLevel_DEPRECATED | int32 | NiagaraEmitter.h | ||
| ParentScratchPadScripts_DEPRECATED | TArray< TObjectPtr< UNiagaraScript > > | Use property in struct returned from GetEmitterData() instead | NiagaraEmitter.h |
|
| Platforms_DEPRECATED | FNiagaraPlatformSet | Use property in struct returned from GetEmitterData() instead | NiagaraEmitter.h |
|
| PreAllocationCount_DEPRECATED | int32 | Use property in struct returned from GetEmitterData() instead | NiagaraEmitter.h |
|
| RandomSeed_DEPRECATED | int32 | Use property in struct returned from GetEmitterData() instead | NiagaraEmitter.h |
|
| RendererBindings_DEPRECATED | FNiagaraParameterStore | NiagaraEmitter.h |
|
|
| ScalabilityOverrides_DEPRECATED | FNiagaraEmitterScalabilityOverrides | Use property in struct returned from GetEmitterData() instead | NiagaraEmitter.h |
|
| ScratchPadScripts_DEPRECATED | TArray< TObjectPtr< UNiagaraScript > > | Use property in struct returned from GetEmitterData() instead | NiagaraEmitter.h |
|
| SimTarget_DEPRECATED | ENiagaraSimTarget | Use property in struct returned from GetEmitterData() instead | NiagaraEmitter.h |
|
| SpawnScriptProps_DEPRECATED | FNiagaraEmitterScriptProperties | Use property in struct returned from GetEmitterData() instead | NiagaraEmitter.h |
|
| TemplateSpecification_DEPRECATED | ENiagaraScriptTemplateSpecification | NiagaraEmitter.h |
|
|
| UpdateScriptProps_DEPRECATED | FNiagaraEmitterScriptProperties | Use property in struct returned from GetEmitterData() instead | NiagaraEmitter.h |
|