David Shepstone
Animation Tools

Animation Tool Kit

A production-focused Maya toolkit that removes repetitive setup from blocking, polish, and shot handoff — so animators can spend their time animating.

Animation Tool Kit toolbar shown docked above the Maya time slider, with timing, viewport, rigging, and pipeline tool icons.
The ATK toolbar — docks above the Maya time slider and stays one click away from every tool.

Animation Tool Kit (ATK) is a Maya toolbar that consolidates the small, repetitive jobs animators do every day — tweening, retiming, ghosting, mirroring, versioning, playblasting — into a single docked strip of one-click tools.

Why it exists

Most animation friction isn’t the animation itself — it’s the setup around it. Switching panels to add a frame, hand-rolling a tween, snapping a control, or saving a versioned scene all add up across a shot.

ATK collapses those steps into a toolbar built by animators, for animators. Every tool is designed to do one thing quickly and predictably, with sane defaults that hold up under production deadlines.

What you get

Faster shot prep
Frame inserts, tangent fixes, and pose blends that used to take a sub-menu hunt.
Tighter iteration loops
Onion skinning, micro-manipulators, and bookmarks that keep timing and spacing experiments cheap.
Pipeline-ready handoff
SavePlus versioning, Studio Library integration, and playblasts with consistent presets.
Rig-friendly utilities
Mirror, snap, reset, and selection-set tools that work the way animators actually reach for them.

What's new in v1.1.14

Version 1.1.14 gives Overlap a clean bake and makes Reload Scripts reload the whole toolbar.

  • Overlap bakes straight to the controls: Bake to controls keys each control’s own animation curve. No animation layer, blend node or Overlap helper is left connected, and one Undo reverts the bake. Every helper the tool makes is named Overlap_*.
  • Lighter optimized bake: now on by default. It keys the swing peaks with spline tangents and adds a key only where the curve would drift from the simulation by more than the tolerance, so settling motion needs far fewer keys.
  • Older Overlap layers: layers baked by earlier versions are listed under Legacy layer and can be deleted in one click.
  • Reload Scripts reloads everything: Settings → Reload Scripts now reloads the toolbar itself as well as every tool, and reopens any tool windows that were open on the new code. After updating, you no longer need to restart Maya just to pick up new scripts.
  • Kept from 1.1.13: Walk Off Node, plus the workspace-switch and close-crash fixes.

Install or update: extract the ZIP and drag install_atk_toolbar.mel into Maya, then restart Maya so the new toolbar loads.

1.1.14 keeps everything from 1.1.10, summarised below.

Timeline Ticks (from 1.1.10) adds a compact yellow/red/blue palette beside the other timing tools. Click a colour strip or use its menu to classify existing keys as Key, Extreme, Breakdown or Inbetween.

  • Keep marks with your scene: annotations persist as scene metadata and align with native Time Slider ticks.
  • Retime with your marks: active tracking follows supported key moves, scaling, subframes and deletions, including ATK Add/Remove Frames and Undo/Redo.
  • Clear or hide marks: Clear All Marks removes annotations across the scene in one undoable operation; Hide/Show Coloured Marks keeps tracking active while marks are hidden.

Tracking limits: ATK must be running during key edits. Edits before startup or custom tools that bypass Maya’s edit callbacks cannot be reconstructed. Copied keys are unlabelled, and previously stranded marks need manual correction. Interactive Time Slider and workspace verification remains a limitation, especially with custom Time Slider replacements.

The updated ATK logo remains a link to shepstone.ca beside the settings gear.

The release includes Playblast Creator 2.0.5 and all the export reliability improvements introduced in 1.1.8:

  • Recover from GPU encoder errors: failed NVIDIA NVENC or Apple VideoToolbox H.264 exports retry with CPU libx264 when your FFmpeg build includes it.
  • Protect existing videos: failed encoding preserves the previous video. To replace it, select Output → Destination → Force overwrite existing output.
  • Improve portable exports: fixes cover temporary capture folders, incomplete frames, audio offsets, odd video dimensions, and Windows/macOS/Linux path handling.
  • Get clearer results: failed captures and previews report errors, and recovery frames are retained with their location in the log.

