{"record":{"id":"78d080a6937bace4","repo":"Unity-Technologies/UnityCsReference","slug":"plaingameobjects-has-no-objects","errorCode":null,"errorMessage":"plainGameObjects has no objects","messagePattern":"plainGameObjects has no objects","errorType":"validation","errorClass":"ArgumentException","httpStatus":null,"severity":"error","filePath":"Editor/Mono/Prefabs/PrefabUtility.cs","lineNumber":2394,"sourceCode":"            }\n        }\n\n        public static void ConvertToPrefabInstance(GameObject plainGameObject, GameObject prefabAssetRoot, ConvertToPrefabInstanceSettings settings, InteractionMode mode)\n        {\n            ThrowIfInvalidArgumentsForConvertToPrefabInstance(plainGameObject, prefabAssetRoot, true, mode);\n\n            ConvertToPrefabInstance_NoInputValidation(plainGameObject, prefabAssetRoot, settings, mode);\n\n            EditorUtility.ForceRebuildInspectors();\n        }\n\n        public static void ConvertToPrefabInstances(GameObject[] plainGameObjects, GameObject prefabAssetRoot, ConvertToPrefabInstanceSettings settings, InteractionMode mode)\n        {\n            if (plainGameObjects == null)\n                throw new ArgumentNullException(nameof(plainGameObjects));\n\n            if (plainGameObjects.Length == 0)\n                throw new ArgumentException(nameof(plainGameObjects) + \" has no objects\");\n\n            foreach(var go in plainGameObjects)\n                if (go == null)\n                    throw new ArgumentException(nameof(plainGameObjects) + \" has a null GameObject\");\n\n            if (settings == null)\n                throw new ArgumentNullException(nameof(settings));\n\n            ThrowIfInvalidAssetForReplacePrefabInstance(prefabAssetRoot, mode);\n\n            var topLevelGameObjects = GetTopLevelGameObjects(plainGameObjects);\n            foreach (var go in topLevelGameObjects)\n                ThrowIfInvalidArgumentsForConvertToPrefabInstance(go, prefabAssetRoot, false, mode);\n\n            foreach (var go in topLevelGameObjects)\n                ConvertToPrefabInstance_NoInputValidation(go, prefabAssetRoot, settings, mode);\n\n            EditorUtility.ForceRebuildInspectors();","sourceCodeStart":2376,"sourceCodeEnd":2412,"githubUrl":"https://github.com/Unity-Technologies/UnityCsReference/blob/225b0fbdb57cc17d094e8056b71f8314aba56f73/Editor/Mono/Prefabs/PrefabUtility.cs#L2376-L2412","documentation":"PrefabUtility.ConvertToPrefabInstances throws an ArgumentException when plainGameObjects is an empty array. The API requires at least one GameObject to operate on; an empty array is meaningless for prefab conversion.","triggerScenarios":"Calling ConvertToPrefabInstances with a zero-length GameObject[] (e.g., new GameObject[0], Array.Empty<GameObject>(), or an empty selection).","commonSituations":"User selected nothing in the Hierarchy, a filter returned zero results, or a bulk-operation pipeline ran with an empty input set.","solutions":["Check plainGameObjects.Length > 0 before calling the API.","Guard with early return: if (gos.Length == 0) return;","Use Selection.gameObjects filtered to valid candidates and verify count before proceeding."],"exampleFix":"// before\nPrefabUtility.ConvertToPrefabInstances(new GameObject[0], root, settings, InteractionMode.AutomatedAction);\n// after\nif (gos != null && gos.Length > 0)\n    PrefabUtility.ConvertToPrefabInstances(gos, root, settings, InteractionMode.AutomatedAction);","handlingStrategy":"validation","validationCode":"if (plainGameObjects == null || plainGameObjects.Length == 0)\n    return;\nPrefabUtility.ConvertToPrefabInstances(plainGameObjects, root, settings, mode);","typeGuard":"static bool HasObjects(GameObject[] arr) => arr != null && arr.Length > 0;","tryCatchPattern":null,"preventionTips":["Check Length before calling collection-based Unity APIs","Guard bulk operations with early-return on empty input","Log when input is unexpectedly empty to catch upstream bugs"],"tags":["unity","prefab","argument-validation","editor"],"backgroundTag":null,"analyzedSha":"225b0fbdb57cc17d094e8056b71f8314aba56f73","analyzedAt":"2026-08-13T19:07:19.849Z","schemaVersion":2},"datasetVersion":"2026-08-13T19:17:28.613Z"}