I am getting this error message when loading a scene which has references to prefabs containing InputFields. I am fairly certain this is nothing to do with my use of prefabs, since it worked fine without error on b20.
Setting the parent of a transform which resides in a prefab is disabled to prevent data corruption.
UnityEngine.Transform:SetParent(Transform, Boolean)
UnityEngine.Transform:SetParent(Transform) (at C:\BuildAgent\work\d63dfc6385190b60\artifacts\EditorGenerated\UnityEngineTransform.cs:136)
UnityEngine.UI.InputField:UpdateGeometry() (at C:\BuildAgent\work\d63dfc6385190b60\Extensions\guisystem\guisystem\UI\Core\InputField.cs:1488)
UnityEngine.UI.InputField:Rebuild(CanvasUpdate) (at C:\BuildAgent\work\d63dfc6385190b60\Extensions\guisystem\guisystem\UI\Core\InputField.cs:1469)
UnityEngine.UI.CanvasUpdateRegistry:PerformUpdate() (at C:\BuildAgent\work\d63dfc6385190b60\Extensions\guisystem\guisystem\UI\Core\CanvasUpdateRegistry.cs:103)
UnityEngine.Canvas:SendWillRenderCanvases() (at C:\BuildAgent\work\d63dfc6385190b60\artifacts\EditorGenerated\UICanvasBindings.cs:152)
-
It doesn’t happen when loading the scene directly in the editor, only when loading additively into an existing scene. I haven’t tested loading non-additively yet.
-
After this error occurs, Input Carat objects are placed into the scene and don’t disappear when play mode is exited.
-
Modifying the scene to remove the references to the prefabs stops the error and input carat objects from appearing.
-
The error appears even if the object that uses the prefab is disabled, or the prefab reference is not used anywhere.
-
The error appears even if the prefabs are never instantiated