Description

I've been looking into replicating HMD movement across the network

I found a thread where there was an example "MPRepro" to show the how to do this, but testing that example, I see behavior where only the client's movement is replicated to the server, but not the server's to the client.

The setup calls a replicated function on the server to update the HMD position, and I see the server function get called for both players. The replicated function calls a multicast function back on the clients to update the position for all pawns, but the client is only ever getting that call back for it's own pawn.

Despite what [Link Removed] and the Replicating Variables in Blueprints > RepNotify documentation says, the rep-notify function does not seem to get called on the client.A

---- UPDATE ----

This issue was closed because it was determined the setup of the original project was invalid / the Engine was behaving as intended.

In this specific case, the Properties in question were being changed on an Actor that was marked as "Only Relevant to Owner" (which happens to be the default setting for APlayerController). This meant the properties were only ever being sent to the owning client, and hence the owning client was the only one receiving the RepNotify.

Further, the project was attempting to call Multicasts directly on client machines. Multicasts are only intended to be run on the Server. While this does happen to trigger the event locally, this behavior isn't guaranteed and was not what the project had intended to do.

Steps to Reproduce
  1. Download the MPRepro project from this thread
  2. In Project Settings > Description enable "Start in VR"
  3. Set the VRPlayerController blueprint class to have "replicate" enabled (select the root component and enable it in the details panel.
  4. Launch a multiplayer listen server and a client to connect to it
    • Probably can modify the example to repro the issue without VR
  5. Notice that the listen server's movement is never sent to the client.
  6. Debugging the Rep Notify function with a print string in the rep notify shows that it is only called on the server

Have Comments or More Details?

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

3
Login to Vote

Non-Issue
ComponentUE - Networking
Affects Versions4.14
Target Fix4.18
CreatedJan 30, 2017
ResolvedAug 9, 2017
UpdatedSep 16, 2019