A growing collection of Unity Editor tools built to streamline animation workflows — from dialogue and lip-sync to randomised idle states and animator behaviour scripting.
Four tools, one package. Each one designed to solve a real animation problem.
Visualise and scrub through an audio file in sync with Unity's Animation window. Perfect for animating dialogue.
Click-to-keyframe material switching for mouth shapes, blink textures, and any swap-based animation.
State-driven parameter control, layer weight management, and randomised idle animation — all without custom code.
Find and fix broken animation bindings caused by hierarchy changes — automatically or manually.
Animate to audio — scrub, preview, and keyframe in perfect sync.
AudioTimeline is an Editor window that lets you animate to an audio file directly inside Unity. It was designed for dialogue animation and lip-sync, but works equally well for sound-driven character movement or any timed action — a gun reload, a footstep sequence, a combat swing.
For dialogue animation, it's best to keep facial animations on their own layer so they don't interfere with body movement.
With a clip assigned and the window docked, you'll see the waveform. A red playhead line tracks in sync with the Animation window's scrubber.
With record mode active in the Animation window, scrub or play back as normal. The waveform updates in real time, giving you a clear visual reference for mouth shapes, blinks, and expression changes.
Click a thumbnail. Keyframe a mouth shape. Done.
The Material Swapper is a component-based tool that displays your materials as thumbnail buttons. Clicking a thumbnail swaps the mesh material and (in record mode) automatically creates a keyframe — making lip-sync animation a click-by-click process rather than a property-hunting exercise.
It works best alongside the AudioTimeline window, where you can see the waveform and click mouth shapes to rhythm.
Create one material per mouth pose (or eye texture, or any swap target). For transparent textures that still catch lighting, use these settings in the material inspector:
Open the Animation window, enter record mode, and click thumbnails to swap materials and place keyframes at the current playhead position. Pair with AudioTimeline for best results.
State-aware parameter control — no custom scripts required.
A set of StateMachineBehaviour scripts you can attach to any Animator state. Each one fires automatically when a character enters, exits, or passes through that state — removing the need for manual parameter management in code.
Controls the weight of the active layer on entry or exit. Use this to enable/disable override layers (e.g. a talking layer) automatically.
Like above, but targets multiple layers at once. Enter layer names as a comma-separated list — ideal for disabling left and right hand layers together.
Sets a boolean parameter on this Animator Controller to true or false when the state is entered or exited.
Fires a trigger parameter at a chosen moment (On Entry, On Exit, etc.). Make sure the parameter name string matches exactly.
Randomly selects which animation plays next from a Sub-State Machine. Perfect for varied idle cycles and attack animations.
Find and fix broken animation bindings caused by hierarchy changes — automatically or manually.
When a GameObject is renamed or a hierarchy is restructured, animation clip property bindings store a path string (e.g. Root/Body/Arm/Hand) that no longer resolves to anything in the scene. Unity marks these bindings yellow in the Animation window.
The Animation Missing Reference Finder scans one or more .anim clips, lists every broken path in a table, and lets you repair them — either by typing the correct path, or by letting the tool search the active scene hierarchy and suggest a fix automatically.
The window opens as a standalone panel (minimum 700 × 450 px) and can be resized or docked like any other Unity Editor window.
There are four ways to get clips into the tool:
Click Refresh to re-scan the loaded clip list after making hierarchy changes without clearing it. Click Clear to remove all clips and results.
After scanning, the results table shows one row per broken path. Multiple animated properties that share the same broken path (e.g. localPosition.x/y/z) are grouped into a single row — a property count badge shows how many properties will be repaired when you fix that row.
Auto-resolve found a confident exact-name match. Safe to apply.
Auto-resolve found a close match with a slightly different name — review the suggested path before applying.
The fix has been written to the clip successfully.
Excluded from Fix All. Can still be applied individually.
Clip asset is read-only. Edit buttons are disabled for this row.
Auto-resolve runs automatically on every row after each scan. It can also be triggered per-row using the Auto button.
The tool walks down the broken path segment by segment, matching each segment to the children of the previous match in the active scene hierarchy. Candidates are ranked by name similarity — exact matches are tried first, then close matches scored by similarity. A candidate is only accepted if the entire remaining path can also be resolved beneath it, so a near-match at one level that leads to a dead end is rejected and the next candidate is tried.
Bug reports, feature requests, and general questions are all welcome. Animation Tools is actively used in Epic Adventure Quest — so it gets real-world testing with every update.
Join the community, report issues, and share what you've made.
Direct support at [email protected]
Reviews genuinely help. If the tools are saving you time, a quick star rating goes a long way.
Want to support further development? Contributions are always appreciated.
Visit chrisburns.com.au to see more projects, assets, and work.
Browse the full catalogue of assets on the Unity Asset Store.