private void FillBySearchForMissingComponents(bool testScene) { _prefabResults.Clear(); _sceneResults.Clear(); if (_targetScript != null) { if (testScene) { foreach (var go in GameObject.FindObjectsOfType <GameObject>()) { foreach (var c in go.GetComponents <Component>()) { if (c == null) { _sceneResults.Add(go); break; } } } } else { GameObject go; foreach (var p in PrefabHelper.GetAllPrefabAssetPaths()) { go = AssetDatabase.LoadMainAssetAtPath(p) as GameObject; if (go != null && PrefabUtility.GetPrefabType(go) == PrefabType.Prefab) { foreach (var c in go.GetComponentsInChildren <Component>(true)) { if (c == null) { _prefabResults.Add(p); } } } } } } }