UNiagaraScript

Runtime script for a Niagara system

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

Niagara

Header

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

Include

#include "NiagaraScript.h"

Syntax

[UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(MinimalAPI)
class UNiagaraScript : public UNiagaraScriptBase

Remarks

Runtime script for a Niagara system

Variables

Name Description

Public variable UProperty

FNiagaraParamet...

 

RapidIterationParameters

Contains all of the top-level values that are iterated on in the UI.

Public variable UProperty assetregistrysearchable

ENiagaraScriptU...

 

Usage

How this script is to be used. cannot be private due to use of GET_MEMBER_NAME_CHECKED

Public variable UProperty Transient

FGuid

 

VersionToOpenInEditor

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

Constructors

Name Description

Public function

UNiagaraScript()

Public function

UNiagaraScript

(
    const FObjectInitializer& ObjectIn...
)

Destructors

Name Description

Public function

~UNiagaraScript()

Functions

Name Description

Public function

FGuid

 

AddNewVersion

(
    int32 MajorVersion,
    int32 MinorVersion
)

Creates a new data entry for the given version number.

Public function

FNiagaraShad...

 

AllocateResource()

Public function Const

bool

 

AreScriptAndSourceSynchronized

(
    const FGuid& VersionGuid
)

Determine if the Script and its source graph are in sync.

Public function Static

bool

 

BinaryToExecData

(
    const UNiagaraScript* Script,
    const TArray< uint8 >& InBinaryDat...,
    FNiagaraVMExecutableData& OutExecD...
)

Helper to convert the struct from its binary data out of the DDC to it's actual in-memory version.

Public function Static

FString

 

BuildNiagaraDDCKeyString

(
    const FNiagaraVMExecutableDataId& ...
)

Builds the DDC string for the derived data cache using the supplied CompiledId

Public function

void

 

CacheResourceShadersForCooking

(
    EShaderPlatform ShaderPlatform,
    TArray< FNiagaraShaderScript* ...,
    const ITargetPlatform* TargetP...
)

Infrastructure for GPU compute Shaders.

Public function

void

 

CacheResourceShadersForRendering

(
    bool bRegenerateId,
    bool bForceRecompile
)

Public function

void

 

CacheShadersForResources

(
    FNiagaraShaderScript* Resource...,
    bool bApplyCompletedShaderMapForRen...,
    bool bForceRecompile,
    bool bCooking,
    const ITargetPlatform* TargetP...
)

Public function Const

bool

 

CanBeRunOnGpu()

Public function

void

 

CheckVersionDataAvailable()

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

Public function Const

void

 

ComputeVMCompilationId

(
    FNiagaraVMExecutableDataId& Id,
    FGuid VersionGuid
)

Public function Static

bool

 

ContainsEquivilentUsage

(
    const TArray< ENiagaraScriptUsage >...,
    ENiagaraScriptUsage InUsage
)

Public function Const

bool

 

ContainsUsage

(
    ENiagaraScriptUsage InUsage
)

Public function Static

bool

 

ConvertUsageToGroup

(
    ENiagaraScriptUsage InUsage,
    ENiagaraScriptGroup& OutGroup
)

Public function

void

 

DeleteVersion

(
    const FGuid& VersionGuid
)

Deletes the version data for an existing version.

Public function Const

bool

 

DidScriptCompilationSucceed

(
    bool bGPUScript
)

Public function

void

 

EnableVersioning()

Enables versioning for this script asset.

Public function Static

bool

 

ExecToBinaryData

(
    const UNiagaraScript* Script,
    TArray< uint8 >& OutBinaryData,
    FNiagaraVMExecutableData& InExecDa...
)

Reverse of the BinaryToExecData() function

Public function

void

 

ExposeVersion

(
    const FGuid& VersionGuid
)

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

Public function Const

FNiagaraAsse...

 

FindVersionData

(
    const FGuid& VersionGuid
)

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

Public function

void

 

GenerateStatIDs()

Public function Const

TArray< FNia...

 

GetAllAvailableVersions()

Returns all available versions for this script.

Public function Const

FGuid

 

GetBaseChangeID

(
    const FGuid& VersionGuid
)

Public function

TArray< FNia...

 

GetCachedDefaultDataInterfaces()

Public function

TArray< UNia...

 

GetCachedParameterCollectionReferences()

Public function Const

TOptional< T...

 

GetCompilerTag

(
    const FNiagaraVariableBase& InVar,
    const FNiagaraParameterStore* ...
)

Public function Const

const FNiaga...

 

GetComputedVMCompilationId()

Public function

FText

 

GetDescription

(
    const FGuid& VersionGuid
)

Public function

const FNiaga...

 

GetExecutionReadyParameterStore

(
    ENiagaraSimTarget SimTarget
)

Public function Const

FNiagaraAsse...

 

GetExposedVersion()

Returns the version of the exposed version data (i.e. the version used when adding a module to the stack)

Public function Const

FString

 

GetFriendlyName()

Public function Const

ENiagaraScri...

 

GetLastCompileStatus()

Public function Const

const FVersi...

 

GetLatestScriptData()

Returns the script data for latest exposed version.

Public function

FVersionedNi...

 

GetLatestScriptData()

Returns the script data for latest exposed version.

Public function

UNiagaraScri...

 

GetLatestSource()

Public function Const

const UNiaga...

 

GetLatestSource()

Public function

FString

 

GetNiagaraDDCKeyString

(
    const FGuid& ScriptVersion
)

Creates a string key for the derived data cache

Public function

FNiagaraShad...

 

GetRenderThreadScript()

Public function Const

const FNiaga...

 

GetRenderThreadScript()

Public function

FVersionedNi...

 

GetScriptData

(
    const FGuid& VersionGuid
)

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

Public function Const

const FVersi...

 

GetScriptData

(
    const FGuid& VersionGuid
)

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

Public function

UNiagaraScri...

 

GetSource

(
    const FGuid& VersionGuid
)

Public function Const

const UNiaga...

 

GetSource

(
    const FGuid& VersionGuid
)

Public function Static

TArray< ENia...

 

GetSupportedUsageContextsForBitmask

(
    int32 InModuleUsageBitmask,
    bool bIncludeHiddenUsages
)

Public function Const

ENiagaraScri...

 

GetUsage()

Public function Const

FGuid

 

GetUsageId()

Public function

FNiagaraVMEx...

 

GetVMExecutableData()

Public function Const

const FNiaga...

 

GetVMExecutableData()

Public function Const

const FNiaga...

 

GetVMExecutableDataCompilationId()

Public function

bool

 

HandleVariableRenames

(
    const TMap< FNiagaraVariable, FNiag...,
    const FString& UniqueEmitterName
)

Public function

void

 

InvalidateCompileResults

(
    const FString& Reason
)

Public function

void

 

InvalidateExecutionReadyParameterStores()

Public function Static

bool

 

IsCompilable

(
    ENiagaraScriptUsage Usage
)

Public function Const

bool

 

IsCompilable()

Public function Static

bool

 

IsDynamicInputScript

(
    ENiagaraScriptUsage Usage
)

Public function Const

bool

 

IsDynamicInputScript()

Public function Static

bool

 

IsEmitterSpawnScript

(
    ENiagaraScriptUsage Usage
)

Public function Const

bool

 

IsEmitterSpawnScript()

Public function Static

bool

 

IsEmitterUpdateScript

(
    ENiagaraScriptUsage Usage
)

Public function Const

bool

 

IsEmitterUpdateScript()

Public function Const

bool

 

IsEquivalentUsage

(
    ENiagaraScriptUsage InUsage
)

Public function Static

bool

 

IsEquivalentUsage

(
    ENiagaraScriptUsage InUsageA,
    ENiagaraScriptUsage InUsageB
)

Public function Const

bool

 

IsFunctionScript()

Public function Static

bool

 

IsFunctionScript

(
    ENiagaraScriptUsage Usage
)

Public function Static

bool

 

IsGPUScript

(
    ENiagaraScriptUsage Usage
)

Public function Const

bool

 

IsInterpolatedParticleSpawnScript()

Public function Static

bool

 

IsInterpolatedParticleSpawnScript

(
    ENiagaraScriptUsage Usage
)

Public function Static

bool

 

IsModuleScript

(
    ENiagaraScriptUsage Usage
)

Public function Const

bool

 

IsModuleScript()

Public function Static

bool

 

IsNonParticleScript

(
    ENiagaraScriptUsage Usage
)

Public function Const

bool

 

IsNonParticleScript()

Public function Static

bool

 

IsParticleEventScript

(
    ENiagaraScriptUsage Usage
)

Public function Const

bool

 

IsParticleEventScript()

Public function Static

bool

 

IsParticleScript

(
    ENiagaraScriptUsage Usage
)

Public function Const

bool

 

IsParticleScript()

Public function Const

bool

 

IsParticleSpawnScript()

Public function Static

bool

 

IsParticleSpawnScript

(
    ENiagaraScriptUsage Usage
)

Public function Static

bool

 

IsParticleStageScript

(
    ENiagaraScriptUsage Usage
)

Public function Const

bool

 

IsParticleUpdateScript()

Public function Static

bool

 

IsParticleUpdateScript

(
    ENiagaraScriptUsage Usage
)

Public function Const

bool

 

IsReadyToRun

(
    ENiagaraSimTarget SimTarget
)

Public function Const

bool

 

IsScriptCompilationPending

(
    bool bGPUScript
)

Public function Const

bool

 

IsScriptCooked()

Public function Const

bool

 

IsSpawnScript()

Public function Static

bool

 

IsSpawnScript

(
    ENiagaraScriptUsage Usage
)

Public function Static

bool

 

IsStandaloneScript

(
    ENiagaraScriptUsage Usage
)

Public function Const

bool

 

IsStandaloneScript()

Public function Static

bool

 

IsSupportedUsageContextForBitmask

(
    int32 InModuleUsageBitmask,
    ENiagaraScriptUsage InUsageContext,
    bool bIncludeHiddenUsages
)

Public function Static

bool

 

IsSystemScript

(
    ENiagaraScriptUsage Usage
)

Public function Static

bool

 

IsSystemSpawnScript

(
    ENiagaraScriptUsage Usage
)

Public function Const

bool

 

IsSystemSpawnScript()

Public function Static

bool

 

IsSystemUpdateScript

(
    ENiagaraScriptUsage Usage
)

Public function Const

bool

 

IsSystemUpdateScript()

Public function Static

bool

 

IsUsageDependentOn

(
    ENiagaraScriptUsage InUsageA,
    ENiagaraScriptUsage InUsageB
)

Is usage A dependent on Usage B?

Public function Const

bool

 

IsVersioningEnabled()

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

Public function

void

 

MarkScriptAndSourceDesynchronized

(
    FString Reason,
    const FGuid& VersionGuid
)

Ensure that the Script and its source graph are marked out of sync.

Public function

FOnScriptCom...

 

OnGPUScriptCompiled()

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

Public function

FOnPropertyC...

 

OnPropertyChanged()

Callback issues whenever post edit changed is called on this script.

Public function

FOnScriptCom...

 

OnVMScriptCompiled()

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

Public function Virtual

void

 

PostEditChangeVersionedProperty

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

Public function UFunction

void

 

RaiseOnGPUCompilationComplete()

Public function

void

 

RequestCompile

(
    const FGuid& ScriptVersion,
    bool bForceCompile
)

Request a synchronous compile for the script, possibly forcing it to compile.

Public function

bool

 

RequestExternallyManagedAsyncCompile

(
    const TSharedPtr< FNiagaraCompileRe...,
    FNiagaraVMExecutableDataId& OutCom...,
    uint32& OutAsyncHandle
)

Request an asynchronous compile for the script, possibly forcing it to compile.

Public function

void

 

SetLatestSource

(
    UNiagaraScriptSourceBase* InSo...
)

Public function

void

 

SetSource

(
    UNiagaraScriptSourceBase* InSo...,
    const FGuid& VersionGuid
)

Public function

void

 

SetUsage

(
    ENiagaraScriptUsage InUsage
)

Public function

void

 

SetUsageId

(
    const FGuid& InUsageId
)

Public function

void

 

SetVMCompilationResults

(
    const FNiagaraVMExecutableDataId& ...,
    FNiagaraVMExecutableData& InScript...,
    FNiagaraCompileRequestDataBase*...
)

External call used to identify the values for a successful VM script compilation.

Public function Const

bool

 

ShouldCacheShadersForCooking

(
    const ITargetPlatform* TargetP...
)

Public function

void

 

SyncAliases

(
    const TMap< FString, FString >& Re...
)

Public function

bool

 

SynchronizeExecutablesWithMaster

(
    const UNiagaraScript* Script,
    const TMap< FString, FString >& Re...
)

In the event where we "merge" we duplicate the changes of the master copy onto the newly cloned copy.

Public function Const

bool

 

UsesCollection

(
    const UNiagaraParameterCollection&...
)

Overridden from UNiagaraScriptBase

Name Description

Public function Virtual Const

TConstArrayV...

 

GetSimulationStageMetaData()

Public function Virtual Const

void

 

ModifyCompilationEnvironment

(
    FShaderCompilerEnvironment& OutEnv...
)

Overridden from UObject

Name Description

Public function Virtual

void

 

BeginCacheForCookedPlatformData

(
    const ITargetPlatform* TargetP...
)

Starts caching of platform specific data for the target platform Called when cooking before serialization so that object can prepare platform specific data Not called during normal loading of objects

Public 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

bool

 

IsCachedCookedPlatformDataLoaded

(
    const ITargetPlatform* TargetP...
)

Have we finished loading all the cooked platform data for the target platforms requested in BeginCacheForCookedPlatformData

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

bool

 

IsReadyForFinishDestroy()

Called to check if the object is ready for FinishDestroy.

Public function Virtual

void

 

PostEditChangeProperty

(
    FPropertyChangedEvent& PropertyCha...
)

Called when a property on this object has been modified externally

Public function Virtual

void

 

PostLoad()

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

Public function Virtual

void

 

PreSave

(
    const ITargetPlatform* TargetP...
)

Presave function.

Public function Virtual

void

 

Serialize

(
    FArchive& Ar
)

Handles reading, writing, and reference collecting using FArchive.

Typedefs

Constants

Name

Description

NiagaraCustomVersionTagName

Deprecated Variables

Name Description

Public variable UProperty Meta

uint32: 1

 

bDeprecated_DEPRECATED

Use property in struct returned from GetScriptData() instead

Public variable UProperty Meta

uint32: 1

 

bExperimental_DEPRECATED

Use property in struct returned from GetScriptData() instead

Public variable UProperty Meta

uint32: 1

 

bExposeToLibrary_DEPRECATED

Deprecated, use LibraryVisibility instead.

Public variable UProperty Meta

FText

 

Category_DEPRECATED

Use property in struct returned from GetScriptData() instead

Public variable UProperty Meta

FText

 

CollapsedViewFormat_DEPRECATED

Deprecated, use LibraryVisibility instead.

Public variable UProperty Meta

TSubclassOf< UN...

 

ConversionUtility_DEPRECATED

Use property in struct returned from GetScriptData() instead

Public variable UProperty Meta

FText

 

DeprecationMessage_DEPRECATED

Use property in struct returned from GetScriptData() instead

Public variable UProperty Meta

UNiagaraScript ...

 

DeprecationRecommendation_DEPRECATED

Use property in struct returned from GetScriptData() instead

Public variable UProperty Meta

FText

 

Description_DEPRECATED

Use property in struct returned from GetScriptData() instead

Public variable UProperty Meta

FText

 

ExperimentalMessage_DEPRECATED

Use property in struct returned from GetScriptData() instead

Public variable UProperty Meta

TArray< FNiagar...

 

Highlights_DEPRECATED

Deprecated, use LibraryVisibility instead.

Public variable UProperty Meta

FText

 

Keywords_DEPRECATED

Use property in struct returned from GetScriptData() instead

Public variable UProperty Meta

ENiagaraScriptL...

 

LibraryVisibility_DEPRECATED

Use property in struct returned from GetScriptData() instead

Public variable UProperty Meta

int32

 

ModuleUsageBitmask_DEPRECATED

Use property in struct returned from GetScriptData() instead

Public variable UProperty Meta

FText

 

NoteMessage_DEPRECATED

Use property in struct returned from GetScriptData() instead

Public variable UProperty Meta

ENiagaraNumeric...

 

NumericOutputTypeSelectionMode_DEPRECATED

Use property in struct returned from GetScriptData() instead

Public variable UProperty Meta

TArray< FName >

 

ProvidedDependencies_DEPRECATED

Use property in struct returned from GetScriptData() instead

Public variable UProperty Meta

TArray< FNiagar...

 

RequiredDependencies_DEPRECATED

Use property in struct returned from GetScriptData() instead

Public variable UProperty Meta

TMap< FName, FS...

 

ScriptMetaData_DEPRECATED

Deprecated, use LibraryVisibility instead.

Public variable UProperty Meta

UNiagaraScriptS...

 

Source_DEPRECATED

'Source' data/graphs for this script

Public variable UProperty

int32

 

UsageIndex_DEPRECATED

Which instance of the usage in the graph to use. This is now deprecated and is handled by UsageId.

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