With the rework of IP address resolution in 4.25, this assert now occurs. When no packet handler is used, UPendingNetGame::InitNetDriver calls SendInitialJoin() immediately, before async address resolution has completed. It will try to write to the send buffer and send data before the buffer or socket/address has been properly initialized. It doesn't assert when the packet handler is enabled because the SendInitialJoin call is deferred until the handler handshake is complete, and this handshake will retry in the background until the address is resolved and the connection is properly set up.


Reverting to the old resolution behavior with "net.IpConnectionDisableResolution 1" will work around the issue when -NoPacketHander is set.

Steps to Reproduce
  1. Start a simple multiplayer project like QAGame or ShooterGame in the editor with "-NoPacketHandler" on the command line
  2. Start a PIE session with 2 players or a dedicated server

Have Comments or More Details?

There's no existing public thread on this issue, so head over toAnswerHub just mention UE-100594 in the post.

Login to Vote

Affects Versions4.25.3
Target Fix5.0-m4
CreatedOct 6, 2020
UpdatedOct 19, 2020