Set the FFmpeg executable in Settings; a build with libx264 provides the software H.264 fallback.

Automated export and package checks run on Windows, macOS, and Linux. Maya viewport and physical GPU behaviour still depend on your Maya version, graphics hardware, and driver.

Download Animation Tool Kit v1.1.14 · Full release notes on GitHub

Download & source

The Latest Release card on this page pulls the current build straight from GitHub. The package includes a drag-and-drop MEL installer — drag it into the Maya viewport and the toolbar installs immediately, with a shelf icon added to your current shelf for toggling it on and off. No manual scripts-folder setup. Restart Maya after updating the playblast plug-in.

For source, changelogs, and full release history, follow the GitHub Repository link in the sidebar.

Who it's for

  • Character animators working in Maya who want fewer clicks between idea and pose.
  • Animation students building production-grade habits before they hit a studio pipeline.
  • Technical artists looking for a lightweight, readable starting point for their own utility scripts.

Feedback, bug reports, and feature requests are welcome on GitHub — ATK grows directly out of what production animators ask for.


Toolbar Tool Reference

A complete reference for every tool in the ATK toolbar — what each one does and which Python entry point it calls internally.

Timing Tools

Inbetweener v2.0.2

Blends poses between keyframes with multiple easing modes.

Module: vertex_tweener fn: show
Add / Remove Frames v1.0.2

Inserts or removes frames while rippling downstream keys.

Module: insert_remove_frames_tool fn: show
Tangent Tools v1.0.0

Provides Graph Editor tangent and interpolation controls.

Module: tangent_tools.main fn: launch
TweenMachine v3.x

Creates in-between poses from selected keys/controls.

3rd-partyBundled open-source tool by Justin Barrett. Available independently at github.com/The-Maize/tweenMachine.

Module: tweenMachine fn: start
Noise Generator v1.0.0

Adds noise, easing, and scale effects to animation curves.

Module: noise_generator_1_0_0 fn: launch
Overlap v0.5.0

Adds spring follow-through to animated controls and FK chains, with axis selection, locator previews, and an optimized bake that keys the controls directly with nothing left connected.

Module: atk_overlap fn: show
Xform Copy Paste v2.0.0

Copies and pastes world-space transforms between objects.

Module: xform_copy_paste fn: show
Walk Off Node v1.0.0

Turns a treadmill walk cycle into a travelling walk by baking controls to world space and removing the base node's slide.

Module: walk_off_node fn: show
Bookmarks v0.1.0

Creates and navigates timeline bookmarks.

Module: time_bookmarks.main fn: launch

Viewport Tools

Micro Manipulator v1.0.0

Gives precision transform controls with micro-speed scrubbing.

Module: Micro_Manipulator_v1_0_0 fn: show
Temp Pivot v1.0.5

Creates temporary non-destructive rotation pivots.

Module: temp_pivot_tool fn: show
Onion Skin v2.1.0

Displays multi-frame ghosting for motion reference.

Module: onion_skin_2_1_0 fn: launch
AnimSnap v1.0.0

Snaps one object to another using world-space transforms.

Module: anim_snap fn: launch

Rigging Tools

Wire Shape Tool v1.0.0

Builds curve-based rig control shapes.

Module: wire_shape_tool fn: show
Reset Tool v2.0.1

Resets translate/rotate/scale on selected objects.

Module: transform_reset_tool fn: show
Selection Set v2.0.4

Creates, stores, and recalls named selection sets.

Module: SmartSelectSets_v2 fn: show_smart_select_sets
Character Snapshot v1.0.0

Captures rig snapshots for Mirror Controls and related tools.

Module: character_snapshot_v1_0_0 fn: show_dialog
Mirror Controls v2.3.1

Mirrors, swaps, or flips controls across left/right sides.

Module: mirror_controls_v2_3_0 fn: MirrorControls.show_dialog

