FNiagaraCustomVersion
Namespace: UAssetAPI.CustomVersions
public enum FNiagaraCustomVersion
Inheritance Object → ValueType → Enum → FNiagaraCustomVersion
Implements IComparable, ISpanFormattable, IFormattable, IConvertible
Fields
| Name | Value | Description |
|---|---|---|
| BeforeCustomVersionWasAdded | 0 | Before any version changes were made in niagara |
| VMExternalFunctionBindingRework | 1 | Reworked vm external function binding to be more robust. |
| PostLoadCompilationEnabled | 2 | Making all Niagara files reference the version number, allowing post loading recompilation if necessary. |
| VMExternalFunctionBindingReworkPartDeux | 3 | Moved some runtime cost from external functions into the binding step and used variadic templates to neaten that code greatly. |
| DataInterfacePerInstanceRework | 4 | Moved per instance data needed for certain data interfaces out to it's own struct. |
| NiagaraShaderMaps | 5 | Added shader maps and corresponding infrastructure |
| UpdateSpawnEventGraphCombination | 6 | Combined Spawn, Update, and Event scripts into one graph. |
| DataSetLayoutRework | 7 | Reworked data layout to store float and int data separately. |
| AddedEmitterAndSystemScripts | 8 | Reworked scripts to support emitter and system scripts |
| ScriptExecutionContextRework | 9 | Rework of script execution contexts to allow better reuse and reduce overhead of parameter handling. |
| RemovalOfNiagaraVariableIDs | 10 | Removed the Niagara variable ID's making hookup impossible until next compile |
| SystemEmitterScriptSimulations | 11 | System and emitter script simulations. |
| IntegerRandom | 12 | Adding integer random to VM. TODO: The vm really needs its own versioning system that will force a recompile when changes. |
| AddedEmitterSpawnAttributes | 13 | Added emitter spawn attributes |
| NiagaraShaderMapCooking | 14 | cooking of shader maps and corresponding infrastructure |
| NiagaraShaderMapCooking2 | 15 | don't serialize shader maps for system scripts |
| AddedScriptRapidIterationVariables | 16 | Added script rapid iteration variables, usually top-level module parameters... |
| AddedTypeToDataInterfaceInfos | 17 | Added type to data interface infos |
| EnabledAutogeneratedDefaultValuesForFunctionCallNodes | 18 | Hooked up autogenerated default values for function call nodes. |
| CurveLUTNowOnByDefault | 19 | Now curve data interfaces have look-up tables on by default. |
| ScriptsNowUseAGuidForIdentificationInsteadOfAnIndex | 20 | Scripts now use a guid for identification instead of an index when there are more than one with the same usage. |
| NiagaraCombinedGPUSpawnUpdate | 21 | don't serialize shader maps for update scripts |
| DontCompileGPUWhenNotNeeded | 22 | don't serialize shader maps for emitters that don't run on gpu. |
| NowSerializingReadWriteDataSets | 24 | We weren't serializing event data sets previously. |
| TranslatorClearOutBetweenEmitters | 25 | Forcing the internal parameter map vars to be reset between emitter calls. |
| AddSamplerDataInterfaceParams | 26 | added sampler shader params based on DI buffer descriptors |
| GPUShadersForceRecompileNeeded | 27 | Need to force the GPU shaders to recompile |
| PlaybackRangeStoredOnSystem | 28 | The playback range for the timeline is now stored in the system editor data. |
| MovedToDerivedDataCache | 29 | All cached values will auto-recompile. |
| DataInterfacesNotAllocated | 30 | Data interfaces are preallocated |
| EmittersHaveGenericUniqueNames | 31 | emitter scripts are built using "Emitter." instead of the full name. |
| MovingTranslatorVersionToGuid | 32 | no longer have compiler version enum value in this list, instead moved to a guid, which works better for the DDC |
| AddingParamMapToDataSetBaseNode | 33 | adding a parameter map in/out to the data set base node |
| DataInterfaceComputeShaderParamRefactor | 34 | refactor of CS parameters allowing regular params as well as buffers. |
| CurveLUTRegen | 35 | bumping version and forcing curves to regen their LUT on version change. |
| AssignmentNodeUsesBeginDefaults | 36 | Changing the graph generation for assignment nodes so that it uses a "Begin Defaults" node where appropriate. |
| AssignmentNodeHasCorrectUsageBitmask | 37 | Updating the usage flage bitmask for assignment nodes to match the part of the stack it's used in. |
| EmitterLocalSpaceLiteralConstant | 38 | Emitter local space is compiled into the hlsl as a literal constant to expose it to emitter scripts and allow for some better optimization of particle transforms. |
| TextureDataInterfaceUsesCustomSerialize | 39 | The cpu cache of the texture is now directly serialized instead of using array property serialization. |
| TextureDataInterfaceSizeSerialize | 40 | The texture data interface now streams size info |
| SkelMeshInterfaceAPIImprovements | 41 | API to skeletal mesh interface was improved but requires a recompile and some graph fixup. |
| ImproveLoadTimeFixupOfOpAddPins | 42 | Only do op add pin fixup on existing nodes which are before this version |
| MoveCommonInputMetadataToProperties | 43 | Moved commonly used input metadata out of the strin/string property metadata map to actual properties on the metadata struct. |
| UseHashesToIdentifyCompileStateOfTopLevelScripts | 44 | Move to using the traversed graph hash and the base script id for the FNiagaraVMExecutableDataId instead of the change id guid to prevent invalidating the DDC. |
| MetaDataAndParametersUpdate | 45 | Reworked how the metadata is stored in NiagaraGraph from storing a Map of FNiagaraVariableMetaData to storing a map of UNiagaraScriptVariable* to be used with the Details panel. |
| MoveInheritanceDataFromTheEmitterHandleToTheEmitter | 46 | Moved the emitter inheritance data from the emitter handle to the emitter to allow for chained emitter inheritance. |
| AddLibraryAssetProperty | 47 | Add property to all Niagara scripts indicating whether or not they belong to the library |
| AddAdditionalDefinesProperty | 48 | Addding additional defines to the GPU script |
| RemoveGraphUsageCompileIds | 49 | Remove the random compile id guids from the cached script usage and from the compile and script ids since the hashes serve the same purpose and are deterministic. |
| AddRIAndDetailLevel | 50 | Adding UseRapidIterationParams and DetailLevelMask to the GPU script |
| ChangeEmitterCompiledDataToSharedRefs | 51 | Changing the system and emitter compiled data to shared pointers to deal with lifetime issues in the editor. They now are handled directly in system serialize. |
| DisableSortingByDefault | 52 | Sorting on Renderers is disabled by default, we add a version to maintain existing systems that expected sorting to be enabled |
| MemorySaving | 53 | Convert TMap into TArray to save memory, TMap contains an inline allocator which pushes the size to 80 bytes |
| AddSimulationStageUsageEnum | 54 | Added a new value to the script usage enum, and we need a custom version to fix the existing bitfields. |
| AddGeneratedFunctionsToGPUParamInfo | 55 | Save the functions generated by a GPU data interface inside FNiagaraDataInterfaceGPUParamInfo |
| PlatformScalingRefactor | 56 | Removed DetailLevel in favor of FNiagaraPlatfomSet based selection of per platform settings. |
| PrecompileNamespaceFixup | 57 | Promote parameters used across script executions to the Dataset, and Demote unused parameters. |
| FixNullScriptVariables | 58 | Postload fixup in UNiagaraGraph to fixup VariableToScriptVariable map entries being null. |
| PrecompileNamespaceFixup2 | 59 | Move FNiagaraVariableMetaData from storing scope enum to storing registered scope name. |
| SimulationStageInUsageBitmask | 60 | Enable the simulation stage flag by default in the usage bitmask of modules and functions |
| StandardizeParameterNames | 61 | Fix graph parameter map parameters on post load so that they all have a consisten parsable format and update the UI to show and filter based on these formats. |
| ComponentsOnlyHaveUserVariables | 62 | Make sure that UNiagaraComponents only have override maps for User variables. |
| RibbonRendererUVRefactor | 63 | Refactor the options for UV settings on the ribbon renderer. |
| VariablesUseTypeDefRegistry | 64 | Replace the TypeDefinition in VariableBase with an index into the type registry |
| AddLibraryVisibilityProperty | 65 | Expand the visibility options of the scripts to be able to hide a script completely from the user |
| ModuleVersioning | 67 | Added support for multiple versions of script data |
| ChangeSystemDeterministicDefault | 69 | Changed the default mode from deterministic to non-deterministic which matches emitters |
| StaticSwitchFunctionPinsUsePersistentGuids | 70 | Update static switch pins to use the PersistentId from their script variable so that when they're renamed their values aren't lost when reallocating pins. |
| VisibilityCullingImprovements | 71 | Extended visibility culling options and moved properties into their own struct. |
| PopulateFunctionCallNodePinNameBindings | 73 | Function call node refresh from external changes has been refactored so that they don't need to populate their name bindings every load. |
| ComponentRendererSpawnProperty | 74 | Changed the default value for the component renderer's OnlyCreateComponentsOnParticleSpawn property |
| RepopulateFunctionCallNodePinNameBindings | 75 | Previous repopulate didn't handle module attributes like Particles.Module.Name so they need to be repopulated for renaming to work correctly. |
| EventSpawnsUpdateInitialAttributeValues | 76 | Event spawns now optionally update Initial. attribute values. New default is true but old data is kept false to maintain existing behavior. |
| AddVariadicParametersToGPUFunctionInfo | 77 | Adds list of variadic parameters to the information about GPU functions. |
| DynamicPinNodeFixup | 78 | Some data fixup for NiagaraNodeWithDynamicPins. |
| RibbonRendererLinkOrderDefaultIsUniqueID | 79 | Ribbon renderer will default to unique ID rather than normalized age to make more things 'just work' |
| SubImageBlendEnabledByDefault | 80 | Renderer SubImage Blends are enabled by default |
| RibbonPlaneUseGeometryNormals | 81 | Ribbon renderer will use geometry normals by default rather than screen / facing aligned normals |
| InitialOwnerVelocityFromActor | 82 | Actors velocity is used for the initial velocity before the component has any tracking, old assets use the old zero velocity |
| ParameterBindingWithValueRenameFixup | 83 | FNiagaraParameterBindingWithValue wouldn't necessarily have the appropriate ResolvedParameter namespace when it comes to emitter merging |
| SimCache_BulkDataVersion1 | 84 | Sim Cache moved to bulk data by default |
| InheritanceUxRefactor | 85 | Decoupling of 'Template' and 'Inheritance' |
| NDCSpawnGroupOverrideDisabledByDefault | 86 | NDC Read DIs will not override spawn group by default when spawning particles. Old content will remain unchanged. |
| CustomSortingBindingToAge | 87 | Before it was normalized age which can introduce flickering with sorting and random lifetimes |
| StatelessInitialMeshOrientationV1 | 88 | Update Initial Mesh Orientation Module |
| HierarchyEditorScriptSupport | 89 | Hierarchy Editor was implemented |
| EmitterStateAddLoopDelayEnabled | 90 | Added loop delay enabled to emitter state |
| VersionPlusOne | 91 | DO NOT ADD A NEW VERSION UNLESS YOU HAVE TALKED TO THE NIAGARA LEAD. Mismanagement of these versions can lead to data loss if it is adjusted in multiple streams simultaneously. -----new versions can be added above this line------------------------------------------------- |