Copy and Paste - rmfandyplayz/UnityUIAnimationTools GitHub Wiki

Right-click a header in the Inspector to copy and paste animations and steps, including between different objects.

Right-click on You get
An animation header Copy Animation · Paste Animation (overwrite) · Paste Animation Above · Paste Animation Below · Mirror Animation · Duplicate as Mirrored
A step header Copy Step · Paste Step (overwrite) · Paste Step Above · Paste Step Below · Mirror Step
The Animations list Paste Animation (add to end) · Paste Animation Mirrored (add to end) · Save as Animation Set…
The Steps list Paste Step (add to end) · Paste Step Mirrored (add to end)
Anything under Shared Animations Copy, and Override. Nothing that would change the set. See Animation Sets
  • Above / Below insert a new one and push the rest down, rather than overwriting. That's how you put a step in the middle of a list.
  • References survive. A step pointing at a specific object, or holding a sound clip, still points at it after pasting, even onto another object. (Unity's own right-click Copy/Paste drops those, which is why these exist.)
  • A pasted WITH PREVIOUS step joins the group it lands under, which is an easy way to add to a group.
  • Names stay unique. Pasting an animation whose name is already taken adds 2 to its name, since two animations with the same name can't both be played.
  • The clipboard holds one animation and one step at a time, until you restart Unity.

The mirror commands are covered in Mirroring, and Save as Animation Set in Animation Sets.

Other ways to reuse animations

From "copy one thing" to "share everything":

  • Right-click copy/paste of an animation or step. Makes a copy, so later changes don't carry over.
  • Copy Component / Paste Component Values (Unity's own, on the player's ⋮ menu) to copy a whole player onto another object.
  • An Animation Set, once the same animation is on enough objects that retuning each one by hand gets tedious. One copy, used by many players.
  • Prefabs and prefab variants, for sharing a whole object.

What makes any of these work well is leaving targets empty and using Target Paths, so an animation doesn't care which object it's on.

Under the hood
  • The clipboard uses JsonUtility, not EditorJsonUtility. Despite the names, the plain one keeps object references in memory and the editor one drops them, because it writes references the way an asset file does.
  • Right-click menus are only added on this tool's own components, so they never appear on an unrelated Steps list in another script.
  • Play() looks animations up by name, first match wins, which is why a duplicate name would be unreachable.
⚠️ **GitHub.com Fallback** ⚠️