Small UInstancedStaticMeshComponent::UpdateInstanceTransformById bug

UE - Graphics Features - Nov 20, 2024

The call to UpdateInstanceTransform within UInstancedStaticMeshComponent::UpdateInstanceTransformById(..) sends bTeleport in place of bMarkRenderStateDirty that was added as part of Unreal Engine 5. ...

Shadow Maps performance issue with 5.4 in comparison towards 5.3

UE - Graphics Features - Shadows - Nov 20, 2024

Shadow depths performance for non-VSM in certain scenes, notably those with rect lights and meshes that are set to movable, went from ~2ms to ~18ms going from UE 5.3 to UE 5.4. Setting the movable a ...

Focus mode in the Editor does not handle Actors without PrimitiveComponent correctly, treating them as if they were at the origin (0,0,0), skewing the camera placement.

UE - World Creation - Worldbuilding Tools - Nov 18, 2024

Focus mode in the Editor does not handle Actors without PrimitiveComponent correctly, treating them as if they were at the origin (0,0,0), skewing the camera placement. Some Actors like the WorldDat ...

External Actors can hold stale references to Blueprint classes as edited instance properties

UE - World Creation - Worldbuilding Tools - Nov 14, 2024

When a component is removed from a class that exists as an instance with external actors enabled, a deleted BP component on an actor will remain referenced by the instance. Disabling External Actor ...

When a Niagara System has SimTarget set to GPUCompute Sim, CameraQuery is only returning data from the Player0 camera, ignoring the PlayerControllerIndex.

When a Niagara System has SimTarget set to GPUCompute Sim, CameraQuery is only returning data from the Player0 camera, regardless of PlayerControllerIndex. The expected behavior would be to have the ...

Actors removed from the world are unregistered both before and after EndPlay

UE - World Creation - Worldbuilding Tools - Nov 5, 2024

Actors that are removed from the world have UnregisterAllComponents called twice. Removal can be caused by unloading a data layer that owns the actor. In cases like exiting the application or destr ...

CreateD3D12Texture causes the Low Level Memory system to register two allocations for the same pointer on the same track channel

UE - Rendering Architecture - RHI - Oct 31, 2024

CreateD3D12Texture causes two OnLowLevelAllocs in LLM to be called with the same pointer and the same channel, leading to a warning. LLM WARNING: Replacing allocation in tracking map. Alloc/Free Mi ...

TraceString for TChar strings has an erroneous return statement leading to unreachable code

UE - Foundation - Insights - Oct 23, 2024

In StringTrace.cpp, the TraceString(const TCHAR* InString) function has an erroneous return statement before UE_TRACE_LOG_DEFINITION within the branch checking if the string is already in the set. ...

D3D12Texture::Lock incorrectly sizes staging buffer when locking block compressed resources

UE - Rendering Architecture - RHI - Oct 23, 2024

D3D12Texture::Lock computes the size of the staging buffer on Line 1541 of D3D12Texture.cpp. This size uses the RowPitch, which for BCn resources encapsulates the size in bytes of a single row of bl ...