# ScriptPlayable<T>

> A IPlayable implementation that contains a PlayableBehaviour for the PlayableGraph. PlayableBehaviour can be used to write custom Playable that implement their own PrepareFrame callback.

## Definition

* **Type:** Struct
* **Namespace:** [UnityEngine.Playables](/engine/6000.7/script-reference/unityengine/playables.md)
* **Assembly:** UnityEngine.CoreModule
* **Implements:** [IPlayable](/engine/6000.7/script-reference/unityengine/playables/iplayable.md), [IEquatable\<ScriptPlayable\<T>>](https://learn.microsoft.com/dotnet/api/system.iequatable-1)

```csharp
public struct ScriptPlayable<T> : IPlayable, IEquatable<ScriptPlayable<T>> where T : class, IPlayableBehaviour, new()
```

## Remarks

A branch of a [PlayableGraph](/engine/6000.7/script-reference/unityengine/playables/playablegraph.md) must be connected to an output to be evaluated.

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