You would need to create a control, and a root. Add it to the hierarchy. Add an icon. Connect it to the joint with a matrix or a parentConstraint. Those steps could be scripted.
But if you want to do anything like integrating space switches, and handling all the extra stuff like space switches, controller tags, etc. the easiest way would be to rebuild your rig and add the controls in the guide.
I don’t believe there are any built-in automatic functions that append controls to a rig. You’d just have to script the steps. Or rebuild the rig.
If you want to rebuild, but save the skinning you already did on your custom joints, I see 2 basic options:
- Name the joint the same as it will be named after you re-create it with a control_01 component in the guide. Export the skinning. Then rebuild. Then the joint name will match after it is rebuilt, and the skinning should load. example. if you create a control_01 named “holster” and it is R0, the joint will be named
- Save the joint in a custom group. Rebuild your rig with a control_01, but no joint. And then constrain the joint to the control after the rig is built. (I’ve done this before, when I’ve had to rig something complex. It’s easier just to connect it to the rig later, rather than create it with Shifter components.)