unable to run two (or more) scripts together I am doing some rigs for a project and I have a problem that could not give solution, I have in scene several rigs that are variations of the same, the rig has a simple UI that basically reads and allows to modify properties , The problem is that when linking the characters (when there is more than one on the scene) when running the script one is disabled the other, the question is, how can I get both of them run at the same time, on the one hand I might be doing a script add that runs two or more scripts listed is that possible? Or which would be the correct way for self-executing to work well? Sorry if the question is silly I'm pretty good at rigs but I'm still learning blender scripting.

here is a sample of the Character_UI

import bpy

class RigUI(bpy.types.Panel):
    """Rigg user interface"""
    bl_label = "Rig UI"
    bl_idname = "PT_Rigg UI"
    bl_space_type = "VIEW_3D"
    bl_region_type = "UI"

    @classmethod
    def poll(cls, context):
        return context.active_object.type == 'ARMATURE' and context.active_object.name.startswith('koya_proxy')



    def draw(self, context):
        layout = self.layout

#IK FK switch

        obj = context.object
        bone = obj.pose.bones["gen"]

        row = layout.row()  
        row.label(text="Cuerpo", icon='MOD_ARMATURE')
        row = layout.row()  
        row.prop(bone,'["FK-IK_brazo.L"]',slider=True)
        row = layout.row()  
        row.prop(bone,'["FK-IK_brazo.R"]',slider=True)
        row = layout.row()  
        row.prop(bone,'["IK-FK_pierna.L"]',slider=True)
        row = layout.row()  
        row.prop(bone,'["IK-FK_pierna.R"]',slider=True)  
        row = layout.row()
        row.prop(context.active_object.data, "layers", index=16, toggle=True, text="falda")
        row = layout.row()  
        row.prop(bone,'["Auto - Full Manual "]',slider=True)

#facial

        row = layout.row()
        row.label("Facial", icon='MOD_MASK')
        row = layout.row()
        row.prop(context.active_object.data, "layers", index=6, toggle=True, text="Shapes")
        row.prop(context.active_object.data, "layers", index=4, toggle=True, text="bendy")
        row.prop(context.active_object.data, "layers", index=7, toggle=True, text="Lattices")
        row.prop(context.active_object.data, "layers", index=3, toggle=True, text="Cabello")

#accesorios


        row = layout.row()
        row.label("adicional", icon='MOD_CLOTH')
        row = layout.row()
        row.prop(context.active_object.data, "layers", index=5, toggle=True, text="bend")
        row = layout.row()  
        row.prop(bone,'["Fisica_cabello"]',slider=True)
        row = layout.row()  
        row.prop(bone,'["ph-vis"]',slider=True)


def register():
    bpy.utils.register_class(RigUI)


def unregister():
    bpy.utils.unregister_class()


register()
Using the rigify addon as an example, you add a custom property to the armature that holds a unique rigID for each rig, then you register duplicates of your operators and panels that are customised for each rigID.

rig_id = "ThisRig"

class Rigify_Leg_FK2IK(bpy.types.Operator):
    """ Snaps an FK leg to an IK leg.
    """
    bl_idname = "pose.rigify_leg_fk2ik_" + rig_id
    bl_label = "Rigify Snap FK leg to IK"
    bl_options = {'UNDO'}
    ....

class RigUI(bpy.types.Panel):
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'UI'
    bl_label = "Rig Main Properties"
    bl_idname = rig_id + "_PT_rig_ui"

    @classmethod
    def poll(self, context):
        if context.mode != 'POSE':
            return False
        try:
            return (context.active_object.data.get("rig_id") == rig_id)
        except (AttributeError, KeyError, TypeError):
            return False
    ....


As an example, if you were using rigIDs of char1 and char2 then you will find the following classes registered -

bpy.types.pose.rigify_leg_fk2ik_char1
bpy.types.pose.rigify_leg_fk2ik_char2
bpy.types.char1_PT_rig_ui
bpy.types.char2_PT_rig_ui