Replicate Movement doesn't work

Hi there. I am currently working on making a pickup system and ran into a problem. replicate movement option doesn’t work. It works just fine with static mesh replicate movement, but actor blueprints do not.

Pushing them around works fine, but trying to move them through physics handles causes a desync.

When client uses a physics handle desync happens. Replicating movement is checked on both actor and static mesh. only difference is being a static mesh only. And luckily my game isn’t that intensive. So I should have some room. I just need chairs and stuff to be able to be picked up. All these events are also not marked as reliable, so that should help.

Just a wild guess: Who is applying physics push? You may want to make sure that only Server calculates that and replicates it back to clients.

And you should keep in mind that keeping physics synced is a performance killer.

Hm, i’m not that good in Physics replication (only normal replication), but i’m pretty sure you need to let Server move Handle for Player, or am i wrong? If you let a client move a normal actor by setting it’s location, it should also be desync, because only client will perform set and server + all other clients will not get any replicated data (at least that’s how it should work xD )

So at this point, you would let server do it (maybe by setting a vector variable to OnRep and setting location in this OnRep for clients).

But like i said, this seems to be different from Physics replication ):

I actually have everything set up. server takes care of everything and clients update beautifully. This is more of a bug report as I have it working fine, it is just static mesh location rep is working while an actor bp doesn’t.

Hi _cDub,

Can you set up a small test project that showcases this problem and upload it someplace like Dropbox or Google Drive for me? I believe this is related to a known issue, but I’d like to test it against what I have here already. Thank you!

Having same problem on my end. Here are steps to replicate: Place any static mesh in scene, check boxes for ‘Simulate Physics’ and ‘Static Mesh Replicate Movement’, now play with 2 players. mesh should land in same spot for all players regardless of where you put it, like in sky. Now create an actor, add a cube component, set ‘Simulate Physics’ to be true, and set ‘Replicates’ and ‘Replicate Movement’ to be true on Actor(self), now drag actor into scene, and play with 2 players. actor will almost always end up in a different location for 2 players.

Jamendxman3,

Both end up in same spot for me. Does this happen in a new project for you as well, or only your current project? Can you create a small test project for us to look at? Thanks!

Hi all,

I haven’t been able to reproduce this issue and I haven’t heard back from you in a while, so I’m resolving this post for tracking purposes. Please let us know if you have a test project we can look at that reproduces this problem, and whether this happens in a new project or only in your current project. Please also try same thing in 4.9 to see if it’s already resolved there. Thanks!

From what I can tell from tests in 4.9, only root component is replicated unless it’s children are Actors that are replicated. If your root component is a scene component and static mesh component is a child of scene component, static mesh component will not replicate. Only scene component will replicate. Make your static mesh component root component and you are set. If you need a scene component, you still need to create a replicate enabled Actor with your static mesh component as root and you also need to create another blueprint actor with a scene component as root and static mesh actor that you created as a child of scene component.

Note: If you disable replication of an actor any actor set to replicate in actor will still replicate.

I had same issue and this solved it for me.

Marry me, this worked, why is this not archived, sort it out Epic!

Can you write step by step instruction?