Animation Manual     Reference     Scripting  
Scripting > Runtime Classes > Animation
Animation Inherits from Behaviour, IEnumerable

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:

JavaScripts
// 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 Awake() {
foreach (AnimationState state in animation) {
state.speed = 0.5F;
}
}
}

import UnityEngine
import System.Collections

class example(MonoBehaviour):

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

See Also: An overview of animation scripting in Unity is here.

Variables
clip

The default animation.

playAutomatically

Should the default animation clip (Animation.clip) automatically start playing on startup.

wrapMode

How should time beyond the playback range of the clip be treated?

isPlaying

Are we playing any animations?

this [string name]

Returns the animation state named name.

animatePhysics

When turned on, animations will be executed in the physics loop. This is only useful in conjunction with kinematic rigidbodies.

animateOnlyIfVisible

When turned on, Unity might stop animating if it thinks that the results of the animation won't be visible to the user.

Functions
Stop

Stops all playing animations that were started with this Animation.

Rewind

Rewinds the animation named name.

Sample

Samples animations at the current state.

IsPlaying

Is the animation named name playing?

Play

Plays animation without any blending.

CrossFade

Fades the animation with name animation in over a period of time seconds and fades other animations out.

Blend

Blends the animation named animation towards targetWeight over the next time seconds.

CrossFadeQueued

Cross fades an animation after previous animations has finished playing.

PlayQueued

Plays an animation after previous animations has finished playing.

AddClip

Adds a clip to the animation with name newName.

RemoveClip

Remove clip from the animation list.

GetClipCount

Get the number of clips currently assigned to this animation

SyncLayer

Synchronizes playback speed of all animations in the layer.

Inherited members
Inherited Variables
enabled

Enabled Behaviours are Updated, disabled Behaviours are not.

transform

The Transform attached to this GameObject (null if there is none attached).

rigidbody

The Rigidbody attached to this GameObject (null if there is none attached).

camera

The Camera attached to this GameObject (null if there is none attached).

light

The Light attached to this GameObject (null if there is none attached).

animation

The Animation attached to this GameObject (null if there is none attached).

constantForce

The ConstantForce attached to this GameObject (null if there is none attached).

renderer

The Renderer attached to this GameObject (null if there is none attached).

audio

The AudioSource attached to this GameObject (null if there is none attached).

guiText

The GUIText 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)

guiTexture

The GUITexture attached to this GameObject (Read Only). (null if there is none attached)

collider

The Collider attached to this GameObject (null if there is none attached).

hingeJoint

The HingeJoint attached to this GameObject (null if there is none attached).

particleEmitter

The ParticleEmitter 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.

tag

The tag of this game object.

name

The name of the object.

hideFlags

Should the object be hidden, saved with the scene or modifiable by the user?

Inherited Functions
GetComponent

Returns the component of Type type if the game object has one attached, null if it doesn't.

GetComponent.<T>

GetComponent

Returns the component with name 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.

GetComponentInChildren.<T>

GetComponentsInChildren

Returns all components of Type type in the GameObject or any of its children.

GetComponentsInChildren.<T>

GetComponents

Returns all components of Type type in the GameObject.

GetComponents.<T>

CompareTag

Is this game object tagged tag?

SendMessageUpwards

Calls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour

SendMessage

Calls the method named methodName on every MonoBehaviour in this game object.

BroadcastMessage

Calls the method named methodName on every MonoBehaviour in this game object or any of its children.

GetInstanceID

Returns the instance id of the object.

ToString

Returns the name of the game object.

Inherited Class Functions
operator bool

Does the object exist?

Instantiate

Clones the object original and returns the clone.

Instantiate.<T>

Destroy

Removes a gameobject, component or asset.

DestroyImmediate

Destroys the object obj immediately. It is strongly recommended to use Destroy instead.

FindObjectsOfType

Returns a list of all active loaded objects of Type type.

FindObjectOfType

Returns the first active loaded object of Type type.

operator ==

Compares if two objects refer to the same

operator !=

Compares if two objects refer to a different object

DontDestroyOnLoad

Makes the object target not be destroyed automatically when loading a new scene.