# Request

> Sends a request to all connected clients on the "events" channel.

## Definition

* **Type:** Method
* **Namespace:** [UnityEditor.MPE](/engine/6000.7/script-reference/unityeditor/mpe.md)
* **Assembly:** UnityEditor.CoreModule

## Request(string, Action\<Exception, Object\[]>, Object, long, EventDataSerialization)

Sends a request to all connected clients on the "events" channel.

```csharp
public static void Request(string eventType, Action<Exception, object[]> promiseHandler, object args = null, long timeoutInMs = 700, EventDataSerialization eventDataSerialization = EventDataSerialization.JsonUtility)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The request's event type name.**** (\[Action\<Exception, Object\[]>]\(https\://learn.microsoft.com/dotnet/api/system.action)): The handler called when the Request is either fulfilled or cancelled, or times out.**** (\[Object]\(https\://learn.microsoft.com/dotnet/api/system.object)): Arguments sent with the request event.**** (\[long]\(https\://learn.microsoft.com/dotnet/api/system.int64)): The timeout value in milliseconds. After this amount of time passes the Request is considered to be cancelled.**** (\[EventDataSerialization]\(/engine/6000.7/script-reference/unityeditor/mpe/eventdataserialization)): Specifies how to serialize the request's arguments. This can be standard JSON, or JSON annotated with JsonUtility. You can use the latter to convert the argument to a concrete Unity object that supports [JsonUtility.FromJson](/engine/6000.7/script-reference/unityengine/jsonutility/fromjson.md).

### Remarks

Any client can attempt fulfill the request but only the first client that acknowledges the request can actually fulfill it.

## Request(string, Action\<Exception, Object\[]>, Object\[], long, EventDataSerialization)

Sends a request to all connected clients on the "events" channel.

```csharp
public static void Request(string eventType, Action<Exception, object[]> promiseHandler, object[] args, long timeoutInMs = 700, EventDataSerialization eventDataSerialization = EventDataSerialization.JsonUtility)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The request's event type name.**** (\[Action\<Exception, Object\[]>]\(https\://learn.microsoft.com/dotnet/api/system.action)): The handler called when the Request is either fulfilled or cancelled, or times out.**** (\[Object\[]]\(https\://learn.microsoft.com/dotnet/api/system.object)): Arguments sent with the request event.**** (\[long]\(https\://learn.microsoft.com/dotnet/api/system.int64)): The timeout value in milliseconds. After this amount of time passes the Request is considered to be cancelled.**** (\[EventDataSerialization]\(/engine/6000.7/script-reference/unityeditor/mpe/eventdataserialization)): Specifies how to serialize the request's arguments. This can be standard JSON, or JSON annotated with JsonUtility. You can use the latter to convert the argument to a concrete Unity object that supports [JsonUtility.FromJson](/engine/6000.7/script-reference/unityengine/jsonutility/fromjson.md).

### Remarks

Any client can attempt fulfill the request but only the first client that acknowledges the request can actually fulfill it.
