Animation
Description

The animation component is used to play back animations.

You can assign animation clips to the animation component and control playback from your script. The animation system in Unity is weight based and supports: Animation Blending, Additive animations, Animation Mixing, Layers and full control over all aspects of animation playback.

For an overview of animation scripting in Unity please read this introduction.

To play a simple animation use Animation.Play
To cross-fade between animations use Animation.CrossFade
To change how animations wrap (Loop, Once, PingPong) change the WrapMode of the respective AnimationClips in their import settings, or use AnimationState.wrapMode to change it at runtime.
AnimationState can be used to change the layer of an animation, modify playback speed, and for direct control over blending and mixing.

Animation also supports enumerators so you can loop through all AnimationStates like this:
// Make all animations in this character play at half speed
for (var state : AnimationState in animation) {
	state.speed = 0.5;
}
using UnityEngine;
using System.Collections;

public class Example : MonoBehaviour {
    void Example() {
        foreach (AnimationState state in animation) {
            state.speed = 0.5F;
        }
    }
}
import UnityEngine
import System.Collections

public class Example(MonoBehaviour):

	def Example() as void:
		for state as AnimationState in animation:
			state.speed = 0.5F

See Also: An overview of animation scripting in Unity is here.
Variables
animatePhysics When turned on, animations will be executed in the physics loop. This is only useful in conjunction with kinematic rigidbodies.
clip The default animation.
cullingType Controls culling of this Animation component.
isPlaying Are we playing any animations?
localBounds AABB of this Animation animation component in local space.
playAutomatically Should the default animation clip (Animation.clip) automatically start playing on startup.
this[string] Returns the animation state named name.
wrapMode How should time beyond the playback range of the clip be treated?
Functions
AddClip Adds a clip to the animation with name newName.
Blend Blends the animation named animation towards targetWeight over the next time seconds.
CrossFade Fades the animation with name animation in over a period of time seconds and fades other animations out.
CrossFadeQueued Cross fades an animation after previous animations has finished playing.
GetClipCount Get the number of clips currently assigned to this animation.
IsPlaying Is the animation named name playing?
Play Plays animation without any blending.
PlayQueued Plays an animation after previous animations has finished playing.
RemoveClip Remove clip from the animation list.
Rewind Rewinds the animation named name.
Sample Samples animations at the current state.
Stop Stops all playing animations that were started with this Animation.
SyncLayer Synchronizes playback speed of all animations in the layer.
Inherited members
Variables
enabled Enabled Behaviours are Updated, disabled Behaviours are not.
animation The Animation attached to this GameObject (null if there is none attached).
audio The AudioSource attached to this GameObject (null if there is none attached).
camera The Camera attached to this GameObject (null if there is none attached).
collider The Collider attached to this GameObject (null if there is none attached).
constantForce The ConstantForce attached to this GameObject (null if there is none attached).
gameObject The game object this component is attached to. A component is always attached to a game object.
guiText The GUIText attached to this GameObject (null if there is none attached).
guiTexture The GUITexture attached to this GameObject (Read Only). (null if there is none attached).
hingeJoint The HingeJoint attached to this GameObject (null if there is none attached).
light The Light attached to this GameObject (null if there is none attached).
networkView The NetworkView attached to this GameObject (Read Only). (null if there is none attached).
particleEmitter The ParticleEmitter attached to this GameObject (null if there is none attached).
particleSystem The ParticleSystem attached to this GameObject (null if there is none attached).
renderer The Renderer attached to this GameObject (null if there is none attached).
rigidbody The Rigidbody attached to this GameObject (null if there is none attached).
tag The tag of this game object.
transform The Transform attached to this GameObject (null if there is none attached).
hideFlags Should the object be hidden, saved with the scene or modifiable by the user?
name The name of the object.
Functions
BroadcastMessage Calls the method named methodName on every MonoBehaviour in this game object or any of its children.
CompareTag Is this game object tagged with tag?
GetComponent Returns the component of Type type if the game object has one attached, null if it doesn't.
GetComponentInChildren Returns the component of Type type in the GameObject or any of its children using depth first search.
GetComponents Returns all components of Type type in the GameObject.
GetComponentsInChildren Returns all components of Type type in the GameObject or any of its children.
SendMessage Calls the method named methodName on every MonoBehaviour in this game object.
SendMessageUpwards Calls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour.
GetInstanceID Returns the instance id of the object.
ToString Returns the name of the game object.
Static Functions
Destroy Removes a gameobject, component or asset.
DestroyImmediate Destroys the object obj immediately. You are strongly recommended to use Destroy instead.
DontDestroyOnLoad Makes the object target not be destroyed automatically when loading a new scene.
FindObjectOfType Returns the first active loaded object of Type type.
FindObjectsOfType Returns a list of all active loaded objects of Type type.
Instantiate Clones the object original and returns the clone.
Operators
bool Does the object exist?
operator != Compares if two objects refer to a different object.
operator == Compares if two objects refer to the same.