When a client sends an Unreliable RPC to the Server in same frame with a Reliable RPC, Unreliable RPCs are Reliable. It implies extremely high lag on each lost RPC and all following ones. User loses all benefits of Unreliable RPCs that should always deliver as fast as possible the last received information, and ignore lost information. This is a regression from 4.19.2 (CL-4033788).
This was reported and tested in 4.20.3 (CL-4369336). This was reproduced in Main 4.21 (4392549)
Alternatively from a Blank Project:
Results: The problem only appear on Unreliable RPCs that have been called from Client to Server (not RPC called from Server to Client). Those Unreliable RPC are never lost, and it implies very high lag (sometime more than 1 second) on non-lost RPC : it waits to resend the lost one.
Expected: Unreliable RPCs should always been unreliable. They have to be guaranteed, but if Engine detects a lost, it should not wait to deliver the next unreliable RPC.
There's no existing public thread on this issue, so head over to AnswerHub just mention UE-64431 in the post.