Simultaneously playing two animations in one Rig

Firstly sorry if the Title is confusing, because I’m a programmer and I’m so new to skeletal animation.

I’m using a model with 2 animations(my artist is still refining them):

  1. Idle
  2. Walk (lower and upper body are animated)
  3. Pickup Object (lower and upper body are animated)
  4. Throw (only upper body animated)

What I want to do?
I want to make the character walk, pickup an object from the ground and lastly, throw it, using their respective animations. As of now I’m only testing the animations and I don’t pickup or throw anything.

The Problem
When I move, the animation work fine. For the other two animations I cant blend walk to them. For example, when the throw animation is playing, if I start moving, the throw switches to walk(both arms come down as per Walk).

Question
How do I blend the animations i.e. pickup while walking and throw while walking.
It would be helpful if you suggest something done through unity itself(probably scripting or somewhere in the editor). My artist is busy and I can’t ask him for too many animations

Animation.Blend is your friend. Works like Animation.CrossFade but allows for multiple animation states to be blended into each other smoothly.

Ok good to know. How do I play the walk animation as usual and then just change the animation for pickup because the pickup animation moves the knee area. Does it blend the walk knee animation and bend(pickup) knee animation. Can you explain a little more in detail(please bear with me because I’m new to animated models).

You’re probably better off using animation.CrossFade between Walk and pickup, as animation.Blend will find an average point between animated parts of a model (the whole animation will look strange). From what’s detailed in your original post I’d suggest separating the animated sections. Perhaps have the legs and spine animated in one file and the arms and neck region in another.

Brief explanation of a few animation functions.
animation.Play will simply play an animation.
animation.CrossFade will transition an animation into another seamlessly.
animation.Blend will blend an animation into another while it is still playing the original.

Someone with more animation scripting experience than myself might have a better, clearer solution to your problem.

That was quite helpful. Will try both animation.CrossFade and animation.Blend and tell.