FSoftObjectPath properties marked as both Config and Untracked are being tracked

UE - Foundation - Core - Apr 25, 2019

A licensee has found that marking an FSoftObjectPath property as Config and Untracked causes the untracking metadata to be ignored. This is because FSoftObjectPathThreadContext::GetSerializationOpt ...

Dropping a packet containing an initial replication for a Custom Delta Property breaks replication

UE - Networking - May 6, 2019

Custom Delta Property NAK handling is done via Custom Delta Base States. Whenever we replicate a CDP, we have the implementing code return a Custom Delta Base State. However, before a CDP is ever re ...

BP nativization emits incorrect C++ code for noexport-typed struct field access in some cases.

UE - Gameplay - Blueprint - Dec 18, 2019

In BlueprintCompilerCppBackendUtils.cpp: #define MAP_BASE_STRUCTURE_ACCESS(x) \ BaseStructureAccessorsMap.Add(x, TEXT("#x")) Needs to be changed to: #define MAP_BASE_STRUCTURE_ACCESS(x) \ ...

Reading curves from an FBX incorrect with FFbxCurvesAPI

UE - Anim - Sequencer - Dec 20, 2019

A licensee has brought up some inaccuracies in the reading of curve data from FBX files: #1, Remove calls to SetKeyInterpMode, SetKeyTangentMode, SetKeyTangentWeightMode, and change them to NewKey. ...

BP - Nativized builds will incur data loss in a Blueprint class that contains more than one ChildActor component and for which each had its child actor class set in the Details tab before being renamed away from "ChildActor" in the component editor tree.

UE - Gameplay - Blueprint - Jan 27, 2020

Child actor component templates, when nativized, end up being owned by the converted Blueprint class object, rather than the child actor component template. Furthermore, we don't regenerate the chil ...

Reordering instanced components in the Actor Details tab invalidates the relocated instance such that it can no longer be registered into the current world.

Tools - Feb 5, 2020

After reordering, if you hover over the "Component Blueprint B" entry, the object path indicates that it's incorrectly referencing a transient object. This is why GetWorld() now returns NULL and the ...

Native struct types that declare one or more non-UPROPERTY fields are not initialized with the default value from a modified Blueprint CDO.

UE - Gameplay - Blueprint - Feb 12, 2020

Dynamically-spawned instances of a Blueprint class go through an optimized property initialization pass (see UBlueprintGeneratedClass::BuildCustomPropertyListForPostConstruction() and InitProperties ...

PIE crash due to non-empty ULevel::DestroyedReplicatedStaticActors array

UE - Networking - Feb 17, 2020

It's possible to end up in a state where some entries were saved in ULevel::DestroyedReplicatedStaticActors, which causes a crash when PIE starts up. I'm not sure how entries could end up in this l ...

Vislog can store an incorrect Owner location

UE - AI - Apr 14, 2020

In some circumstances a vislog entry can end up with it's location not set up to owner's location. ...

Returning the base class type by literal value in a base class function will return a different value in a child class when it's nativized.

UE - Gameplay - Blueprint - Apr 27, 2020

If a base class function returns its own class as a literal value, the nativization process will emit the literal term as "GetClass()" rather than as the actual value (e.g. UBPBase::StaticClass()). ...