You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When a prefab is instantiated in a scene, instance property overrides silently win over prefab edits, and nothing in the current toolset makes that visible. An agent edits the prefab correctly, the scene still shows the old values, and the only signal is "my change didn't apply."
A real case from this week: a HUD prefab (CombatCanvas.prefab) had a scene instance carrying 395 property modifications. The agent moved two HUD elements in the prefab, and at runtime their anchors snapped back because the scene instance held stale m_AnchorMin / m_AnchoredPosition overrides. Diagnosing it took many calls: dump the runtime values, grep the scene YAML for m_SourcePrefab, then PrefabUtility.GetPropertyModifications through execute_code. Once it was visible, the fix was one RevertObjectOverride per object.
What would you like to see?
A read action plus the matching write actions, e.g. on manage_prefabs (or manage_gameobject for instances):
list_overrides (target = a prefab instance in the open scene). Returns property modifications grouped by target object/component, each with propertyPath, the instance value and the prefab value. Optional filters such as property_prefix: "m_Anchor" or a child path. Also lists added/removed components and GameObjects.
revert_overrides / apply_overrides for a specific object, component or property path.
Even the read-only list_overrides alone would turn this from a long investigation into one call, and agents could check it proactively before editing a prefab that has scene instances.
Prior art / how do you work around this today?
execute_code with PrefabUtility.GetPropertyModifications(root) and PrefabUtility.RevertObjectOverride(...). It works, but agents only reach for it after they're already confused.
Scope hint
Small to medium: thin wrappers over PrefabUtility.GetPropertyModifications, GetAddedComponents, GetAddedGameObjects, RevertObjectOverride and ApplyObjectOverride.
Environment
Unity: 6000.3.8f1 (URP) · MCP for Unity: 10.2.1-beta.6 · Client: Claude Code · Transport: stdio · OS: Windows 11 Pro
Activity