There are cases where changing the Role and RemoteRole of a Pawn doesn't get properly replicated. The underlying issue has to do with ScopedRoleDowngrades and Shared Shadow State.

A workaround is to set the cvar net.ShareShadowState to 0, though this will likely negatively impact server performance.

Steps to Reproduce
  1. Create a new BP Only Project.
  2. Add in logic to Posses / Unposses Pawns.
  3. Add Several replicated Pawns to the game.
  4. Launch the game (PIE is fine) with a Server (dedicated or listen) and at least two Clients.
  5. On the second Client Possess multiple different Pawns.
  6. On the second Client, iterate over all Pawns and print their net Role.

*Note:* Order of client connection *is* important.

Only the currently possessed pawn has Role AutonomousProxy on the second Client, all other pawns are SimulatedProxy.

Any pawn that was ever possessed by the second Client has Role AutonomousProxy.

Have Comments or More Details?

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

Login to Vote

Affects Versions4.
Target Fix4.22
Fix Commit4596859
Main Commit4804559
Release Commit4862694
CreatedJan 25, 2018
ResolvedNov 27, 2018
UpdatedMay 27, 2019