I want to simulate robot servos in Unity. I thought things would work out easily using a HingeJoint, but I soon found out that the HingeJoint's JointSpring is limited to target positions between -180 and 180 degrees. What's more confusing is that if I set a JointSpring to move from 179 to -179 degrees, the spring moves 358 degrees, instead of only moving 2. I was thinking that I would just use a ConfigurableJoint, but I found out that the ConfigurableJoint has no property which gives the relative angle of the rigidbody from the joint. I have not yet implemented my own versions of rotating the joint and calculating the total degrees of rotation, as I'm wondering if there are any other ways of doing this. Plus, the physics engine may work in ways which I'm unaware of (for example, I do not know if it is valid to calculate the change in rotation based on angular velocity, as I do not know if the angular velocity changed between physics steps.) Any input will be appreciated!