slotted-actions-animation

Installation
SKILL.md

Slotted Actions Animation

Trigger

Use this skill when the user:

  • Wants to create or edit animation from Python in Blender 5.x
  • Mentions Action, slot, channelbag, keyframe_insert, fcurves
  • Has older 4.x animation code (action.fcurves.new(...)) that no longer works in 5.x
  • Asks how to insert keyframes programmatically and have them persist

What changed and why

Blender 4.4 introduced the Slotted Actions data model to support non-linear, multi-target animation. The old model was a flat list of F-curves owned directly by the Action, which made it impossible for one Action to drive two different IDs (e.g. an armature pose and the armature's custom property channels at the same time) without overwriting each other.

Two version boundaries matter:

  • Blender 4.4 / 4.5 LTS: the slotted data model (action.slots, action.layers, strip.channelbag) is present alongside the legacy flat API (action.fcurves, action.groups, action.id_root), which still works as a proxy. The helper bpy_extras.anim_utils.action_get_channelbag_for_slot(action, slot) exists; action_ensure_channelbag_for_slot does not.
  • Blender 5.0+: the legacy flat API was removed (action.fcurves raises AttributeError). The new helper bpy_extras.anim_utils.action_ensure_channelbag_for_slot(action, slot) is added.
Installs
1
GitHub Stars
12
First Seen
6 days ago
slotted-actions-animation — tmhsdigital/blender-developer-tools