Search Issue Tracker

By Design

Votes

0

Found in

2018.3.0a2

Issue ID

1051992

Regression

No

[Improved Prefabs] Base Prefab can be set as child of Variant Prefab causing ArgumentException: Cyclic nesting detected errors

Scene Management

-

Steps to reproduce:
1. Create or open an existing project
2. Create any prefab
3. Create a Prefab Variant of this prefab
4. Open the created Prefab Variant in Prefab Mode
5. Place the Base Prefab as the child of the Prefab Variant
6. Apply overrides on the Prefab Variant

Expected result:
You are prevented from adding the base prefab as child of the variant prefab ("Cyclic Prefab nesting not supported" warning)

Actual result:
You are not prevented from adding the base prefab as child of the variant prefab and applying overrides causes "ArgumentException: Cyclic nesting detected" errors

Reproduced with: Version 2018.3.0a2 (e9113db2e9bf)
Thu, 14 Jun 2018 21:56:37 GMT
Branch: prefabs/improved

Error:
ArgumentException: Cyclic nesting detected
UnityEditor.PrefabUtility.SavePrefab (UnityEngine.GameObject inputObject, System.String path, ReplacePrefabOptions replaceOptions, PrefabCreationFlags creationFlags) (at C:/buildslave/unity/build/Editor/Mono/Prefabs/PrefabUtility.bindings.cs:168)
UnityEditor.PrefabUtility.ApplyPrefabInstance (UnityEngine.GameObject instance) (at C:/buildslave/unity/build/Editor/Mono/Prefabs/PrefabUtility.cs:1066)
UnityEditor.PrefabUtility.ApplyPrefabInstance (UnityEngine.GameObject instanceRoot, InteractionMode action) (at C:/buildslave/unity/build/Editor/Mono/Prefabs/PrefabUtility.cs:350)
UnityEditor.PrefabOverridesWindow.OnGUI (Rect rect) (at C:/buildslave/unity/build/Editor/Mono/Prefabs/PrefabOverrides/PrefabOverridesWindow.cs:179)
UnityEditor.PopupWindow.OnGUI () (at C:/buildslave/unity/build/Editor/Mono/GUI/PopupWindow.cs:90)
System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:232)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MethodBase.cs:115)
UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:293)
UnityEditor.HostView.Invoke (System.String methodName) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:287)
UnityEditor.HostView.OldOnGUI () (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:101)
UnityEngine.Experimental.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, Matrix4x4 worldTransform, Rect clippingRect, Boolean isComputingLayout) (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:238)

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.