# Remove(string)

> Removes a package dependency from the project. Removing a dependency often leads to changing installed packages, but only after the Package Manager constructs a dependency graph to solve any version conflicts.

## Definition

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

```csharp
public static RemoveRequest Remove(string packageName)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The name of the package to remove from the project.  `ArgumentException` is thrown if `packageName` is `null` or empty.

### Returns

| Type                                                                                                  | Description                                                                                                                                                                                |
| ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [RemoveRequest](/engine/6000.6/script-reference/unityeditor/packagemanager/requests/removerequest.md) | A [RemoveRequest](/engine/6000.6/script-reference/unityeditor/packagemanager/requests/removerequest.md) instance, which you can use to get the success or failure of the Remove operation. |

### Remarks

`Remove()` is an asynchronous operation. Before the operation completes, you can use the `RemoveRequest` instance to monitor the asynchronous operation.

**Note:** Make sure any other Client operations have completed before calling this method. For more information, refer to the note on the [Client](/engine/6000.6/script-reference/unityeditor/packagemanager/client.md) class reference page.

For more information, refer to [Dependency and resolution](/engine/6000.6/manual/packages-list/dependencies-lp/upm-dependencies.md).

### Examples

```csharp
using UnityEngine;
using UnityEditor.PackageManager;
using UnityEditor.PackageManager.Requests;
[ExecuteInEditMode]
public class PackageManagerClientRemoveExample : MonoBehaviour
{
    RemoveRequest m_RemoveRequest;

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

    void Update()
    {
        if (m_RemoveRequest != null && m_RemoveRequest.IsCompleted)
        {
            if (m_RemoveRequest.Status == StatusCode.Success)
            {
                Debug.Log("Package removed successfully");
            }
            else
            {
                Debug.LogError($"Remove failed: {m_RemoveRequest.Error.message}");
            }
            m_RemoveRequest = null;
        }
    }
}
```
