The default character movement component adjusts client’s position on autonomous proxies but not their rotation.
This position adjust happens through ClientAdjustPosition or ClientVeryShortAdjustPosition but unfortunately server’s rotation of character is never sent to the owning client, but only to simulated clients.
This can be deduced by the fact that both ClientAdjustPosition and ClientVeryShortAdjustPosition are marked to run on owning client and none of the two takes a rotation parameter unlike ClientAdjustRootMotionPosition which is for root motion
I understand that this might be an intended behavior which is based on the following assumptions:
1.This is an autonomous proxy so majority of calculations should handle itself on the player , but still it might need corrections
2.players will always use either controller rotation or bOrientToMovement for calculating rotations however if we don’t use both of those methods ( like I use a different method that needs to set rotation on server and client directly) then the rotation replication to owning client logic breaks.
Please if I’ve missed something that adjusts client rotation as well tell me . For the time being I’m gonna make a custom version of adjustment function with rotation parameter.