package-remove
// Remove (uninstall) a package from the Unity project. This removes the package from the project's manifest.json and triggers package resolution. Note: Built-in packages and packages that are dependencies of other installed packages cannot be removed. Note: Package removal may trigger a domain reload. The result will be sent after the reload completes. Use 'package-list' tool to list installed packages first.
| name | package-remove |
|---|---|
| description | Remove (uninstall) a package from the Unity project. This removes the package from the project's manifest.json and triggers package resolution. Note: Built-in packages and packages that are dependencies of other installed packages cannot be removed. Note: Package removal may trigger a domain reload. The result will be sent after the reload completes. Use 'package-list' tool to list installed packages first. |
name: package-remove
description: Uninstall a UPM package from the Unity project. Modifies manifest.json and may trigger a domain reload — the final result is delivered after the reload via the request's requestId. Built-in packages and packages that are dependencies of others cannot be removed. Use 'package-list' to list installed packages first.
Package Manager / Remove
Remove (uninstall) a package from the Unity project. This removes the package from the project's manifest.json and triggers package resolution. Note: Built-in packages and packages that are dependencies of other installed packages cannot be removed. Note: Package removal may trigger a domain reload. The result will be sent after the reload completes. Use 'package-list' tool to list installed packages first.
Inputs
packageId— package name (e.g.com.unity.textmeshpro). A trailing@<version>is stripped automatically before being passed toClient.Remove, so accidental versioned IDs still work.
Behavior
First verifies the package is installed via an offline Client.List — returns a clear PackageNotFound error if not. On removal failure, surfaces Unity's error message. On success, schedules a post-domain-reload notification so the response is delivered after Unity finishes the resolution.
How to Call
unity-mcp-cli run-tool package-remove --input '{
"packageId": "string_value"
}'
For complex input (multi-line strings, code), save the JSON to a file and use:
unity-mcp-cli run-tool package-remove --input-file args.jsonOr pipe via stdin (recommended):
unity-mcp-cli run-tool package-remove --input-file - <<'EOF' {"param": "value"} EOF
Troubleshooting
If unity-mcp-cli is not found, either install it globally (npm install -g unity-mcp-cli) or use npx unity-mcp-cli instead.
Read the /unity-initial-setup skill for detailed installation instructions.
Input
| Name | Type | Required | Description |
|---|---|---|---|
packageId | string | Yes | The ID of the package to remove. Example: 'com.unity.textmeshpro'. Do not include version number. |
Input JSON Schema
{
"type": "object",
"properties": {
"packageId": {
"type": "string"
}
},
"required": [
"packageId"
]
}
Output
This tool does not return structured output.