Hiding all shape nodes, input and output history from the channel box can reduce animator errors because they only see the channels they’re supposed to be animating.
The attribute isHistoricallyInteresting or short ihi lets us do exactly that. By default it’s usually set to 1 or 2 depending if the node is interesting to all users or just TDs. If we set it to 0 the node is hidden from the channel box. Maya has it set to 0 by default for a few nodes (e.g. GroupParts, GroupId) that are less interesting to manipulate.

I usually run a script that loops over all nodes and hides their history before I publish a rig.

from maya import cmds
def setIsHistoricallyInteresting(value=0):
    '''
    Set isHistoricallyInteresting attribute for all nodes in scene.

    The historicallyInteresting attribute is 0 on nodes which are only interesting to programmers.
    1 for the TDs, 2 for the users.

    @param value        Set ihi to 0: off, 1:on, 2:also on

    setIsHistoricallyInteresting(value=0)  # hide history from channelbox
    setIsHistoricallyInteresting(value=2)  # show history (a bit more than Maya's default)
    '''
    # get all dependency nodes
    cmds.select(r=True, allDependencyNodes=True)
    allNodes = cmds.ls(sl=True)
    # get all shapes
    allNodes.extend(cmds.ls(shapes=True))

    failed = []
    for node in allNodes:
        plug = '{}.ihi'.format(node)
        if cmds.objExists(plug):
            try:
                cmds.setAttr(plug, value)
            except:
                failed.append(node)
    if failed:
        print("Skipped the following nodes {}".format(failed))

If you have any questions or comments please do get in touch on Twitter

You might be interested in
Other Tutorials