Notes: 1) I had to pass Context to the draw_actuator_sound in order to access the open_sound_operator uiTemplateID(layout, C, ptr, "sound", NULL, "SOUND_OT_open", NULL); According to Campbell they are better ways to do that (mdef bind for reference). but for now it works. 2) for the record: action actuator is equal to shape actuator (but runs in armature) 3) in Constraint Actuator I think I should unify all the limit_loc_max_, loc_min, ... properties. I was thinking about replacing it with a single limit_loc_max, limit_loc_min, range, distance, and use get/set funcs to find the correct one.