UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FortniteMainBranchObjectVersions.inl
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#if defined(DEFINE_FORTNITE_MAIN_VERSIONS)
4#define FORTNITE_MAIN_VERSION(Version, ID) Version,
5#elif defined(CHECK_FORTNITE_MAIN_VERSIONS)
6#define FORTNITE_MAIN_VERSION(Version, ID) static_assert(FFortniteMainBranchObjectVersion::Version == ID);
7#endif
8
9// Before any version changes were made
10FORTNITE_MAIN_VERSION(BeforeCustomVersionWasAdded, 0)
11
12// World composition tile offset changed from 2d to 3d
14
15// Minor material serialization optimization
17
18// Refactored cull distances to account for HLOD, explicit override and globals in priority
22
23// Support to remove morphtarget generated by bRemapMorphtarget
25
26// Convert reduction setting options
28
29// Serialize the type of blending used for landscape layer weight static params
31
32// Fix up None Named animation curve names,
34
35// Ensure ActiveBoneIndices to have parents even not skinned for old assets
37
38// Serialize the instanced static mesh render data, to avoid building it at runtime
39FORTNITE_MAIN_VERSION(SerializeInstancedStaticMeshRenderData, 11)
40
41// Cache material quality node usage
43
44// Font outlines no longer apply to drop shadows for new objects but we maintain the opposite way for backwards compat
46
47// New skeletal mesh import workflow (Geometry only or animation only re-import )
49
50// Migrate data from previous data structure to new one to support materials per LOD on the Landscape
52
53// New Pose Asset data type
55
56// Migrate Foliage TLazyObjectPtr to TSoftObjectPtr
58
59// TimelineTemplates store their derived names instead of dynamically generating
60// This code tied to this version was reverted and redone at a later date
62
63// Added BakePoseOverride for LOD setting
65
66// TimelineTemplates store their derived names instead of dynamically generating
68
69// Avoid duplicating widget animations to save space.
71
72// Allow reducing of the base LOD, we need to store some imported model data so we can reduce again from the same data.
74
75// Curve Table size reduction
77
78// Widgets upgraded with WidgetStopDuplicatingAnimations, may not correctly default-to-self for the widget parameter.
80
81// HUDWidgets now require an element tag
83
84// Animation saved as bulk data when cooked
86
87// Support Virtual Bone in Retarget Manager
89
90// Fixup bad defaults in water metadata
92
93// Move the location of water metadata
95
96// Replaced lake collision component
98
99// Anim layer node names are now conformed by Guid
101
102// Ocean collision component has become dynamic
104
105// FFieldPath will serialize the owner struct reference and only a short path to its property
106FORTNITE_MAIN_VERSION(FFieldPathOwnerSerialization, 33)
107
108// Simplified WaterBody post process material handling
110
111// A single water exclusion volume can now exclude N water bodies
113
114// Serialize rigvm operators one by one instead of the full byte code array to ensure determinism
116
117// Serialize the physical materials generated by the render material
119
120// RuntimeVirtualTextureVolume fix transforms
122
123// Retrieve water body collision components that were lost in cooked builds
125
126// Fix duplicate spline mesh components on rivers
128
129// Indicates level has stable actor guids
131
132// Levelset Serialization support for BodySetup.
134
135// Moving Chaos solver properties to allow them to exist in the project physics settings
137
138// Moving some UFortGameFeatureData properties and behaviors into the UGameFeatureAction pattern
140
141// Add centrifugal forces for cloth
142FORTNITE_MAIN_VERSION(ChaosClothAddfictitiousforces, 45)
143
144// Chaos Convex StructureData supports different index sizes based on num verts/planes
145// Chaos FConvex uses array of FVec3s for vertices instead of particles
146// (Merged from //UE4/Main)
148
149// Remove the WaterVelocityHeightTexture dependency on MPC_Landscape and LandscapeWaterIndo
151
152// Added the weighted value property type to store the cloths weight maps' low/high ranges
153FORTNITE_MAIN_VERSION(ChaosClothAddWeightedValue, 48)
154
155// Added the Long Range Attachment stiffness weight map
156FORTNITE_MAIN_VERSION(ChaosClothAddTetherStiffnessWeightMap, 49)
157
158// Fix corrupted LOD transition maps
159FORTNITE_MAIN_VERSION(ChaosClothFixLODTransitionMaps, 50)
160
161// Enable a few more weight maps to better art direct the cloth simulation
163
164// Enable material (edge, bending, and area stiffness) weight maps
166
167// Added bShowCurve for movie scene float channel serialization
169
170// Minimize slack waste by using a single array for grass data
172
173// Add loop counters to sequencer's compiled sub-sequence data
174FORTNITE_MAIN_VERSION(AddedSubSequenceEntryWarpCounter, 55)
175
176// Water plugin is now component-based rather than actor based
178
179// Cooked BPGC storing editor-only asset tags
181
182// Terrain layer weights are no longer considered material parameters
184
185// Anim Dynamics Node Gravity Override vector is now defined in world space, not simulation space.
186// Legacy behavior can be maintained with a flag, which is set false by default for new nodes,
187// true for nodes predating this change.
189
190// Anim Dynamics Node Physics parameters for each body in a chain are now stored in an array and can be edited.
192
193// Decoupled the generation of the water texture from the Water Brush and the landscape
195
196// Add faster damping calculations to the cloth simulation and rename previous Damping parameter to LocalDamping.
198
199// Migrated function handlers to the CDO/archetype data
201
202// Storing inertia tensor as vec3 instead of matrix.
204
205// Migrated event definitions to the CDO/archetype data
207
208// Serialize LevelInstanceActorGuid on new ILevelInstanceInterface implementation
210
211// Single-frame/key AnimDataModel patch-up
213
214// Remapped bEvaluateWorldPositionOffset to bEvaluateWorldPositionOffsetInRayTracing
216
217// Water body collision settings are now those of the base UPrimitiveComponent, rather than duplicated in UWaterBodyComponent
219
220// Introducing widget inherited named slots. This wouldn't have required a version bump, except in the previous
221// version, users could make NamedSlots and then Seed them with any random widgets, as a sorta 'default' setup.
222// In order to preserve that, we're bumping the version so that we can set a new field on UNamedSlot to control
223// if a widget exposes its named slot to everyone (even if it has content) which by default they wont any longer.
225
226// Added water HLOD material
228
229// Moved parameters affecting Skeleton pose rendering from the PoseWatch class to the PoseWatchPoseElement class.
231
232// Reset default value for Water exclusion volumes to make them more intuitive and support the "it just works" philosophy.
234
235// Added water non-tessellated LOD
237
238// Added FHierarchicalSimplification::SimplificationMethod
240
241// Changed how world partition streaming cells are named
243
244// Serialize ContentBundleGuid in WorldPartitionActorDesc
246
247// Serialize IsActorRuntimeOnly in WorldPartitionActorDesc
249
250// Add Nanite Material Override option to materials and material instances.
252
253// Serialize HLOD stats in HLODActorDesc
255
256// WorldPartitionStreamingSourceComponent property deprecation
258
259// Fixed localization gathering for external actor packages
261
262// Change HLODActors to RuntimeCells mapping to use a GUID instead of the cell name
264
265// Add an attribute to geometry collection to track internal faces, rather than relying on material ID numbering
267
268// Dynamic cast nodes use an enumerated pure node state to include a value for the default setting
270
271// Add FWorldPartitionActorFilter to FLevelInstanceActorDesc/FDataLayerInstanceDesc
273
274// Change the non-spatialized radius to blend to a pure 2D spatialized sound vs omnidirectional
276
277// Serialize actor class descriptors
279
280// FActorContainerID is now an FGuid instead of a uint64
282
283// FDataLayerInstanceDesc support for private data layers
285
286// Reduce size and improve behaviour of Chaos::FImplicitObjectUnion
288
289// FLevelInstanceActorDesc DeltaSerialize Filter
291
292// Fix the Nanite landscape mesh non-deterministic DDC keys
294
295// Change how connection graphs are stored on Geometry Collections to an edge-array representation
297
298// Moved the water info mesh data and static water body meshes into new static mesh components for water bodies.
300
301// Serialize invalid bounds in world partition actor descriptors
303
304// Upgrade Navigation Links to use 64 bits for the ID
306
307// Serialize editor only references in world partition actor descriptors
309
310// Add support for soft object paths in actor descriptors
312
313// Don't serialize class descriptor GUIDs
315
316// Serialize ActorDesc bIsMainWorldOnly
318
319// FWorldPartitionActorFilter go back to FString serialize of AssetPaths to avoid FArchiveReplaceOrClearExternalReferences clearing CDO references on BP Compile
321
322// Add FPackedLevelActorDesc for APackedLevelActor and support for APackedLevelActor Filters
324
325// Add customizable values for several UWorldPartitionRuntimeSpatialHash cvars
327
328// WorldPartition HLOD now contains a source actors object
330
332
333// Geometry Collection now by-default converts vertex colors to sRGB when creating render data
335
336// Water bodies before this version need to update their water zone on load since they won't have been serialized yet.
338
339// Set flags on water static meshes to duplicate transient to avoid underlying static mesh duplication issue
341
342// Update paths to use the SkeletalClass
344
345// Fixup all flags/outering on static meshes on water bodies by rebuilding them completely
347
348// Binding extensions for anim graph nodes
350
351// Function data stores a map from work to debug operands
353
354// Fix missing binding extensions for some anim graph nodes
356
357// EditableWhenInherited: Skip custom serialization on non Archetypes
359
360// GrassTypes are now per-component, rather than per-landscape proxy :
362
363// World partition actor data layers activation logic operator support defaults for old maps
365
366// Started sorting Possessables, Spawnables, and MovieSceneBindings for better search performance.
368
369// Remove the UAnimCurveCompressionCodec::InstanceGuid which causes cook determinism issues
371
372// Serialize the source HLOD Layer for HLOD actor descriptors.
374
375// Serialize custom editor bounds for HLOD actor descriptors.
377
378// Changed default Local Exposure Contrast from 1.0 to 0.8 (reverted)
380
381// Added support of external packaging of Data Layer Instances
383
384// Update paths to keep a flag if they are the widget BP
386
387// Enabled ObjectPtr property serialization for Dataflow nodes
389
390// Add anim notify rate scaling, defaults to on for new content, off for old content
392
393// Fix tangents for non-uniform build scales, and add a flag to optionally match the previous (incorrect) tangents
395
396// AnimNode Layers will now start in a Shared Group, instead of being each one on a different group at runtime
398
399// Move AnimNext graphs to sub-entries of assets
401
402// Removed debug information containing compressed data author, time etc. from animation DDC data as it introduces indeterminism
404
405// Changes to Orthographic Camera default settings
407
408// Added settings to Landscape HLODs
410
411// Skeletal Mesh uses Mesh Description to store mesh bulk data.
413
414// Skeletal Mesh optionally cooks half edge data per lod
416
417// Combine graph contexts for AnimNext graphs
419
420// Combine parameter blocks and graphs
422
423// Move workspaces to a separate plugin
425
426// Level Instance Property overrides
428
429// Added FVolumetricLightMapGridDesc in MapBuildData
431
432// Introduce new structure for customizing the landscape edit layer behavior
434
435// Change workspaces to store asset references as external objects
437
438// Add support for anytype in dataflow
440
441// Adding a new flag in RBAN Solver Setting to be able to use manifolds
443
444// Added support for to record sim and query data of Shape Instance data in CVD
446
447// Add the imported asset dependencies to the Cloth Asset USD Import node
449
450// Changed HitLighting to HitLightingForReflections, and HitLighting now means hit lighting for entire Lumen
452
453// PCGPartitionActorDesc
455
456// Target layers are now defined in the Landscape actor and not continuously synced from the assigned material.
458
459// Fix to get full name of templated type ( Tarray > TArray<Float> for example )
461
462// Changes for LevelInstance support in StaticLighting
464
465// PCGGridDescriptor
467
468// AnimNext graphs now have public/private state
470
471// Added a more stable pixel depth offset mode.
473
474// Added hideable pins to dataflow
476
477// Added multiple section import to the cloth asset skeletal mesh import node
479
480// Serialize EditorBounds in WorldPartitionActorDesc
482
483// Fixup for the data that has been damaged by LandscapeTargetLayersInLandscapeActor (loss of landscape layer info object assignments)
485
486//Allow custom import of morph target
488
489// Fix chaos cloth buckling stiffness parameter bug
491
492// LevelSequenceUpgradeDynamicBindings was removed but was intended for this position. Putting this here to make sure versioning of subsequent assets remains the same
494
495// AddToFrontend GFA now defaults to unload plugin on exit frontend
497
498// Upgraded movie scene 'dynamic bindings' to use the new Custom Bindings system
500
501// Changed the precision for the stored rotation on kinematic targets to match the precision used in particles
503
504// PCG changes around the ApplyOnActor node, where we collapsed the TargetActor to the input pin.
506
507// Deprecation of the bPlaying flag on FTimeline struct types in favor of a better
508// PlayingStateTracker type to improve replication reliability
510
511// Enable SkipOnlyEditorOnly style cooking of UStaticMeshComponent::MeshPaintTexture
513
514// Fixup and synchronize some landscape properties that have moved to the property sharing/overriding system :
516
517// Multiple changes to AnimNext modules, variables etc.
519
520// Subsurface profile now has a guid to be able to select one of many in a Substrate material.
522
523// Added support for to record the new solver iteration settings in CVD
525
526// Updated FColorMaterialInput to use FLinearColor instead of FColor
528
529// Updated editor only AFunctionalTest running logic to run tests editor world if the actors don't support PIE
531
532// Added support for display name in the Visual Logger
534
535// Added support for the GyroscopicTorque flag in CVD
537
538// Added managed array property serialization
540
541// Landscape texture patches in Texture Asset source mode now use proper resolution when calculating transform
543
544// Added support for relative transform in WorldPartitionActorDesc
546
547// Make sure scene graph entities are not public by default
549
550// Added debug color for physical materials
552
553// Added PreprocessedFontGeometry to FFontFaceData
555
556// Added Dynamic Mesh Sculpt Layer serialization
558
559// Fix reachable garbage object warnings from some legacy ASpatialHashRuntimeGridInfo actors
561
562// Removed UAnimSequence::bUseRawDataOnly flag alongside compression refactor
564
565// HLOD relevancy of Level Instances was previously ignored, now taken into account. Reset to the default behavior.
567
568// Updated default scene capture post-processing settings to reflect the underlying implementation overrides
570
571// Add Cloth Asset Base class serialization
573
574// Add inline constant default values to the PCG graph nodes.
576
577// Add MaterialSubstrateSubsurfaceType type to UMaterialExpressionSubstrateSlabBSDF for replacing bUseSSSDifffusion
579
580// Added option to visualize runtime virtual textures' streamed mips only in PIE
582
583// Media plate holdout composite components have been replaced by a checkbox
585
586// Changed PCG landscape cache default from "serialize at cook" to "never serialize"
588
589// FSoftObjectPath::SubPathString changed to FUtf8String
591
592// FSoftObjectPath::SubPathString could be saved with trailing NULs and need truncating
594
595// Water body components no longer need to maintain their own PhysicalMaterial property since they are primitive components. After this version, leverage that one instead.
597
598// PCG fixed attribute set -> point conversion passing through empty point data as-is and violating output pin type.
600
601//Add per material slot overlay material data
603
604// Convert Sustrate glint density properly
606
607// Introduced skinweight validation to avoid render crashes and disappearing simulation meshes
609
610// Switching verse from right handed to left handed
612
613// Added additional data required to record and represent particle data from the game thread (Kinematic targets, and SQ rejection reasons)
615
616// Upgrade UMG widget blueprints using legacy animation API
618
619// Changed clockwise detection algorithm for PCGSplineDirection node with the correct one, but add a version to not break previous nodes.
621
622// Rect Lights set in EV units had the wrong intensity (older files need a flag set to keep the old look)
624
625// Add particle bounds to data exported to CVD
627
628// Migrate properties from FLandscapeLayer to ULandscapeEditLayer
630
631// Added more context data to CVD's traced shapes so we can play it back at the solver stage level (not just game thread frames)
633
634// Changed default grid mode in surface sampler to a version that's more intuitive and less error-prone
636
637// Media plate overlay composite technique replacement with holdout composite
639
640// Added particle flag to allow/disallow partial island sleeping in the island the particle is in
642
643// Material Function Blend Deserialize Top/Bottom input nodes with clearer enum marker.
645
646// Cooked CPU-side morph target points are now stored internally in the same compressed format as the GPU morph data.
648
649// AnimNext variables converted to references
651
652// The default distortion rendering mode used by the Lens Component is now the Lens Distortion Scene View Extension
654
655// Animation default blend option changed from Linear to HermiteCubic (aka SmoothStep, ease in / ease out)
657
658// Moved Position/Velocity/Projection Iteration Counts from FChaosVDFRigidParticleControlFlags to FChaosVDParticleDynamicMisc
660
661// Added missing custom serialization for some properties in the ParticleDynamicMisc structure used by the Chaos Visual Debugger
663
664// Change default value for deprecated bEnableWorldPartitionGenerationSources
666
667// Refactored the composite (plugin) actor scene capture management.
669
670// Moved HLOD Layer properties to an editor only optional object
672
673// Deduplicated particle debug names serialization in the Chaos Visual Debugger
675
676// Add BloomGaussianIntensity and BloomConvolutionIntensity
678
679// Add support for world partition actor component descriptors
681
682// Migrate Non-Edit layer landscapes to use the edit layer (ULandscapeEditLayer) system
684
685// FDynamicMeshAttributeSet has Morph Targets.
687
688// Introduce landscape advanced weight blending
690
691// -----<new versions can be added above this line>-------------------------------------------------
692#undef FORTNITE_MAIN_VERSION
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127