Hi there - our team would like to raise what we believe is a bug in current UE5-Main, as well as two related points of feedback. I’ve tried to include as much useful context, but their to-the-point-of-the-matter is formatted underlined.
Earlier this week we were hitting a bug where client machines with splitscreen players were failing to load into a certain level. Upon further review of the logs, we say it was due to
UNetDriver::ProcessRemoteFunctionForChannelPrivate triggering a ClientReliableBufferOverflow error. This is due to how many calls to UWorld::AddToWorld were taking place which were leading to ServerUpdateLevelVisibility calls for each local PlayerController. To illustrate, the this is the rough callstack:
APlayerController::ServerUpdateLevelVisibility
UWorld::AddToWorld
UWorld::UpdateLevelStreaming
UWorld::BlockTillLevelStreamingCompleted
AWorldSettings::NotifyBeginPlay
AGameStateBase::OnRep_ReplicatedHasBegunPlay
As a reminder, our project is on a fork of UE 5.5.4. This specific level had over 900 ULevels changing visibility around BeginPlay. When a single player was on a network machine, this wasn’t a major issue. However, once more than one player was present via splitscreen, this caused redundant calls to ServerUpdateLevelVisibility. As this is a Reliable RPC, this was leading to quickly hitting the 511 limit for out/unacknowledged bunches.
When looking at our mirror of UE5-Main, we noticed the a commit from Dec 18th 2025: CL 49408961 from Richard Malo.
There was a modification to ULevelStreaming::ServerUpdateLevelVisibility to stop after the first PlayerController. Note that a further change was made for UE-363105 that skips the APlayerController if its NetConnection is a UChildConnection (ie, non-primary player PlayerController).
To mitigate our networking splitscreen bug, we applied the same principle to the ServerUpdateLevelVisibility calls inside UWorld::AddToWorld and RemoveFromWorld: stop after the first PlayerController. This seems like what mainline UE5 would also want to do as well.
[Attachment Removed]