This happens because of how FLANSession::Tick will handle receiving multiple response packets from a single host. FLANSession will cache the ResponseGuids of any incoming host response packets, so it only actually calls FOnlineSessionNull::OnValidResponsePacketReceived on the first valid packet received from a host, with subsequent packets with the same ResponseGuid being ignored.
Since the search process will result in multiple query/response packets being sent back and forth between instances, this handling does make sense to prevent duplicate search result entries for a single session on a host. However, in the case where a single host has multiple sessions, this handling prevents the instance from finding any of those sessions other than the first.

Steps to Reproduce

On one instance, create multiple online LAN sessions with different names (e.g. NAME_GameSession and NAME_PartySession).
On another instance (on the same LAN), search for LAN sessions.
Expected: the two sessions would appear in the search results.
Actual: only one session will appear in the search results.

Have Comments or More Details?

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

Login to Vote

ComponentUE - Online
Affects Versions5.1
CreatedFeb 22, 2023
UpdatedSep 7, 2023