Problem understanding code duplication for executes on client

Hey all,

I am having a problem understanding replication for my game. I have my actors with replication on them, however their Character Movement is not replicated. From what I have found, it has felt smoother for movement (I could be wrong of course).

I am using Advanced Steam Sessions by Joshua Statzer for online networking.

In the example provided, a player can also be the server. The only way I have found to reliably change speed (without the players actor wigging out on their screen, rubber banding) and having the ability to set their rotation/direction is by setting the client as the effecting skill actors owner. After this, I call the “Execute on owning client” functions to have the remote client change speeds/direction.

My problem, however, is that the server does not run this replication function due to how UE4 handles this. My question to you: Is this the best way around this issue in the pictures provided? It feels extremely redundant, however it does get the job done. I really dont want to have to do this weird work around if possible (checking if the first player controller is the host and bypassing the execute on client call).

Thank you for all of your suggestions.

-Mishtiff

I decided to change these calls to multicast where it runs on all clients. I am not sure if this is better, since its attempting to change movement speed and actor direction on all clients, but it does seem to be resolving my issue. If anyone has comments on the approach I am open ears :slight_smile: