Universal IK FK Switch and Match Tool PRO 3.1.0 for Maya

3 ratings

Universal IK FK Switch and Match PRO v3.1


This script lets you switch and match Poses between IK/FK controls in the animation scene.

Works for Riggs that don't have IK/FK match built in and requires only Standard FK controls and IK Pole Vector Setup. The Controls are defined once and can be stored in Node for easy reuse throughout the animation.


Maya 2022 and above: Install Pymel following the instructions on the Autodesk Site : https://help.autodesk.com/view/MAYAUL/2024/ENU/?guid=GUID-2AA5EFCE-53B1-46A0-8E43-4CD0B2C72FB4

a) Copy the file (mog_ikFkSwitchPro.py) to your Maya scripts directory. On Windows that is Documents/maya/20xx/scripts/

b) Open Maya. In the Script Editor (Python), past the following code:

import pymel.core as pm
import mog_ikFkSwitchPro as mog_ikFkSwitchPro
import imp

c) Hit execute (or Ctrl Enter)


>>>>>>>>>>>>>>>> SETUP STORE NODE FOR LIMB MATCHING <<<<<<<<<<<<<<<

1. Define Limb to work on

This always needs to be defined bofore loading/storing/switching

Sides are treated seperately.

2. Define Ctrls necessary by selecting them and hit the << button

<< FK1: Upper arm

<< FK2: Lower arm

<< FK3: Hand

<< IK Ctrl: IK Hand

<< IK Pole:

<< Switch Ctrl: The ctrl that is used to switch between ik and fk mode

<< Switch Attr: The attribute that is dialed to switch.

It can be highlighted in the channel box and hit <<

3. Define Behavior

>> Knee Bend: Primary bend axis for the knee/ellbow. Bend the knee/ellbow 90 degree. What axis does it bend?

Knee Bend values for common rigs:

Malcolm(c Animschool): : +X Armx, -X Legs

Steward(c Animation Mentor): -Y Arms, +Z Legs

Jack(c Animsquad): -Y Arms, +X Legs

Norman: +Z Arms/Legs

>> Rotation Offset:

Some Riggs have different orientations in their IK and FK ctrls and joints.

This becomes obvious when running 'Match' from fk to ik and seeing a 90 degree offset in the wrist

Set the offset with that value and run 'Match' again to align them

Rotation Offsets for common rigs (X,Y,Z):

Malcolm(c Animschool): : (0, 0, 180) Right Arm/Leg, (0, 180, 0) Left Arm/Leg

Steward(c Animation Mentor): (180, 0, 0) Right Arm, (-20,-90, 0) Right Leg, (160,-90, 0) Left Leg

Jack(c Animsquad): (-180, 0, 0) Right Side

Norman: (0, -90, -90) Right Arm, (0, 90, -90) Left Arm, (-90,-90,0) Right Leg, (90,-90,0) Left Leg,

>>>>>>>>>>>>>>>>>>> UPDATE A EXISTING STORE NODE <<<<<<<<<<<<<<<<<<<<<<<<<<<

1. Load: Selected a Ctl in viewport, if a Setup Node exists in the Scene, load it into the Setup fields in the UI\

2. Make modifications

3. Save/Update and confirm to overwrite existing Store node

>>>>>>>>>>>>>>>>>>>SWITCH / MATCH <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

1. Select a Ctrl in the viewport and click "Load Store Node from Selections".

When a Setup Node exists a green bar will light up

2. Match IK >> FK or FK >> IK to match the limb between the modes

>>>>>>>>>>>>>>>>ADDITONAL BUTTONS <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Switch IK/FK: Simple switches between IK/FK modes (does not do any matching)

Select all IK or FK ctrls: Select all nodes for this mode as stored in the Seup node

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PRO BUTTONS <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Key all IK/FK: Creates a keyframe for all IK/FK Ctrls on current frame

Bake IK/FK: Bakes the entire frame range to ik or fk. Leaves source keys clean

Bake IK/FK AllKeys: Bakes all keyframes in frame range to ik or fk.

Export Store Nodes: Save all store nodes into .ma/.mb Store File saved in the same location as the scene.

The file name is the same as the scene + _IKFKSTORE and located in the same folder as the file

Already existing store nodes in the scene will be overwritten

Import Store Nodes: Opens file dialogue to select the previously exported Store File


- Pole Vector Control is required and will not run if controlled with attribute

- Works only on Referenced Riggs

Future Improvements/Optimzations planned:

- Make script work/not error if there is no polevector


3.1 - November 23, 20234 - Added ability to look for Referenced Store Nodes (Save Store node in Rigg files)

3.0 - Oktober 06, 2021 - Update for Maya 2022

2.0 - January 27, 2021 - UI update for Maya 2020

1.12 - September 27, 2020 - Fixed isses with 'Switch' attribute for Baking (PRO)

1.11 - July 21, 2020 - Bug fix FK to IK Match pole Vector computation for locked fk controls

1.10 - July 05, 2020 - Pro version: added option to Bake All Keyframes in Range IK/FK and FK/IK in addtion to Bake every Frame

1.9 - June 03, 2020 Bug fix position snap for fk controls with transformation

1.8 - September 20, 2019 - Added knee/ellbow Bend Attribute to solve pole vector flip issues

Added more Info about Rotation Offset and Bend Angle to Help tab

Evaluation update bug fixes

Pro version: changes save format from .fbx to .ma/.mb

1.7 - May 25, 2018 - Too small Joint orientation on Malcolm fixed

1.6 - August 27, 2017 - Offset Value Bug fix. Storing float values now.

1.5 - August 27, 2017 - Blend Value 1 - 10 bug fix

Pro version: Bake range and Set Keyframe for all IK/FK ctrls

Free version: Select all ik/fk ctrls

1.4 - April 24, 2017 - Beta release. New interface. Auto detect limbs by selecting

1.1 - Jan 12, 2017 - Improvement to interface and bug fixes.

1.0 - Jan 07, 2017 - Initial Release.

// Questions/comments/bugs/issues to

// monikagelbmannATgmailDOTcom

I want this!

A script that lets you switch and match between IK/FK controls with most Riggs in your Animation scenes for single frame or ranges

18 KB
Copy product URL


(3 ratings)
5 stars
4 stars
3 stars
2 stars
1 star

Universal IK FK Switch and Match Tool PRO 3.1.0 for Maya

3 ratings
I want this!