Pawn Transform Replication

Hello, so I have this pawn that is has custom movement code and not using any movement component, I am trying to replicate it for a dedicated Multiplayer. My issue is, my pawn location replicates just fine but when it comes to rotation, my pawn stutters alot even though in replication I am doing Multicast and check if its not a local player controller(or LocallyControlled).


I have created ViewId for everyplayer and it works so probably not an issue with that.


I have attached my Replication properties as well. I am not using bReplicateMovement but I am using bReplicates.

P.S: I have a OnRepNotify variable which when changed, Sets the Transform Variable visible in the screen shot and is set on Tick by GetActorTransform. My Location does stutter but very rarely. And this happens when I play on LAN.

stuttering usually means server correction so it might be fighting with something inbuilt like UseControlRotation.

it can also means you’re applying the transform on the client and the server.
i’ve noticed that on a pawn, if you have it to “replicate”, just setting the transfrom will replicate to clients. so no need to do anything manually.

you might need to manually replicate other components.
in my case, my movement was too complex and i really decided to do it on the clients, so i just don’t move them on the server. lame solution but…

I have this complex movement thing made up as well. But as you can see this is a racing game so I might need to do thiis. Also if I set to replicate only it does not do anything. It is because I am not using any movement component, rather working with physics based movement.

Is there a solution to it that I can try? It should be possible to replicate any pawn’s transform perfectly.

you can disable it, just search in the pawn details panel for movement

ah you’re using physics? in that case its very likely your server/client are out of sync

i dont know of a good way to replicate physics, it’d have to be server only and replicated back but then you’ll have lag

To be honest that is why I am replicating Transform and not replicating the movement through physics, it works for the location but just messes up the rotation completely.

physics will fight with the replication though

so for example your multicasting a transform but on the server a collision happened

so now the multicast says im at position X but the server collision says im at position Y

if you do all the physics on the server it will work but then you dont need a Server/Multicast RPC you just use replicated/repnotify

but then there will be lag between the player saying i want to turn left and the server applying the force

So I am at a dead end? There must be way to solve this, :confused:

you’d have to predict the player input i think which isnt too bad for cars
or fake physics rather than use real physics

but whatever the solution the physics/collision has to be done on the server in multiplayer, always!