Since a player controller only exists on the server and on the owning client, calling a multicast from one isn't really a supported operation. However, this case is still handled cleanly when RepGraph isn't in use. This issue occurs when using the BasicReplicationGraph example and with ShooterReplicationGraph when AShooterPlayerController is modified to include a multicast RPC.

Steps to Reproduce

In a multiplayer game using the replication graph, set up a multicast RPC on the player controller and call it.
Expected: The RPC is only called on the server and on the client owning the player controller.
Actual: The RPC is called on the server, and the server receives an invalid swap message: "LogNet: Received invalid swap message with child index -1". The client also no longer seems to have a valid player controller.

Have Comments or More Details?

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

Login to Vote

Target Fix4.27
Fix Commit15628950
CreatedMar 4, 2021
ResolvedMar 5, 2021
UpdatedAug 17, 2021