There are a few key elements of this recipe:
- Animator Controller for 2D animations: Controlling 2D animations playback works very similar to 3D and skeletal animations in Unity. You can create Animator Controllers as usual, with all required states and transitions between them.
- Transition Duration set to 0: The Transition Duration parameter only makes sense with animations that can be blended together to create a smooth transition. In 2D frame by frame animation, this is not possible (Unity cannot create "in between sprites" automatically). This is the reason to set the parameter to 0 and have a sharp, immediate transition. In case of the parameter value being greater than 0, the transition will still look sharp but also be delayed.