The first reaction to a third party tool is that it will interfere with the pipeline, however it’s not the case with animBot. It inherits the same design mindset as aTools which has been used by many studios around the globe for years. It works within its own namespace, it doesn’t affect rigs, doesn’t create permanent custom nodes in the scene, it’s not required to open a Maya file which will always remain safe and healthy to go down the pipe. In a nutshell, from a pipeline perspective animBot is a tool that helps the animator to shape animation curves, downstream departments won’t even notice it was used and won’t be required to have it installed.


Permanent nodes created in the scene

Any data that is supposed to persist with the scene is saved under the transform node “animBot” and the data is stored in regular attributes on those nodes. It’s important to know that animBot doesn’t create any node outside this parent node and all nodes are native to Maya and exposed to the user.


Masked Nodes

Some nodes are designed to be out of sight for a regular user, intended for a cleaner visualization. This includes nodes created by Temp Controls. It's important to note that animBot will always create DAG nodes parented to the main animBot node, so by deleting the main animBot node, all nodes will be removed, including masked nodes. In order to reveal masked nodes created by animBot, please use the api command setMaskedOutlinerNodesVisible.


Temp Controls Nodes

This tool creates simple rigs using native Maya nodes that drive other transform nodes in the scene through native parent constraints. You can read more details about this tool in the article Temp Controls. If native constraints is supported by your pipeline, it will support Temp Controls as well. If for any reason constraints need to be baked down before a publishing process, you can either use the api command bakeAllTempControls or the method of your choice.


Temporary nodes created in the scene

Some tools will create auxiliary nodes in the scene and will clean them up automatically before a save process and after the user finished using the tool. Examples are Motion Trail and Temp Pivot.



Permanent data saved to the user

Any data related to animBot that should persist with the user is saved in <user>/maya/scripts/animBot_data. This includes UI prefs and tool prefs. These are text files and the total data should not get over 1MB.



Temporary data saved to the user

Tools like Anim Recovery will save temporary data with the user to be used later. Anim Recovery itself manages the disk usage automatically by deleting data 8+ days old and merging checkpoints. However, the amount of data can still get very big, getting up to GBs. By default, this data is saved in <user>/maya/scripts/animBot_tmp_data, but you can change that in the config.json file.



Plugins, custom nodes and custom commands

There are 2 plugins within animBot, however, they are only used at author time and are not saved with the maya scene. Both plugins are python coded and are compatible with any Maya version that supports python 2.7 (2014 onwards), including any custom build.


animBot_undoableCmd (MPxCommand)

This is the command that manages the internal animBot undo system. It is only used in run-time and doesn’t create any node in the scene.


animBotMotionTrail Node (MPxLocatorNode)

This is the node created to visually represent a Motion Trail. When the user creates a motion trail, a MSceneMessage.kBeforeSave callback is spawned and will clean the node(s) before a save process, which will prevent the node of being saved with the scene, keeping it clean of any missing plugin warnings down the pipe.



Standalone processes

Anim Recovery spawns a few Maya standalone processes locally to process functions in parallel with the main Maya session. Those process are designed to keep the temp data tidy, by deleting 8+ days old data and merging checkpoint data.


If you wish to read more details about Maya Standalone Sessions.



Callbacks

Many tools take advantage of Maya callbacks and can be managed in the Auto Bots tool (below). Debug Console will show what’s happening under the hood.