# StatusCode

> This enumeration represents the status of a Package Manager operation.

## Definition

* **Type:** Enum
* **Namespace:** [UnityEditor.PackageManager](/engine/6000.6/script-reference/unityeditor/packagemanager.md)
* **Assembly:** UnityEditor.CoreModule

```csharp
public enum StatusCode
```

## Remarks

* Always check the status code before accessing operation results.
* When status is `Failure`, examine the [Error](/engine/6000.6/script-reference/unityeditor/packagemanager/error.md) property for details.
* Operations remain `InProgress` until the `IsCompleted` property is `true`.

```csharp
using System;
using UnityEngine;
using UnityEditor.PackageManager;
using UnityEditor.PackageManager.Requests;

[ExecuteInEditMode]
public class PackageManagerStatusCodeExample : MonoBehaviour
{
    AddRequest m_AddRequest;
    const string k_ValidPackageName = "com.unity.textmeshpro";

    void Start()
    {
        Debug.Log("Checking StatusCode during a request...");
        m_AddRequest = Client.Add(k_ValidPackageName);
    }

    void Update()
    {
        if (m_AddRequest != null)
        {
            switch (m_AddRequest.Status)
            {
                case StatusCode.InProgress:
                    Debug.Log("Operation in progress...");
                    return;

                case StatusCode.Success:
                    Debug.Log($"Successfully installed {k_ValidPackageName}");
                    m_AddRequest = null;
                    break;

                case StatusCode.Failure:
                    Debug.LogError($"Operation failed: {m_AddRequest.Error.message}");
                    m_AddRequest = null;
                    break;
            }
        }
    }
}
```

**Related information**

* [Client](/engine/6000.6/script-reference/unityeditor/packagemanager/client.md)
* [Error](/engine/6000.6/script-reference/unityeditor/packagemanager/error.md)
* [Request](/engine/6000.6/script-reference/unityeditor/packagemanager/requests/request.md)

## Fields

| Value                                                                                             | Description                                       |
| ------------------------------------------------------------------------------------------------- | ------------------------------------------------- |
| [Failure](/engine/6000.6/script-reference/unityeditor/packagemanager/statuscode/failure.md)       | Package manager operation failed.                 |
| [InProgress](/engine/6000.6/script-reference/unityeditor/packagemanager/statuscode/inprogress.md) | Package manager operation is in progress.         |
| [Success](/engine/6000.6/script-reference/unityeditor/packagemanager/statuscode/success.md)       | Package manager operation completed successfully. |
