Type

Windows
MacOS
Linux

References

Module

NiagaraCore

Header

/Engine/Plugins/FX/Niagara/Source/NiagaraCore/Public/NiagaraCustomVersion.h

Include

#include "NiagaraCustomVersion.h"

Syntax

enum Type
{
    BeforeCustomVersionWasAdded                                             = 0,
    VMExternalFunctionBindingRework,
    PostLoadCompilationEnabled,
    VMExternalFunctionBindingReworkPartDeux,
    DataInterfacePerInstanceRework,
    NiagaraShaderMaps,
    UpdateSpawnEventGraphCombination,
    DataSetLayoutRework,
    AddedEmitterAndSystemScripts,
    ScriptExecutionContextRework,
    RemovalOfNiagaraVariableIDs,
    SystemEmitterScriptSimulations,
    IntegerRandom,
    AddedEmitterSpawnAttributes,
    NiagaraShaderMapCooking,
    NiagaraShaderMapCooking2,
    AddedScriptRapidIterationVariables,
    AddedTypeToDataInterfaceInfos,
    EnabledAutogeneratedDefaultValuesForFunctionCallNodes,
    CurveLUTNowOnByDefault,
    ScriptsNowUseAGuidForIdentificationInsteadOfAnIndex,
    NiagaraCombinedGPUSpawnUpdate,
    DontCompileGPUWhenNotNeeded,
    LifeCycleRework,
    NowSerializingReadWriteDataSets,
    TranslatorClearOutBetweenEmitters,
    AddSamplerDataInterfaceParams,
    GPUShadersForceRecompileNeeded,
    PlaybackRangeStoredOnSystem,
    MovedToDerivedDataCache,
    DataInterfacesNotAllocated,
    EmittersHaveGenericUniqueNames,
    MovingTranslatorVersionToGuid,
    AddingParamMapToDataSetBaseNode,
    DataInterfaceComputeShaderParamRefactor,
    CurveLUTRegen,
    AssignmentNodeUsesBeginDefaults,
    AssignmentNodeHasCorrectUsageBitmask,
    EmitterLocalSpaceLiteralConstant,
    TextureDataInterfaceUsesCustomSerialize,
    TextureDataInterfaceSizeSerialize,
    SkelMeshInterfaceAPIImprovements,
    ImproveLoadTimeFixupOfOpAddPins,
    MoveCommonInputMetadataToProperties,
    UseHashesToIdentifyCompileStateOfTopLevelScripts,
    MetaDataAndParametersUpdate,
    MoveInheritanceDataFromTheEmitterHandleToTheEmitter,
    AddLibraryAssetProperty,
    AddAdditionalDefinesProperty,
    RemoveGraphUsageCompileIds,
    AddRIAndDetailLevel,
    ChangeEmitterCompiledDataToSharedRefs,
    DisableSortingByDefault,
    MemorySaving,
    AddSimulationStageUsageEnum,
    AddGeneratedFunctionsToGPUParamInfo,
    PlatformScalingRefactor,
    PrecompileNamespaceFixup,
    FixNullScriptVariables,
    PrecompileNamespaceFixup2,
    SimulationStageInUsageBitmask,
    StandardizeParameterNames,
    ComponentsOnlyHaveUserVariables,
    RibbonRendererUVRefactor,
    VariablesUseTypeDefRegistry,
    AddLibraryVisibilityProperty,
    SignificanceHandlers,
    ModuleVersioning,
    MoveDefaultValueFromFNiagaraVariableMetaDataToUNiagaraScriptVariable,
    VersionPlusOne,
    LatestVersion                                                           = VersionPlusOne - 1,
}

Values

Name

Description

BeforeCustomVersionWasAdded

Before any version changes were made in niagara.

VMExternalFunctionBindingRework

Reworked vm external function binding to be more robust.

PostLoadCompilationEnabled

Making all Niagara files reference the version number, allowing post loading recompilation if necessary.

