# PlayableOutputExtensions

> Extensions for all the types that implements IPlayableOutput.

## Definition

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

```csharp
public static class PlayableOutputExtensions
```

## Remarks

Extension methods are static methods that can be called as if they were instance methods on the extended type.

## Examples

```csharp
using UnityEngine;
using UnityEngine.Playables;

public class ExamplePlayableBehaviour : PlayableBehaviour
{
    void Start()
    {
        PlayableGraph graph = PlayableGraph.Create();
        ScriptPlayableOutput scriptOutput = ScriptPlayableOutput.Create(graph, "MyOutput");

        // Calling method PlayableExtensions.SetWeight on ScriptPlayableOutput as if it was an instance method.
        scriptOutput.SetWeight(10);

        // The line above is the same as calling directly PlayableExtensions.SetDuration, but it is more compact and readable.
        PlayableOutputExtensions.SetWeight(scriptOutput, 10);
    }
}
```

## Static Methods

| Method                                                                                                                                     | Description                                                                                                                                                     |
| ------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [AddNotificationReceiver](/engine/6000.0/script-reference/unityengine/playables/playableoutputextensions/addnotificationreceiver.md)       | Registers a new receiver that listens for notifications.                                                                                                        |
| [GetNotificationReceivers](/engine/6000.0/script-reference/unityengine/playables/playableoutputextensions/getnotificationreceivers.md)     | Retrieves the list of notification receivers currently registered on the output.                                                                                |
| [GetSourceOutputPort](/engine/6000.0/script-reference/unityengine/playables/playableoutputextensions/getsourceoutputport.md)               | Returns the source playable's output connection index.                                                                                                          |
| [GetSourcePlayable](/engine/6000.0/script-reference/unityengine/playables/playableoutputextensions/getsourceplayable.md)                   | Returns the source playable.                                                                                                                                    |
| [GetUserData](/engine/6000.0/script-reference/unityengine/playables/playableoutputextensions/getuserdata.md)                               | Returns the opaque user data. This is the same value as the last last argument of ProcessFrame.                                                                 |
| [GetWeight](/engine/6000.0/script-reference/unityengine/playables/playableoutputextensions/getweight.md)                                   | Returns the weight of the connection from the [PlayableOutput](/engine/6000.0/script-reference/unityengine/playables/playableoutput.md) to the source playable. |
| [IsOutputNull](/engine/6000.0/script-reference/unityengine/playables/playableoutputextensions/isoutputnull.md)                             | Returns true if the [PlayableOutput](/engine/6000.0/script-reference/unityengine/playables/playableoutput.md) is null, false otherwise.                         |
| [PushNotification](/engine/6000.0/script-reference/unityengine/playables/playableoutputextensions/pushnotification.md)                     | Queues a notification to be sent through the Playable system.                                                                                                   |
| [RemoveNotificationReceiver](/engine/6000.0/script-reference/unityengine/playables/playableoutputextensions/removenotificationreceiver.md) | Unregisters a receiver on the output.                                                                                                                           |
| [SetReferenceObject](/engine/6000.0/script-reference/unityengine/playables/playableoutputextensions/setreferenceobject.md)                 | Sets the bound object to a new value. Used to associate an output to an object (Track asset in case of Timeline).                                               |
| [SetSourcePlayable](/engine/6000.0/script-reference/unityengine/playables/playableoutputextensions/setsourceplayable.md)                   | Sets which playable that computes the output.                                                                                                                   |
| [SetUserData](/engine/6000.0/script-reference/unityengine/playables/playableoutputextensions/setuserdata.md)                               | Sets the opaque user data. This same data is passed as the last argument to ProcessFrame.                                                                       |
| [SetWeight](/engine/6000.0/script-reference/unityengine/playables/playableoutputextensions/setweight.md)                                   | Sets the weight of the connection from the [PlayableOutput](/engine/6000.0/script-reference/unityengine/playables/playableoutput.md) to the source playable.    |
