# AddRequest

> Represents an asynchronous request to add a package to the project.

## Definition

* **Type:** Class
* **Namespace:** [UnityEditor.PackageManager.Requests](/engine/6000.6/script-reference/unityeditor/packagemanager/requests.md)
* **Assembly:** UnityEditor.CoreModule
* **Inherits from:** [Request\<PackageInfo>](/engine/6000.6/script-reference/unityeditor/packagemanager/requests/request1.md)
* **Implements:** [ISerializationCallbackReceiver](/engine/6000.6/script-reference/unityengine/iserializationcallbackreceiver.md)

```csharp
public sealed class AddRequest : Request<PackageInfo>, ISerializationCallbackReceiver
```

## Remarks

The PackageManager [Client](/engine/6000.6/script-reference/unityeditor/packagemanager/client.md) class returns an AddRequest instance when you call the [Client.Add](/engine/6000.6/script-reference/unityeditor/packagemanager/client/add.md) method to add a package to your project. Use this object to determine when the request is complete and to access the result.

Once the request comsplete, you can retrieve the [PackageInfo](/engine/6000.6/script-reference/unityeditor/packagemanager/packageinfo.md) instance from the Result property.

```csharp
using UnityEngine;
using UnityEditor.PackageManager;
using UnityEditor.PackageManager.Requests;
[ExecuteInEditMode]
public class PackageManagerAddExample : MonoBehaviour
{
    AddRequest m_AddRequest;

    void Start()
    {
        Debug.Log("Client.Add example...");
        m_AddRequest = Client.Add("com.unity.textmeshpro");
    }

    void Update()
    {
        if (m_AddRequest != null && m_AddRequest.IsCompleted)
        {
            if (m_AddRequest.Status == StatusCode.Success)
            {
                var package = m_AddRequest.Result;
                Debug.Log($"Added package: {package.name}" +
                    $"\nVersion: {package.version}" +
                    $"\nDisplay name: {package.displayName}");
            }
            else
            {
                Debug.LogError($"Add failed: {m_AddRequest.Error.message}");
            }
            m_AddRequest = null;
        }
    }
}
```

**Related information**

* [Client.Add](/engine/6000.6/script-reference/unityeditor/packagemanager/client/add.md)
* [PackageCollection](/engine/6000.6/script-reference/unityeditor/packagemanager/packagecollection.md)
* [Request\<T>](/engine/6000.6/script-reference/unityeditor/packagemanager/requests/request1.md)
* [PackageInfo](/engine/6000.6/script-reference/unityeditor/packagemanager/packageinfo.md)

## Inheritance

**Inherited Members:**

* [Request\<PackageInfo>.Result()](/engine/6000.6/script-reference/unityeditor/packagemanager/requests/request1/result.md)
* [Request.Status()](/engine/6000.6/script-reference/unityeditor/packagemanager/requests/request/status.md)
* [Request.IsCompleted()](/engine/6000.6/script-reference/unityeditor/packagemanager/requests/request/iscompleted.md)
* [Request.Error()](/engine/6000.6/script-reference/unityeditor/packagemanager/requests/request/error.md)
