# AnimationStream

> The stream of animation data passed from one Playable to another.

## Definition

* **Type:** Struct
* **Namespace:** [UnityEngine.Animations](/engine/6000.7/script-reference/unityengine/animations.md)
* **Assembly:** UnityEngine.AnimationModule

```csharp
public struct AnimationStream
```

## Remarks

The AnimationStream structure is passed through the animation [Playable](/engine/6000.7/script-reference/unityengine/playables/playable.md) structures, like [AnimationClipPlayable](/engine/6000.7/script-reference/unityengine/animations/animationclipplayable.md) and [AnimationMixerPlayable](/engine/6000.7/script-reference/unityengine/animations/animationmixerplayable.md). They can be modified when used with an [IAnimationJobPlayable](/engine/6000.7/script-reference/unityengine/animations/ianimationjobplayable.md), like the [AnimationScriptPlayable](/engine/6000.7/script-reference/unityengine/animations/animationscriptplayable.md).

The Playables implementing [IAnimationJobPlayable](/engine/6000.7/script-reference/unityengine/animations/ianimationjobplayable.md) take a custom C# job, which must implement [IAnimationJob](/engine/6000.7/script-reference/unityengine/animations/ianimationjob.md), and the AnimationStream is then passed to its callbacks during the animation processing pass.

Additional Resources: [IAnimationJob](/engine/6000.7/script-reference/unityengine/animations/ianimationjob.md), [AnimationScriptPlayable](/engine/6000.7/script-reference/unityengine/animations/animationscriptplayable.md), [TransformStreamHandle](/engine/6000.7/script-reference/unityengine/animations/transformstreamhandle.md), [PropertyStreamHandle](/engine/6000.7/script-reference/unityengine/animations/propertystreamhandle.md), [TransformSceneHandle](/engine/6000.7/script-reference/unityengine/animations/transformscenehandle.md), [PropertySceneHandle](/engine/6000.7/script-reference/unityengine/animations/propertyscenehandle.md)

## Properties

| Property                                                                                                           | Description                                                                            |
| ------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------- |
| [angularVelocity](/engine/6000.7/script-reference/unityengine/animations/animationstream/angularvelocity.md)       | Gets or sets the avatar angular velocity for the evaluated frame.                      |
| [deltaTime](/engine/6000.7/script-reference/unityengine/animations/animationstream/deltatime.md)                   | Gets the delta time for the evaluated frame. (Read Only)                               |
| [inputStreamCount](/engine/6000.7/script-reference/unityengine/animations/animationstream/inputstreamcount.md)     | Gets the number of input streams. (Read Only)                                          |
| [isHumanStream](/engine/6000.7/script-reference/unityengine/animations/animationstream/ishumanstream.md)           | Returns `true` if the stream is from a humanoid avatar; `false` otherwise. (Read Only) |
| [isValid](/engine/6000.7/script-reference/unityengine/animations/animationstream/isvalid.md)                       | Returns `true` if the stream is valid; `false` otherwise. (Read Only)                  |
| [rootMotionPosition](/engine/6000.7/script-reference/unityengine/animations/animationstream/rootmotionposition.md) | Gets the root motion position for the evaluated frame. (Read Only)                     |
| [rootMotionRotation](/engine/6000.7/script-reference/unityengine/animations/animationstream/rootmotionrotation.md) | Gets the root motion rotation for the evaluated frame. (Read Only)                     |
| [velocity](/engine/6000.7/script-reference/unityengine/animations/animationstream/velocity.md)                     | Gets or sets the avatar velocity for the evaluated frame.                              |

## Methods

| Method                                                                                                                           | Description                                                                                                                               |
| -------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| [AsHuman](/engine/6000.7/script-reference/unityengine/animations/animationstream/ashuman.md)                                     | Gets the same stream, but as an [AnimationHumanStream](/engine/6000.7/script-reference/unityengine/animations/animationhumanstream.md).   |
| [CopyAnimationStreamMotion](/engine/6000.7/script-reference/unityengine/animations/animationstream/copyanimationstreammotion.md) | Deep copies motion from a source animation stream to the current animation stream.                                                        |
| [GetInputStream](/engine/6000.7/script-reference/unityengine/animations/animationstream/getinputstream.md)                       | Gets the [AnimationStream](/engine/6000.7/script-reference/unityengine/animations/animationstream.md) of the playable input at `index`.   |
| [GetInputWeight](/engine/6000.7/script-reference/unityengine/animations/animationstream/getinputweight.md)                       | Gets the weight of the [Playable](/engine/6000.7/script-reference/unityengine/playables/playable.md) connected at a specific input index. |
