# VideoPlayer.EventHandler

> Delegate type for all events without parameters emitted by VideoPlayer s.

## Definition

* **Type:** Delegate
* **Namespace:** [UnityEngine.Video](/engine/6000.7/script-reference/unityengine/video.md)
* **Assembly:** UnityEngine.VideoModule

```csharp
public delegate void VideoPlayer.EventHandler(VideoPlayer source)
```

## Remarks

Use this EventHandler to define what you want to happen when the [VideoPlayer](/engine/6000.7/script-reference/unityengine/video/videoplayer.md) emits certain events. This EventHandler accepts the following VideoPlayer events:

* [\_loopPointReached](/engine/6000.7/script-reference/unityengine/video/videoplayer/looppointreached.md)

* [\_started](/engine/6000.7/script-reference/unityengine/video/videoplayer/started.md)

* [\_prepareCompleted](/engine/6000.7/script-reference/unityengine/video/videoplayer/preparecompleted.md)

* [\_seekCompleted](/engine/6000.7/script-reference/unityengine/video/videoplayer/seekcompleted.md)

This EventHandler doesn't accept events that have parameters.

Additional Resources: [VideoPlayer.ErrorEventHandler](/engine/6000.7/script-reference/unityengine/video/videoplayer/erroreventhandler.md), [\_errorReceived](/engine/6000.7/script-reference/unityengine/video/videoplayer/errorreceived.md), [VideoPlayer.FrameReadyEventHandler](/engine/6000.7/script-reference/unityengine/video/videoplayer/framereadyeventhandler.md), [\_frameReady](/engine/6000.7/script-reference/unityengine/video/videoplayer/frameready.md), [VideoPlayer.TimeEventHandler](/engine/6000.7/script-reference/unityengine/video/videoplayer/timeeventhandler.md)

## Examples

```csharp
 // This script sets up a generic EventHandler to process a few different parameter-less events from the VideoPlayer. 

using UnityEngine;
using UnityEngine.Video;

public class EventHandlerExample : MonoBehaviour
{
    public VideoPlayer videoPlayer;


    void Start()
    {
        videoPlayer = GetComponent<VideoPlayer>();

        // Define a generic EventHandler for events that have the same signature.
        VideoPlayer.EventHandler eventHandler = OnVideoPlayerEvent;

        // Assign the generic EventHandler to manage multiple VideoPlayer events. 
        videoPlayer.prepareCompleted += eventHandler;
        videoPlayer.started += eventHandler;
        videoPlayer.loopPointReached += eventHandler;
        videoPlayer.seekCompleted += eventHandler;

        videoPlayer.Prepare();
    }

    // All those events will invoke this same function and be handled the same way. 
    private void OnVideoPlayerEvent(VideoPlayer vp)
    {
        Debug.Log("An event occurred on VideoPlayer.");
    }
}
```
