For a non-replicated actor, the expected values for its local and remote roles would be ROLE_Authority and ROLE_None respectively. However, in ULevel::InitializeNetworkActors, ExchangeNetRoles(true) is called on all of a level's actors on the client, resulting in these default values being switched for non-replicated actors (i.e. their local role will be None and their remote role will be Authority). 

Steps to Reproduce

Place a non-replicated actor into a level. On a client instance, dynamically spawn another one of these non-replicated actors, and compare the local/remote roles for these actors.
Expected: both actors will have a local role of ROLE_Authority and a remote role of ROLE_None.
Actual: the statically placed actor will have a local role of ROLE_None and a remote role of ROLE_Authority

Have Comments or More Details?

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

Login to Vote

ComponentUE - Networking
Affects Versions5.2
Target Fix5.5
CreatedMay 23, 2023
UpdatedFeb 23, 2024