Rotator Replication is potentially bugged, if not, can someone explain this behaviour

Printing a rotator variable simultaneously to the server and client shows that the client can not show negative values in a rotator while the server can.

This only occurs when the variable was set on server only, but then why is the client printing it differently?

Is it a bug? If not, why?

I know that the positive and negative values ultimately give the same rotation, I just came across it while troubleshooting issues in my wall running blueprint, but I doubt this is the cause…

rotatorbug.jpg

My guess is that for network performance the rotation values are truncated to the interval -180, 180 before being sent from server to client. It may have been a decision to do this because conceptually it doesn’t matter whether the value passed is -90 or +270, while a network protocol for transferring values between -180 and 180 can save some bits.

Look at it this way: a floating point is usually 32 bits which allow it to have a huge value range. If you know before hand that the value to send between server and client is between -180 and 180, you may only need 16 bits? -> Huge savings on bandwidth usage when transferring FRotators.

Cheers for the explanation! It’s good to know their reasoning because you usually learn something from it that helps down the road :slight_smile: