Description

While the OnLobbyMemberLeft event does seem to be fired correctly, the remote member will still be in the lobby's "Members" map, and its data can still be found in FLobbyClientData::MemberDataStorage.
This looks to be due to a typo in FLobbyClientData::CommitClientChanges, as when iterating through LeavingRemoteMembers, "RemoveMember" is called on LeavingMember rather than LeavingRemoteMember:

for (TSharedRef<FLobbyMemberInternal>& LeavingRemoteMember : LeavingRemoteMembers)
{
    RemoveMember(LeavingMember);
    Params.LobbyEvents->OnLobbyMemberLeft.Broadcast(FLobbyMemberLeft{ InternalPublicData, LeavingRemoteMember, ELobbyMemberLeaveReason::Left });
}

Steps to Reproduce

Using FLobbyClientData::CommitClientChanges, have the local user leave the lobby.
Observe the local member is removed as expected, but while remote members will have the OnLobbyMemberLeft event fired for them, they are not actually removed.

(This can be observed when running the "System.Engine.Online.ClientLobbyDataTest" automation test, from the Online Services Common plugin.)

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-354042 in the post.

0
Login to Vote

Unresolved
ComponentUE - Online
Affects Versions5.8
CreatedNov 17, 2025
UpdatedNov 20, 2025
View Jira Issue