nVidia’s PhysX implements a type of joint called an ArticulationJoint. Since Unity uses PhysX for their underlying physics, it seems likely they have wrapped this up. CharacterJoint looks a lot like an ArticulationJoint, but it’s not clear to me how you would go about setting target orientation or velocity.
Some excerpts from nVidia’s documentation on articulation joints:
The only form of articulation joint currently supported is an anatomical joint, whose properties are similar to D6 joint configured for a typical rag doll. Specifically, the joint is a spherical joint, with angular drive, a twist limit around the child joint frame’s x-axis, and an elliptical swing cone limit around the parent joint frame’s x-axis. The configuration of these properties is very similar to a D6 or spherical joint, but the options provided are slightly different.
Articulations are driven through joint acceleration springs. You can set a position target, a velocity target, and spring and damping parameters that control how strongly the joint drives towards the target. You can also set compliance values, indicating how strongly a joint resists acceleration. A compliance near zero indicates very strong resistance, and a compliance of 1 indicates no resistance.