# AnimationScriptPlayable

> A Playable that can run a custom, multi-threaded animation job.

## Definition

* **Type:** Struct
* **Namespace:** [UnityEngine.Animations](/engine/6000.5/script-reference/unityengine/animations.md)
* **Assembly:** UnityEngine.AnimationModule
* **Implements:** [IAnimationJobPlayable](/engine/6000.5/script-reference/unityengine/animations/ianimationjobplayable.md), [IPlayable](/engine/6000.5/script-reference/unityengine/playables/iplayable.md), [IEquatable\<AnimationScriptPlayable>](https://learn.microsoft.com/dotnet/api/system.iequatable-1)

```csharp
public struct AnimationScriptPlayable : IAnimationJobPlayable, IPlayable, IEquatable<AnimationScriptPlayable>
```

## Remarks

This playable allows to create a custom C# job that will give read and write access to the [AnimationStream](/engine/6000.5/script-reference/unityengine/animations/animationstream.md) during the animation process pass in the [PlayableGraph](/engine/6000.5/script-reference/unityengine/playables/playablegraph.md). The C# job must implement the interface [IAnimationJob](/engine/6000.5/script-reference/unityengine/animations/ianimationjob.md).

NOTE: You can use [PlayableExtensions](/engine/6000.5/script-reference/unityengine/playables/playableextensions.md) methods with AnimationScriptPlayable objects.

Additional Resources: [IAnimationJob](/engine/6000.5/script-reference/unityengine/animations/ianimationjob.md), and [AnimationScriptPlayable.Create](/engine/6000.5/script-reference/unityengine/animations/animationscriptplayable/create.md).

## Methods

| Method                                                                                                                 | Description                                                   |
| ---------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- |
| [GetJobData](/engine/6000.5/script-reference/unityengine/animations/animationscriptplayable/getjobdata.md)             | Gets the job data contained in the playable.                  |
| [GetProcessInputs](/engine/6000.5/script-reference/unityengine/animations/animationscriptplayable/getprocessinputs.md) | Returns whether the playable inputs will be processed or not. |
| [SetJobData](/engine/6000.5/script-reference/unityengine/animations/animationscriptplayable/setjobdata.md)             | Sets a new job data in the playable.                          |
| [SetProcessInputs](/engine/6000.5/script-reference/unityengine/animations/animationscriptplayable/setprocessinputs.md) | Sets the new value for processing the inputs or not.          |

## Static Methods

| Method                                                                                             | Description                                                                                                                                                                                                             |
| -------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Create](/engine/6000.5/script-reference/unityengine/animations/animationscriptplayable/create.md) | Creates an [AnimationScriptPlayable](/engine/6000.5/script-reference/unityengine/animations/animationscriptplayable.md) in the [PlayableGraph](/engine/6000.5/script-reference/unityengine/playables/playablegraph.md). |

## Operators

| Operator                                                                                                  | Description                                                                                                                                                                                                               |
| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Playable](/engine/6000.5/script-reference/unityengine/animations/animationscriptplayable/op-implicit.md) | Operator to down-cast an [AnimationScriptPlayable](/engine/6000.5/script-reference/unityengine/animations/animationscriptplayable.md) to a [Playable](/engine/6000.5/script-reference/unityengine/playables/playable.md). |
