Soft Body - Active Keying Set data path issue

I want to create an animation where hundreds of objects start to fall, each in different time. I applied Soft Body modifier and set Gravity in Effector Weights to 0 for frame 0. Than for every object I go to random frame and change Gravity to 1. I will probably need to change f-curves to Constant, possibly something else. But this is where I’m stuck now:

I can’t set ID & data path for Active Keying Set and subsequently get error
“Skipping path in Keying Set, as it has no ID (KS = ‘Keying Set’, Path = ‘(null)’[0])”
when adding a key frame. I managed to add an empty path but struggle to change it.

What’s wrong? Better ideas how to make this animation are also welcome :slight_smile:

import bpy, random

for obj in['Scene.001'].objects:
    if obj.type == 'MESH':
        # Go to frame 0 
        # Only for objects named 'granit...'
        isGr ='granit')        
        if isGr == 0:   
            # SoftBodyModifier object
            mod =, 'SOFT_BODY')
            # Change modifier settings 
            mod.settings.use_self_collision = 1
            mod.settings.use_goal = 0
            mod.settings.effector_weights.gravity = 0.5         # <<< data path, can't set this !!!
            # Add path to Active Keing Set 
            path = bpy.types.KeyingSetPath(obj)                 # <<< doesn't help
            #path = bpy.types.KeyingSetPath.path_from_id(obj)   # <<< doesn't help either
            # Add new keypoints at frame 0 
            bpy.ops.anim.keyframe_insert(type='KeyingSet', confirm_success=True)
            # Go to random frame and change gravity
            fr = random.randrange(100)
            bpy.ops.anim.change_frame(frame = fr)            
            mod.settings.effector_weights.gravity = 1
            bpy.ops.anim.keyframe_insert(type='KeyingSet', confirm_success=True)