assets-prefab-close
GitHub用于关闭Unity编辑器中当前打开的Prefab编辑阶段。可选择在关闭前保存更改或丢弃未保存的修改,返回资产对象引用。
Trigger Scenarios
Install
npx skills add IvanMurzak/Unity-MCP --skill assets-prefab-close -g -y
SKILL.md
Frontmatter
{
"name": "assets-prefab-close",
"description": "Close the currently opened prefab edit stage. Optionally saves changes back to the prefab asset before closing. Pair with 'assets-prefab-open' to enter the edit mode first."
}
Assets / Prefab / Close
Close currently opened prefab. Use it when you are in prefab editing mode in Unity Editor. Use 'assets-prefab-open' tool to open a prefab first.
Inputs
save(defaulttrue) — whentrue, callsPrefabUtility.SaveAsPrefabAssetbefore exiting the stage; whenfalse, the save is skipped. The prefab stage's dirtiness is always cleared at the end, so any unsaved changes are discarded whensaveisfalse.
Behavior
Throws when no prefab stage is currently open. Returns an AssetObjectRef for the closed prefab asset.
How to Call
unity-mcp-cli run-tool assets-prefab-close --input '{
"save": false
}'
For complex input (multi-line strings, code), save the JSON to a file and use:
unity-mcp-cli run-tool assets-prefab-close --input-file args.jsonOr pipe via stdin (recommended):
unity-mcp-cli run-tool assets-prefab-close --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 |
|---|---|---|---|
save |
boolean |
No | True to save prefab. False to discard changes. |
Input JSON Schema
{
"type": "object",
"properties": {
"save": {
"type": "boolean"
}
}
}
Output
Output JSON Schema
{
"type": "object",
"properties": {
"result": {
"$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."
}
},
"$defs": {
"System.Type": {
"type": "string"
},
"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."
}
},
"required": [
"result"
]
}
Version History
- 0.86.1 Current 2026-07-25 08:50


