Ouvrir le mode d'édition de prefab

VérifiéSûr

Ouvre le mode d'édition de prefab pour une instance ou un asset, les modifications s'appliquent à toutes les instances. Utilisez 'assets-prefab-close' pour quitter.

Spar Skills Guide Bot
DeveloppementIntermédiaire
3006/08/2026
Claude CodeCursorWindsurfCopilotCodex
#unity#prefab#asset#editor#gameobject

Recommandé pour

Notre avis

Ouvre le mode d'édition d'un prefab Unity pour une instance de scène ou un asset GameObject, afin de modifier le prefab et d'appliquer les changements à toutes ses instances.

Points forts

  • Permet de modifier un prefab directement depuis une instance de scène
  • Utilise PrefabUtility pour résoudre automatiquement le chemin du prefab source
  • Gère plusieurs types de références (instanceID, chemin, nom, GUID)

Limites

  • Nécessite que le GameObject soit résolu et que le prefab soit accessible
  • Doit être associé à un appel ultérieur à assets-prefab-close pour quitter le mode édition
  • Ne retourne aucune sortie structurée
  • Ne fonctionne que dans un environnement Unity avec le package unity-mcp-cli configuré
Quand l'utiliser

Quand vous devez modifier un prefab Unity et propager ces changements à toutes ses instances à partir d'un agent IA.

Quand l'éviter

Quand la modification doit rester locale à une seule instance de scène sans affecter les autres instances.

Analyse de sécurité

Sûr
Score qualité90/100

The skill describes usage of a Unity editor tool for opening prefab edit mode; no execution of arbitrary commands, no exfiltration, no obfuscation. Purely informational.

Aucun point d'attention détecté

Exemples

Open prefab from selected instance
Open the prefab edit stage for the currently selected GameObject in the scene.
Edit prefab asset by path
Open the prefab stage for Assets/Characters/Player.prefab so I can rename its child objects.
Tweak prefab by instance name
Open prefab editing for the 'Enemy_Door' instance found in the scene.

name: assets-prefab-open description: Open the prefab edit stage for a prefab instance or prefab asset GameObject. Modifications inside the edit stage propagate to all instances. Pair with 'assets-prefab-close' to exit the stage when done.

Assets / Prefab / Open

Open prefab edit mode for a specific GameObject. In the Edit mode you can modify the prefab. The modification will be applied to all instances of the prefab across the project. Note: Please use 'assets-prefab-close' tool later to exit prefab editing mode.

Inputs

  • gameObjectRef — reference to a scene prefab instance OR a prefab asset GameObject. The tool resolves the prefab asset path via PrefabUtility.GetPrefabAssetPathOfNearestInstanceRoot and opens the appropriate prefab stage.

Behavior

Asset-side GameObjects open via the simple OpenPrefab(path) overload. Scene-instance GameObjects open via OpenPrefab(path, gameObject) so the editor remembers which instance prompted the edit. Editor windows are repainted before returning. Throws when the GameObject cannot be resolved or the stage fails to open.

How to Call

unity-mcp-cli run-tool assets-prefab-open --input '{
  "gameObjectRef": "string_value"
}'

For complex input (multi-line strings, code), save the JSON to a file and use:

unity-mcp-cli run-tool assets-prefab-open --input-file args.json

Or pipe via stdin (recommended):

unity-mcp-cli run-tool assets-prefab-open --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 | |------|------|----------|-------------| | gameObjectRef | any | Yes | GameObject that represents prefab instance of an original prefab GameObject. |

Input JSON Schema

{
  "type": "object",
  "properties": {
    "gameObjectRef": {
      "$ref": "#/$defs/AIGD.GameObjectRef"
    }
  },
  "$defs": {
    "System.Type": {
      "type": "string"
    },
    "AIGD.GameObjectRef": {
      "type": "object",
      "properties": {
        "instanceID": {
          "type": "integer",
          "description": "instanceID of the UnityEngine.Object. If it is '0' and 'path', 'name', 'assetPath' and 'assetGuid' is not provided, empty or null, then it will be used as 'null'. Priority: 1 (Recommended)"
        },
        "path": {
          "type": "string",
          "description": "Path of a GameObject in the hierarchy Sample 'character/hand/finger/particle'. Priority: 2."
        },
        "name": {
          "type": "string",
          "description": "Name of a GameObject in hierarchy. Priority: 3."
        },
        "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": "Find GameObject in opened Prefab or in the active Scene."
    }
  },
  "required": [
    "gameObjectRef"
  ]
}

Output

This tool does not return structured output.

Skills similaires