Crash when a subsystem calls GetSubsystemArray() on its owner while engine code is iterating on subsystems also obtained through GetSubsystemArray()

UE - Gameplay - Aug 6, 2024

In some occasions, engine code iterates over a certain subsystem type by calling FSubsystemCollection::GetSubsystemArray() and then calling some method on all subsystems of the returned array. This ...

Levels can get stuck in the 'loading' state when using Incremental GC

UE - Engine Scaling - Streaming - Jul 31, 2024

From licensee:"Testing incremental GC on our project we have ran into an issue with level streaming where levels will get stuck in the 'loading' state in packaged builds. The issue appears to be due ...

Foliage breaking when used Sublevels into a Persistent Level

UE - Engine Scaling - Streaming - Foliage - Jul 31, 2024

Memory leak when Lumen is disabled but r.MeshCardRepresentation=1

UE - Rendering - Features - Lumen - Jul 29, 2024

When Lumen is disabled, but the cvar "r.MeshCardRepresentation" is set to 1, Lumen will continuously enqueue object removal from the Lumen Scene, without ever emptying the array of primitives to rem ...

Cook Determinism - Construction Scripts and ChildActorComponent issues with DiffCooks

UE - Framework - Components - Jul 26, 2024

To step through the issue, in the -DiffOnly cook add a breakpoint to UChildActorComponent::OnRegister and UChildActorComponent::OnUnregister. It should hit 4 times:Once when LoadPackage loads the ma ...

Crash after generating HLODs for merged meshes that have all triangles culled

UE - Engine Scaling - Streaming - HLOD - Jul 25, 2024

Nested PackedLevelActor bounds issue

UE - Engine Scaling - Streaming - Level Instances - Jul 23, 2024

GPU ISM LOD uses bounds length instead of radius

UE - Rendering - Features - Jul 19, 2024

When calculating LOD for instances on GPU in NaniteCullingCommon.ush we use:float RadiusSq = length2(LocalBoxExtent); This doesn't exactly match the CPU logic for static mesh component LOD select ...

Scalebox scaling won't update if child size changes with global invalidation enabled

UE - AI Workflows - UI Systems - Slate - Jul 17, 2024

When global invalidation is enabled, Scale Boxes don't react properly to changes in the size of their contents. Licensees have worked around this by updating SScaleBox::OnArrangeChildren:// This sca ...

LevelEditor: "Replace Actor" marks level as dirty even when using external actors

UE - Engine Scaling - Streaming - Jul 15, 2024

When using external actors, adding/removing/replacing/editing an actor instance inside a level does not cause any modification to the Level package, which helps reduce contention for the map file on ...