I've been spending far too much time on this. I keep telling myself I'll stop after this debug log, but I keep compiling. I cant speak for StevenRS11, but heres where I am with it: The first few lines are just for intro purposes, and things I expect you know after 10 seconds: attachJoint is now a PartJoint. PartJoint contains a Joint class. That contains ConfigurableJoint. So far, I've had to totally comment out the two methods there are to set breakingforce and breakingtorque, as those so far always give NullReferences (also commented out in servo.cs) I tried altering newJoint to a PartJoint, that made most of the code happy, but you cant set attachJoint.Joint to newJoint, as it's read-only I've gone in and am directly setting attachJoint.Joint variables. This works with the large gantry (there may be others, but so far, this is the only part to work 100%) There is no longer a newJoint object. There is still a "NpScene::createJoint: desc.isValid() fails!" being thrown, at: attachJoint.Joint.connectedBody = parent.Rigidbody; Again, it works for the gantry, not for the others I've tested. I see zero difference in the part configs, but the large gantry has the rigidbody parent of GantryLarge, and everything else has the parent as the object they're connected to. So, if I attach a gantry large to one side of a lander cabin on launch A, and the gantry 1/2 on launch B, GantryLarge is the rigidbody parent on launch A, LanderCabin is the parent on launch B, which causes the joint setup to not be valid. Commenting this out makes the joint function, but the moving portion is in the wrong location.