I believe there are no mechanisms by default to ensure that actors with physics simulation stay synchronized. What is the Replicate Movement setting used for then? For example if you have a physics simulated Character actor, its position is affected by:
- the CharacterMovementComponent
- physics simulation
- your custom stuff like calling AddForce in blueprint
Checking Replicate Movement will ensure that the motion caused by the CharacterMovementComponent is replicated but not the physics simulation. I believe (but I’m not sure) that the CharacterMovementComponent makes sure that the character converge to the same world position, but while it is inactive (no input and velocity = 0) there won’t be any syncing since as far as the movement component is concerned its not necessary. You may have seen that sometimes the physics actor’s position does sync, for example when bumping into it, which is caused by the CharacterMovementComponent being poked.
As for replicating physics, Rama has made a custom solution for himself using a pretty smooth method. You should check out his thread here: