# ListRequest

> Represents an asynchronous request to list the packages in the project.

## Definition

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

```csharp
public sealed class ListRequest : Request<PackageCollection>, ISerializationCallbackReceiver
```

## Remarks

The PackageManager [Client](/engine/6000.7/script-reference/unityeditor/packagemanager/client.md) class returns a ListRequest instance when you call the [Client.List](/engine/6000.7/script-reference/unityeditor/packagemanager/client/list.md) method to list the package dependencies of your project. Use this object to determine when the request is complete and to access the result.

After the request completes, you can retrieve the [PackageCollection](/engine/6000.7/script-reference/unityeditor/packagemanager/packagecollection.md) instance from the Result property.

```csharp
using UnityEngine;
using UnityEditor.PackageManager;
using UnityEditor.PackageManager.Requests;
[ExecuteInEditMode]
public class ListRequestExample : MonoBehaviour
{
    ListRequest m_ListRequest;

    void Start()
    {
        Debug.Log("Listing packages...");
        m_ListRequest = Client.List();
    }
    void Update()
    {
        if (m_ListRequest != null && m_ListRequest.IsCompleted)
        {
            if (m_ListRequest.Status == StatusCode.Success)
            {
                foreach (var package in m_ListRequest.Result)
                {
                    Debug.Log($"{package.name}");
                }
            }
            else
            {
                Debug.Log($"Package list request failed: {m_ListRequest.Error}");
            }
            m_ListRequest = null;
        }
    }
}
```

**Related information**

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

## Inheritance

**Inherited Members:**

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