Using custom properties and rigging characters

Hi

I finally decided to try using Blender a bit more, and tried creating some simple character rigs with Python. I’m pretty new to Python too.

So far I’ve managed to recreate skeleton/limbs from joint positions I captured from pre-made armature I had. Then I added some IK and put stuff to Collections using Python. I’ve also tested adding constraints and drivers.

After figuring this stuff out for 2 days, I have some questions.

  1. If I create a limb (an arm for example), could it somehow be possible to store the parts as some sort of list/array into this rig part itself? I’ve done some reading about custom properties, but I haven’t quite understood how these work, except that these can be easily added to tabs in Properties window.

  2. Besides, are there any good articles / examples how to use custom properties?

  3. Do objects, pose bones etc really need to be accessed with names? Seems like Blender depends on using names, but do objects have some sort of UID or ID that they can be referred to, so that it would be possible to rename rig parts?

  4. So far I’ve put all the code in single file where I have functions. I’ve run code from Text Editor window, I’ve tried addon boiler plate code a little, but how can I split some code into other files, and then somehow import these to main script? I guess this might be more a Python thing than Blender, as I only have coding experience in C#, Java and some web stuff.

General tips, links to articles and API pages would be helpful.