You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
NetworkRigidBody2D with "Use Rigid Body for motion" breaks rotation sync #4009
When NetworkRigidbody2D is used with "Use Rigid Body for motion" enabled, the rotation of the object does not get reflected on the client's side.
Reproduce Steps
Set up a 2D multiplayer project with a ball object that has RigidBody2D + NetworkTransform + NetworkRigidBody2D (with "Use Rigid Body for motion" enabled).
Add any mechanism to make the ball rotate (e.g. let it roll down a slope or apply a force on the server).
Actual Outcome
The client sees the ball's updated position, but the rotation will remain initial.
Expected Outcome
Objects with the described setup have their rotations synced correctly.
Actually, Copilot discovered this issue. I can confirm that it becomes functional again if you uncheck "Use Rigid Body for motion" or remove NetworkRigidBody2D enitrely.
Not sure if it helps, but this is what Copilot had to say:
Found the bug. It is an upstream bug in Netcode for GameObjects itself (2.11.2 and even latest 2.12), in NetworkRigidBodyBase.InternalMoveRotation2D at NetworkRigidBodyBase.cs:568-578:
privatevoidInternalMoveRotation2D(Quaternionrotation){varquaternion=Quaternion.identity;varangles=quaternion.eulerAngles;angles.z=m_InternalRigidbody2D.rotation;// BUG: ignores `rotation`, reads current rb rotationquaternion.eulerAngles=angles;m_InternalRigidbody2D.MoveRotation(quaternion);}
changed the title [-]NetworkRigidBody2D breaks rotation sync[/-][+]NetworkRigidBody2D with "Use Rigid Body for motion" breaks rotation sync[/+]on Jun 7, 2026
Activity
[-]NetworkRigidBody2D breaks rotation sync[/-][+]NetworkRigidBody2D with "Use Rigid Body for motion" breaks rotation sync[/+]EmandM commentedon Jun 8, 2026
Thank you for finding and reporting this bug! We'll import it into our internal work stream and might be able to have it fixed in the next release.
NoelStephensUnity commentedon Jun 22, 2026
The fix for this should be in v2.13.0.