The Beginner's Guide to Animation in Unity (v5 to v2019.2)
4.6 (1,413 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
10,752 students enrolled

The Beginner's Guide to Animation in Unity (v5 to v2019.2)

Your ultimate guide to Unity's Mecanim covering keyframes, curves, inverse kinematics, strafe sets, blending and more.
4.6 (1,413 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
10,752 students enrolled
Last updated 5/2020
English, Indonesian [Auto], 6 more
  • Italian [Auto]
  • Polish [Auto]
  • Portuguese [Auto]
  • Romanian [Auto]
  • Spanish [Auto]
  • Thai [Auto]
Current price: $13.99 Original price: $19.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 11.5 hours on-demand video
  • 6 articles
  • 44 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • create animations from scratch using the Unity Mecanim system and place them onto game objects.
  • import third party animated assets into Unity and set up animation controllers.
  • write C# code to dynamically control animations through user interaction.
  • explore the use of inverse kinematics in humanoid rigs.
  • create complex animation sequences and blends dynamically controlled by the user at runtime.
Course content
Expand all 64 lectures 11:17:03
+ Press Play
11 lectures 01:34:39
This video is an overview and introduction to the content you will be studying throughout.
Preview 04:59

H3D has a bustling online student community.  Here's how to get involved.

Join the H3D Student Community

This section contains answers to frequently asked questions.


Animation is an optical illusion produced when a rapid succession of images enters the eye.  The brain processes them as though it is seeing movement.  In this video we explore how and why animation works.

Preview 03:37

Twelve principles of animation were devised in 1981 to assist animators in creating believable movement and characters in their work. This lecture explains and demonstrates each.

Preview 04:34

Test your knowledge on animation theory.

Animation Theory​​
10 questions
In this lecture we will take a stroll through the Unity interface. This will help you become familiar with the way it is setup and works. Although designed for absolute beginners with Unity, this lecture might reveal tips and tricks for others.
The Unity Interface: Part 1
Continuing on from the previous lecture in this video we will examine navigation, camera properties and material creation.
The Unity Interface: Part 2
Deprecated Unity Asset

In this lecture we will continue examining some basics functions of the Unity editor that allow the importing of external assets.

The Unity Interface: Using External Resources
In this lecture we will take a quick look at the physics system. It's great for creating procedural animations and giving objects natural in game movement without having to manually create the animation.
Animating with the Physics System

This exercise will challenge you understanding of the physics system.

Physics Challenge
+ The Mecanim System
11 lectures 02:21:50
In this lecture you'll be introduced to the most fundamental of animation creation mechanics; keyframes and tweening.
Timelines, Keyframes and Tweening
We will begin our examination of the animation window by creating the keyframes to bounce a ball.
The Animation Window Part 1

This lecture wraps up the bouncing ball demo by adding stretch into the effect followed by a challenge to create a spinning bouncing cube.

The Animation Window Part 2

A challenge to test your keyframe animation skills

Keyframe Challenge

In this lecture we will take a closer look at using curves to modify the behaviour of an object's movement between keyframes.

Animation is basically the movement of objects. Objects can move in two ways; globally or locally. All objects move in the world when you modify their position and rotation (and sometimes their scale). When an object is attached to a parent, that object also has a local animation which is said to be the measurements of such with respective to the parent. For example, if you swing your arms around like a windmill, the hand on your left hand moves in the world. Its world movement (position and rotation) is measured respective to some world origin by which all other objects have a world measurement. Your hand, because it is also attached to your shoulder has a local position and rotation which is measured respective of the position and rotation of the shoulder joint.
Animating in Local and World Positions

In this video you will learn how to setup a simple sequence of animations that open and close a door.  A plan of how the animations play out is given as a type of flow diagram called a state-machine.  In such a diagram the animations are known as states and the pathways from one state to the other are called transitions.  By the end of this lecture you will have learnt how to construct a simple state-machine from several animations that will open and close a door.

Preview 12:58

Extending on the state-machine of an opening and closing door, we will examine how to control when the door opens and closes using triggers. These will allow you to walk a character up to the door which will then trigger the door to open. After the character walks through, the door will close.

Triggering Animation States Part 1

This lecture completes the opening and closing door exercise allowing the door to be triggered to open when the player walks through and closes after they've moved on.

Triggering Animation States Part 2

In this challenge you can test your skills at using trigger locations to open and close a draw bridge.

Triggering Challenge Part 1

In this second part of the draw bridge triggering challenge solutions we will complete the project adding code to the trigger points.

Triggering Challenge Part 2
+ The Bare Bones of Animated Models
10 lectures 01:29:02

While you can animate all mater of objects and properties in Unity, nothing is more interesting and fun to work with than rigged models.  This video will explain the basics of a mesh, its skeleton and rigging.

Complex animations of models are best achieved in dedicated modelling and animation packages such as Maya, 3DS Max and Blender.  If you are not a seasoned animator and have no experience animating, the best place to start learning is to download a free version of Maya or Blender and consult the respective manuals.  Keyframes, tweening and curves are employed in these packages to create sophisticated actions.

If you are not quite ready to launch into the creation of your own rigged characters - DON'T PANIC - all model resources for the following lectures are supplied.

Understanding Bones, Joints and Rigs

This short lecture provides experienced animators with the instructions for preparing their models for FBX export formats that are supported by Unity.

Importing Animations from 3D Software

In this lecture we will use the free Adobe Fuse softwate to create a 3D humanoid character that we can later use for animation.

Creating a Humanoid Character with Adobe Fuse

With your Fuse character finished it's time to upload it to Mixamo for animation. This lecture will step you through that process.

Exporting Fuse Characters into Mixamo

This article provides information on updating the following exercise to Unity 2019.3+

A Word about Mixamo in Unity 2019.3+
00:09, owned by Adobe, is an excellent resource for getting hold of characters and attaching a plethora of animations to their rigs. Through 4 or 5 clicks you can have a fully rigged and animated character ready to import into Unity.  This video will take you through the steps to obtain a Mixamo character complete with animations of your choosing.

Animating a Character in Mixamo

In this lecture we will extend the previous and examine how to create multiple animations in Mixamo and string them together in the Unity Animator.

Working with Multiple Imported Animations

Finally we have a character in Unity. Things are going to get interesting and by the introduction of code you will be able to control the animation state-machine and create a character with dynamic animations that change according to key presses.

Creating Walk/Idle Controls for a 3rd Person Character Part 1

This lecture completes the walk and idle animation states and code added to the character.

Creating Walk/Idle Controls for a 3rd Person Character Part 2

What is a third person game character if they can't jump. We all know that pressing the spacebar should result in our player character leaping into the air. Here we building on the walking and idle states to include a spacebar jump.

Adding a Jump Animation
+ Working with Humanoid Rigs
7 lectures 01:30:38

There are two basic types of rig in Unity; generic and humanoid.  While the generic format is used for simple objects, the humanoid rig is far more powerful, besides allowing for compounding animations, control of animation transforms and supporting inverse kinematics, humanoid based animations can be shared across multiple models.

Rig Types: Generic versus Humanoid

One powerful aspect of using humanoid rigs is that you have a wider range of control over root motion.  This dictates whether or not the animation actually moves the characters transform in the world space.  Allowing an animation to control the movement of a character, rather than relying on key presses that run translation code, if we let the animation move the character in world space we can achieve more fluid results.  This functionality also allows for the joining together of multiple complex animations in which the character is moved and rotated a lot.

Understanding Root Motion in Humanoids

Time for a bit of fun. Let's make some machinima for a music video clip. The perfect way to practice the creation of an animation state-machine and work with root motion.

Preview 14:58

Now that we've had some experience with root motion, its time to revise the old character control script used previously.  Instead of programming translations to move the character around we will employ the root motion contained within the animation itself.

Creating a Drive Script Incorporating Root Motion

Its one thing to move a character around with root motion. It all works well until the character starts walking through walls! In this video we bring back the physics system and combine it with a root motion drive script to control the movement of the character but to also build in collisions.

Including Physics with Animations

In this video we will put together a swimming and treading water animation.

Humanoid Root Motion Challenge Part 1

This video is an extension to the swimming challenge in which animation curves will be discussed for tweaking the output of the animator.

Humanoid Root Motion Challenge Part 2
+ Triggering Animations
10 lectures 02:07:01

In a previous lecture we created a door with a trigger that would open and close as the player walked up to it and through. We now revisit this idea and add a trigger object into a scene in which the character is allowed to walk around the environment, but when they bump into something the death animation is triggered.

Preview 15:06

Interacting with other objects in the game scene are critical behaviours for a third person player character. Depending on the object the player is going to interact with a different animation may be required.  In the game, The Sims, such animations are triggered in the characters by the actual object.  For example, a chair is for sitting while a guitar is for strumming.  In this video we will create a chair object that informs the player character that the appropriate animation to play when interacting with the chair is to sit on it.

In part one you will setup the characters animation and movement controllers.

Triggering Animations By Clicking Part 1

In this second part of triggering a character to sit on a chair, the trigger component will be added to the chair object. When a player clicks on the chair it will automate the character to walk over to the chair and trigger the sitting animation.

Triggering Animations By Clicking Part 2

In the final part of this tutorial you will learn how to line up the character's sitting animation with the chair to make the action look more believable. We will also add in code that will allow the character to stand up and walk away.

Triggering Animations By Clicking Part 3

In this series of lectures you will follow along as we create a character that can jump up and grab a ledge.  It will then be able to shimmy along the ledge from left to right and also climb up onto of a container.

Jumping and Climbing Part 1

This short lecture covers the difference between Read Only and Readable Motion files and explains how to convert a Read Only motion that cannot be modified in the Animation Window into a format that can.

Editing Read Only Animations

This video continues the step-by-step climbing up character actions controlled by the keyboard.

Jumping and Climbing Part 2

This video continues the step-by-step climbing up character actions controlled by the keyboard.

Jumping and Climbing Part 3

This video continues the step-by-step climbing up character actions controlled by the keyboard.

Jumping and Climbing Part 4

This video continues the step-by-step climbing up character actions controlled by the keyboard.

Jumping and Climbing Part 5
+ Blend Shapes
6 lectures 43:59

Blend shapes allow you to morph the same of a mesh from one state to another.  The technique uses copies of the same mesh in different states and tweens all the vertices at once from one location to another.

Introducing Blendshapes

This article provides some advise on where to find further assistance for creating blendshapes in third party software.

Creating Blendshapes

This project uses the free Boris model listed with other free rigged assets listed at:  The model of Boris' head is used to create an open and closed mouth as well as eye blink animation.

Blendshapes for Facial Animation

Sometimes a more natural animation may better be shown as a blending of several animations.  In this video you will learn how to use the characters speed to smoothly blend between a walking and running animation using a blend tree.

Blend Tree Basics

In this lecture you will learn how to create a strafe set that blends 7 animations together based on the direction a character is moving.

Strafe Sets Part 1

In this lecture we will add a simple rotation mechanic to the code used for the strafe set to allow the character full 360 movement.

Strafe Sets Part 2
+ Inverse Kinematics
3 lectures 39:37

In this lecture we begin our exploration of inverse kinematics. We program and animate a character's hand to move on top of existing animation and examine how Unity calculates inverse kinematics.

Using Inverse Kinematics to Manipulate Humanoid Joints: An Introduction.

In this video we will use the inverse kinematic system to program a character to look at an object. This dynamic animation is added on top of the existing animation allowing for a blend of motions to naturally occur.

Making an animated character dynamically look at an object

Using inverse kinematics we will customise a picking up animation to reposition the characters hand to the exact location of a game object that it wants to hold in its hand.

Using IK to Pickup and Hold an Object
+ Final Project
4 lectures 49:03

In this video you'll be given the specifications of a project for you to attempt to complete on your own.  It will challenge all aspects of the knowledge you've accumulated in the course.

Project Specifications

In this video we will start building the solution for the project by importing a character with animations, setting the scene and adding initial controller code.

Project Solution Part 1

In this second video we will continue working through the picking up a phone and replacing it animation by fixing the alignment of the animations and adding all necessary motions to the animator.

Project Solution Part 2

This video is the final part of the solution to the telephone picking up and putting down animation sequence with triggers.

Project Solution Part 3
+ Final Remarks
2 lectures 01:12

Some final comments from Penny.

Final Comments From Penny

Here you will find solution files for the final projects from some of the hands-on exercises from throughout this course.

Legacy Solution Files
  • Download the free version of the Unity Game Engine.
  • You do not need to be able to model or animate in an external package - all resources are provided.

The Beginner's Guide to Animation in Unity with Mecanim is for animators and Unity practitioners who want to bring their characters to life in a game environment and want to learn the ins and outs of the mecanim system. You don't need to be able to model or animate in external packages as all models and animations are provided. All aspects of animation in Unity are covered from physics, key framing, curves, forward and inverse kinematics, animation state machines and working with third party assets. Students will be introduced to elementary code, in C#, that is essential for making dynamic animations and triggers to control character behaviour at run time. 

In this course, Penny teaches all the invaluable skills you will require to begin animating your own game characters in Unity using her internationally acclaimed teaching style and knowledge from over 25 years working with games and computer graphics.

Updated to cover Unity Versions 5 to 2019.2 the course now contains 5 hours of extra content with:

  • new challenges and projects

  • blending animations to create strafe sets

  • adjusting curves

  • designing a character and the placing of motion capture with free third-party tools

Learn how to animate and work with:

  • the mecanim timeline

  • curve and keyframe editors

  • animation events that trigger code

  • root motion

  • imported animations created in third party packages

  • animation state machines

Contents and Overview

The course begins with the very basics of the Unity interface and progresses to an in-depth examination of all the mecanim components (including the Animation, Animator, DopeSheet and Curve windows). The majority of lectures are follow-along, hands-on workshops in which the student will explore a variety of animation techniques from creating a simple bouncing ball, through to a complex animation for a wall climbing character. Animated models and starter projects are included for students who are not confident in creating their own. By the end of this course, the student will have thoroughly explored the functionality of the mecanim system, under the instruction of an internationally-recognised professor, and be well on their way to developing snippets of code to control all aspects of 3d game animation.

Who this course is for:
  • This course is for those interested in a thorough understanding of the Unity Mecanim system. It is suitable for beginner game developers and animators, as well as well seasoned animators wanting to import their work into games.
  • This course is not for those wanting to learn to program in Unity.