com um clique
assets-copy
// Copy assets at given paths and store them at new paths. Refreshes the AssetDatabase at the end. Use 'assets-find' to locate the source assets first.
// Copy assets at given paths and store them at new paths. Refreshes the AssetDatabase at the end. Use 'assets-find' to locate the source assets first.
| name | assets-copy |
| description | Copy assets at given paths and store them at new paths. Refreshes the AssetDatabase at the end. Use 'assets-find' to locate the source assets first. |
Copy assets at given paths and store them at new paths. Does AssetDatabase.Refresh() at the end. Use 'assets-find' tool to find assets before copying.
sourcePaths — paths of the assets to copy.destinationPaths — paths to store the copied assets (must match sourcePaths length).Each source/destination pair is copied in order. Per-pair errors are accumulated in the response instead of throwing, so a single bad pair does not abort the whole batch.
unity-mcp-cli run-tool assets-copy --input '{
"sourcePaths": "string_value",
"destinationPaths": "string_value"
}'
For complex input (multi-line strings, code), save the JSON to a file and use:
unity-mcp-cli run-tool assets-copy --input-file args.jsonOr pipe via stdin (recommended):
unity-mcp-cli run-tool assets-copy --input-file - <<'EOF' {"param": "value"} EOF
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.
| Name | Type | Required | Description |
|---|---|---|---|
sourcePaths | any | Yes | The paths of the assets to copy. |
destinationPaths | any | Yes | The paths to store the copied assets. |
{
"type": "object",
"properties": {
"sourcePaths": {
"$ref": "#/$defs/System.String-1"
},
"destinationPaths": {
"$ref": "#/$defs/System.String-1"
}
},
"$defs": {
"System.String-1": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"sourcePaths",
"destinationPaths"
]
}
{
"type": "object",
"properties": {
"result": {
"$ref": "#/$defs/AIGD.CopyAssetsResponse"
}
},
"$defs": {
"System.Collections.Generic.List(AIGD.AssetObjectRef)": {
"type": "array",
"items": {
"$ref": "#/$defs/AIGD.AssetObjectRef",
"description": "Reference to UnityEngine.Object asset instance. It could be Material, ScriptableObject, Prefab, and any other Asset. Anything located in the Assets and Packages folders."
}
},
"AIGD.AssetObjectRef": {
"type": "object",
"properties": {
"instanceID": {
"type": "integer",
"description": "instanceID of the UnityEngine.Object. If this is '0' and 'assetPath' and 'assetGuid' is not provided, empty or null, then it will be used as 'null'."
},
"assetType": {
"$ref": "#/$defs/System.Type",
"description": "Type of the asset."
},
"assetPath": {
"type": "string",
"description": "Path to the asset within the project. Starts with 'Assets/'"
},
"assetGuid": {
"type": "string",
"description": "Unique identifier for the asset."
}
},
"required": [
"instanceID"
],
"description": "Reference to UnityEngine.Object asset instance. It could be Material, ScriptableObject, Prefab, and any other Asset. Anything located in the Assets and Packages folders."
},
"System.Type": {
"type": "string"
},
"System.Collections.Generic.List(System.String)": {
"type": "array",
"items": {
"type": "string"
}
},
"AIGD.CopyAssetsResponse": {
"type": "object",
"properties": {
"CopiedAssets": {
"$ref": "#/$defs/System.Collections.Generic.List(AIGD.AssetObjectRef)",
"description": "List of copied assets."
},
"Errors": {
"$ref": "#/$defs/System.Collections.Generic.List(System.String)",
"description": "List of errors encountered during copy operations."
}
}
}
},
"required": [
"result"
]
}
Create a new folder under a parent folder inside 'Assets/'. The parent path must start with 'Assets/' and every intermediate folder in it must already exist. Refreshes the AssetDatabase at the end and returns the GUID(s) of the created folder(s).
Delete the assets at the given project paths. Refreshes the AssetDatabase at the end. Use 'assets-find' to locate the assets first.
Search the built-in assets of the Unity Editor (located at Resources/unity_builtin_extra). Filters by name and/or type; built-in assets have no GUID so GUID-based lookups are not supported.
Search the Unity asset database using a search filter string. The filter accepts names, labels (`l:`), types (`t:`), AssetBundles (`b:`), areas (`a:`), and globs (`glob:`). See the body for the full filter syntax.
Get asset data from the asset file in the Unity project — every serializable field and property. Supports token-saving path-scoped reads via `paths` or `viewQuery`. Use 'assets-find' to find the asset first.
Modify an asset file in the project. Use 'assets-get-data' first to inspect the asset structure before modifying. Not allowed to modify asset files in the 'Packages/' folder — modify them in 'Assets/'. Three modification surfaces are available (content, pathPatches, jsonPatch) — see the skill body for details.