VMExternalFunctionBindingReworkPartDeux

Moved some runtime cost from external functions into the binding step and used variadic templates to neaten that code greatly.

DataInterfacePerInstanceRework

Moved per instance data needed for certain data interfaces out to it's own struct.

NiagaraShaderMaps

Added shader maps and corresponding infrastructure.

UpdateSpawnEventGraphCombination

Combined Spawn, Update, and Event scripts into one graph.

DataSetLayoutRework

Reworked data layout to store float and int data separately.

AddedEmitterAndSystemScripts

Reworked scripts to support emitter & system scripts.

ScriptExecutionContextRework

Rework of script execution contexts to allow better reuse and reduce overhead of parameter handling.

RemovalOfNiagaraVariableIDs

Removed the Niagara variable ID's making hookup impossible until next compile.

SystemEmitterScriptSimulations

System and emitter script simulations.

IntegerRandom

Adding integer random to VM. TODO: The vm really needs its own versioning system that will force a recompile when changes.

AddedEmitterSpawnAttributes

Added emitter spawn attributes.

NiagaraShaderMapCooking

Cooking of shader maps and corresponding infrastructure

NiagaraShaderMapCooking2

AddedScriptRapidIterationVariables

Added script rapid iteration variables, usually top-level module parameters...

AddedTypeToDataInterfaceInfos

Added type to data interface infos.

EnabledAutogeneratedDefaultValuesForFunctionCallNodes

Hooked up autogenerated default values for function call nodes.

CurveLUTNowOnByDefault

Now curve data interfaces have look-up tables on by default.

ScriptsNowUseAGuidForIdentificationInsteadOfAnIndex

Scripts now use a guid for identification instead of an index when there are more than one with the same usage.

NiagaraCombinedGPUSpawnUpdate

DontCompileGPUWhenNotNeeded

LifeCycleRework

NowSerializingReadWriteDataSets

TranslatorClearOutBetweenEmitters

AddSamplerDataInterfaceParams

GPUShadersForceRecompileNeeded

PlaybackRangeStoredOnSystem

MovedToDerivedDataCache

DataInterfacesNotAllocated

EmittersHaveGenericUniqueNames

MovingTranslatorVersionToGuid

AddingParamMapToDataSetBaseNode

DataInterfaceComputeShaderParamRefactor

CurveLUTRegen

AssignmentNodeUsesBeginDefaults

AssignmentNodeHasCorrectUsageBitmask

EmitterLocalSpaceLiteralConstant

TextureDataInterfaceUsesCustomSerialize

TextureDataInterfaceSizeSerialize

SkelMeshInterfaceAPIImprovements

ImproveLoadTimeFixupOfOpAddPins

MoveCommonInputMetadataToProperties

UseHashesToIdentifyCompileStateOfTopLevelScripts

MetaDataAndParametersUpdate

MoveInheritanceDataFromTheEmitterHandleToTheEmitter

AddLibraryAssetProperty

AddAdditionalDefinesProperty

RemoveGraphUsageCompileIds

AddRIAndDetailLevel

ChangeEmitterCompiledDataToSharedRefs

DisableSortingByDefault

MemorySaving

AddSimulationStageUsageEnum

AddGeneratedFunctionsToGPUParamInfo

PlatformScalingRefactor

PrecompileNamespaceFixup

FixNullScriptVariables

PrecompileNamespaceFixup2

SimulationStageInUsageBitmask

StandardizeParameterNames

ComponentsOnlyHaveUserVariables

RibbonRendererUVRefactor

VariablesUseTypeDefRegistry

AddLibraryVisibilityProperty

SignificanceHandlers

ModuleVersioning

MoveDefaultValueFromFNiagaraVariableMetaDataToUNiagaraScriptVariable

VersionPlusOne

DO NOT ADD A NEW VERSION UNLESS YOU HAVE TALKED TO THE NIAGARA LEAD.

LatestVersion

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