Pipeline Tools

SavePlus v2.0.4

Handles intelligent scene versioning and backup.

Module: savePlus_launcher fn: launch_save_plus
Studio Library v2.21.1

Manages animation clips and poses in a visual library.

3rd-partyBundled open-source tool by Kurt Rathjen. Available independently at studiolibrary.com.

Module: studiolibrary fn: main
Playblast Creator v2.0.5

Creates preview playblasts with masks and presets.

Module: playblast_creator_ui fn: show_ui
User Directory Check v1.0.0

Verifies key Maya user directories and path setup.

Module: user_directory_check fn: show

Source of truth: atk_toolbar/atk_loader.py (TOOL_REGISTRY).

Release Notes — Animation Tool Kit v1.1.14

# Animation Tool Kit 1.1.14 — Overlap clean bake, full Reload Scripts

## Fixed: Overlap left its bake wired into the controls

Overlap used to bake onto a new animation layer, `Kinequill_overlap1`. Each control then stayed connected through that layer's blend nodes, so the result was never a plain keyed control.

Overlap 0.5.0 bakes straight onto the controls' own animation curves:

- **Nothing stays connected.** After **Bake to controls**, each control channel is an ordinary time curve. No animation layer, blend node, preview locator or endpoint locator is left in the scene.
- **Keys inside the frame range are replaced; keys outside it are kept.** Unchecked channels are untouched.
- **One Undo reverts the whole bake**, including the removed helpers.
- **Every helper node is named `Overlap_*`** (preview, endpoint and demo). Nothing new is named Kinequill.

## Better optimized bake

**Optimize bake** is now on by default. It keys the first and last frames and every real swing peak with auto (spline) tangents. It then checks Maya's evaluated curve against the simulation and adds a key only where a frame is off by more than the tolerance (default 0.25°). Slow settling gets few keys, and a still tail gets none. Settling jitter below the tolerance no longer forces a key on every frame. Turn it off to key every frame.

## Scenes baked with earlier versions

The old `Kinequill_overlap` layers are listed under **Legacy layer**. **Delete bake** removes the layer, and the empty `BaseAnimation` root if nothing else uses it. Channels still driven by animation layers are refused at bake time with a clear message, because writing a combined result into one layer would double-count the others.

## Fixed: Reload Scripts now reloads everything on the toolbar

**Settings → Reload Scripts** used to purge the tool modules but rebuild the strip with the toolbar code that was already loaded. The registry, icons, inline sliders, the settings dialog and the reload logic itself kept running the old version, and open tool windows kept their old code until relaunched by hand.

Reload Scripts now:

1. Closes every open tool window and remembers which tools were open.
2. Purges all tool modules and their helpers, and reloads tool plug-ins as before.
3. Purges the `atk_toolbar` package itself, then rebuilds the toolbar from the freshly imported code (the same way the installer does).
4. Reopens the tools that were open, now running the new scripts.

After installing an update, Reload Scripts is enough. A Maya restart is still the safest option for a plug-in whose nodes exist in the open scene.

## Retained features

Includes everything from 1.1.13: Walk Off Node, the workspace-switch and Maya exit-crash fixes, Timeline Ticks, the ATK website logo button and the Playblast Creator 2.0.5 reliability fixes.

## Usage

Install by extracting `AnimationToolKit_v1_1_14.zip` and dragging `install_atk_toolbar.mel` into Maya. **Restart Maya after upgrading.**

## Validation

Tested headlessly in Maya 2027 on the ProRigs pendulum scene. The legacy layer was removed and three controls were baked with Rotate X. Each control was left with only an `animCurveTA` on `rotateX`, with no anim layers and no Overlap or Kinequill nodes, and one Undo restored the scene. The Maya integration check (`tests/check_overlap_integration.py`) and the new key-reduction unit tests pass. The integration check also covers Reload Scripts: it confirms the open Overlap window closes, `atk_toolbar` and `atk_overlap` are purged, a new toolbar module is imported and shown, and Overlap is queued to reopen.