We're using the targetRotation on a ConfigurableJoint to mimic an animation. We need help with some angle stuff. - It seems targetRotation is relative to the initial rotation of an object. A target of Quaternion.identity will not move the object to match its parent. It will move it to match its initial position. - At any time, we know the object's localRotation, and the localRotation of the object we want to mimic. - How do we describe the target's local rotation relative to our initial position? In simple terms, let's say we have an object with: - Initial local rotation of 30 degrees - Our target's local rotation is 40 degrees - So our joint's target rotation should be 10 degrees But what is this in Quaternion math? This nearly works, but is backwards on one axis: Code (csharp): jointC.targetRotation = target.localRotation * Quaternion.Inverse(initialRotation); Help, oh great wizards!