All animation in 3ds Max is managed by a plug-in type called an animation controller (or controller for short). A controller manages the animation by returning a specific value given a specific time value.
Controllers are either keyframe based or procedure.
There are six basic controller types. Each one controls a specific data type:
float)Point3)Matrix3)Quat)ScaleValue)Matrix3)Plug-in developers can create new controller types, or work with the properties of existing types.
A controller returns a specific value when given a time in the animation. In the following table controllers are categorized according to the type of value they produce, and correspondingly their SuperClass ID:
| Type of Value | SuperClassID of associated controller |
| float | CTRL_FLOAT_CLASS_ID |
| Point3 (including color) | CTRL_POINT3_CLASS_ID |
| position | CTRL_POSITION_CLASS_ID |
| rotation | CTRL_ROTATION_CLASS_ID |
| scale | CTRL_SCALE_CLASS_ID |
| transform | CTRL_MATRIX3_CLASS_ID |
| morph | CTRL_MORPH_CLASS_ID |
| (user-defined) | CTRL_USERTYPE_CLASS_ID |
| master (master point) | CTRL_MASTERPOINT_CLASS_ID |
| masterblock | MASTERBLOCK_SUPER_CLASS_ID |