# PlayableGraph

> Use the PlayableGraph to manage Playable creations and destructions.

## Definition

* **Type:** Struct
* **Namespace:** [UnityEngine.Playables](/engine/6000.7/script-reference/unityengine/playables.md)
* **Assembly:** UnityEngine.CoreModule

```csharp
public struct PlayableGraph
```

## Remarks

The PlayableGraph is also the link to different systems, through structs that implement [IPlayableOutput](/engine/6000.7/script-reference/unityengine/playables/iplayableoutput.md). For example, [AnimationPlayableOutput](/engine/6000.7/script-reference/unityengine/animations/animationplayableoutput.md) or [AudioPlayableOutput](/engine/6000.7/script-reference/unityengine/audio/audioplayableoutput.md).

## Methods

| Method                                                                                                              | Description                                                                                                                                                                                                                                                   |
| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Connect](/engine/6000.7/script-reference/unityengine/playables/playablegraph/connect.md)                           | Connects two [Playable](/engine/6000.7/script-reference/unityengine/playables/playable.md) instances.                                                                                                                                                         |
| [Destroy](/engine/6000.7/script-reference/unityengine/playables/playablegraph/destroy.md)                           | Destroys the graph.                                                                                                                                                                                                                                           |
| [DestroyOutput](/engine/6000.7/script-reference/unityengine/playables/playablegraph/destroyoutput.md)               | Destroys the [PlayableOutput](/engine/6000.7/script-reference/unityengine/playables/playableoutput.md).                                                                                                                                                       |
| [DestroyPlayable](/engine/6000.7/script-reference/unityengine/playables/playablegraph/destroyplayable.md)           | Destroys the Playable.                                                                                                                                                                                                                                        |
| [DestroySubgraph](/engine/6000.7/script-reference/unityengine/playables/playablegraph/destroysubgraph.md)           | Destroys the [Playable](/engine/6000.7/script-reference/unityengine/playables/playable.md) and all its inputs, recursively.                                                                                                                                   |
| [Disconnect](/engine/6000.7/script-reference/unityengine/playables/playablegraph/disconnect.md)                     | Disconnects the [Playable](/engine/6000.7/script-reference/unityengine/playables/playable.md). The connections determine the topology of the [PlayableGraph](/engine/6000.7/script-reference/unityengine/playables/playablegraph.md) and how it is evaluated. |
| [Evaluate](/engine/6000.7/script-reference/unityengine/playables/playablegraph/evaluate.md)                         | Evaluates all the [PlayableOutput](/engine/6000.7/script-reference/unityengine/playables/playableoutput.md)s in the graph, and updates all the connected [Playable](/engine/6000.7/script-reference/unityengine/playables/playable.md)s in the graph.         |
| [GetEditorName](/engine/6000.7/script-reference/unityengine/playables/playablegraph/geteditorname.md)               | Returns the name of the [PlayableGraph](/engine/6000.7/script-reference/unityengine/playables/playablegraph.md).                                                                                                                                              |
| [GetOutput](/engine/6000.7/script-reference/unityengine/playables/playablegraph/getoutput.md)                       | Get [PlayableOutput](/engine/6000.7/script-reference/unityengine/playables/playableoutput.md) at the given index in the graph.                                                                                                                                |
| [GetOutputByType](/engine/6000.7/script-reference/unityengine/playables/playablegraph/getoutputbytype.md)           | Get [PlayableOutput](/engine/6000.7/script-reference/unityengine/playables/playableoutput.md) of the requested type at the given index in the graph.                                                                                                          |
| [GetOutputCount](/engine/6000.7/script-reference/unityengine/playables/playablegraph/getoutputcount.md)             | Returns the number of [PlayableOutput](/engine/6000.7/script-reference/unityengine/playables/playableoutput.md) in the graph.                                                                                                                                 |
| [GetOutputCountByType](/engine/6000.7/script-reference/unityengine/playables/playablegraph/getoutputcountbytype.md) | Get the number of [PlayableOutput](/engine/6000.7/script-reference/unityengine/playables/playableoutput.md) of the requested type in the graph.                                                                                                               |
| [GetPlayableCount](/engine/6000.7/script-reference/unityengine/playables/playablegraph/getplayablecount.md)         | Returns the number of [Playable](/engine/6000.7/script-reference/unityengine/playables/playable.md) owned by the Graph.                                                                                                                                       |
| [GetResolver](/engine/6000.7/script-reference/unityengine/playables/playablegraph/getresolver.md)                   | Returns the table used by the graph to resolve ExposedReferences.                                                                                                                                                                                             |
| [GetRootPlayable](/engine/6000.7/script-reference/unityengine/playables/playablegraph/getrootplayable.md)           | Returns the [Playable](/engine/6000.7/script-reference/unityengine/playables/playable.md) with no output connections at the given index.                                                                                                                      |
| [GetRootPlayableCount](/engine/6000.7/script-reference/unityengine/playables/playablegraph/getrootplayablecount.md) | Returns the number of [Playable](/engine/6000.7/script-reference/unityengine/playables/playable.md) owned by the Graph that have no connected outputs.                                                                                                        |
| [GetTimeUpdateMode](/engine/6000.7/script-reference/unityengine/playables/playablegraph/gettimeupdatemode.md)       | Returns how time is incremented when playing back.                                                                                                                                                                                                            |
| [IsDone](/engine/6000.7/script-reference/unityengine/playables/playablegraph/isdone.md)                             | Indicates that a graph has completed its operations.                                                                                                                                                                                                          |
| [IsPlaying](/engine/6000.7/script-reference/unityengine/playables/playablegraph/isplaying.md)                       | Indicates that a graph is presently running.                                                                                                                                                                                                                  |
| [IsValid](/engine/6000.7/script-reference/unityengine/playables/playablegraph/isvalid.md)                           | Returns true if the [PlayableGraph](/engine/6000.7/script-reference/unityengine/playables/playablegraph.md) has been properly constructed using CreateGraph and is not deleted.                                                                               |
| [Play](/engine/6000.7/script-reference/unityengine/playables/playablegraph/play.md)                                 | Plays the graph.                                                                                                                                                                                                                                              |
| [SetResolver](/engine/6000.7/script-reference/unityengine/playables/playablegraph/setresolver.md)                   | Changes the table used by the graph to resolve ExposedReferences.                                                                                                                                                                                             |
| [SetTimeUpdateMode](/engine/6000.7/script-reference/unityengine/playables/playablegraph/settimeupdatemode.md)       | Changes how time is incremented when playing back.                                                                                                                                                                                                            |
| [Stop](/engine/6000.7/script-reference/unityengine/playables/playablegraph/stop.md)                                 | Stops the graph, if it is playing.                                                                                                                                                                                                                            |

## Static Methods

| Method                                                                                  | Description                                                                                        |
| --------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| [Create](/engine/6000.7/script-reference/unityengine/playables/playablegraph/create.md) | Creates a [PlayableGraph](/engine/6000.7/script-reference/unityengine/playables/playablegraph.md). |
