I recently completed a scriptjob based switcher that creates and deletes constraints to get the FK and IK sections to match up. It works great except thereās a few things to watch out for.
PROS:
Itās surprisingly quick. Iāve been rigging up this character and have noticed absolutely ZERO speed difference using a scriptnode listener.
Itās automatic. The job takes over when the specified action happens. In my case, itās tripping a specific attribute.
ITāS EASY! The animator doesnāt know whatās happening. They just see it work and smile!
They donāt get run during batch render time and during command line rendering, so if you get an autokeying autoswitch, the preset keys take care of it all for you.
CONS:
If youāre building a switcher scriptjob, you need to account for keyframes.
The API lies. This isnāt neccesarily a con, but I noticed that no matter what I had set it to, the job launches when the frame is changed. You can fix that by building cancellers into the script with the undoInfo command.
Finally, thereās the problem of multiple instancing and namespaces. When creating the script, I had to use object names for selections and stuff. THere might be a way to use a script node to edit another script node, turning absolute names into variables and then run it proper, but I havenāt looked into it yet.
Again, I cannot emphasize speed enough. Matter of fact, go open a new file and punch in scriptJob -lj; You will see that Maya itself uses it as sort of an event listener system.