(1)从【主场景】跳转【某场景】时,报错——预制体丢失[prefab is missing]

(2)在编辑器单独启动该场景,没有报错
场景里面有预制体实例,但是我把预制体的资源删除了。

using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
#endif
///
/// 查找场景中的预制体
///
public class FindPrefabs : MonoBehaviour
{
#if UNITY_EDITOR
void SearchPrefabs()
{
GameObject[] objects = FindObjectsOfType<GameObject>();
foreach (GameObject go in objects)
{
// 检查是否是预制体实例
if (PrefabUtility.GetPrefabInstanceHandle(go) != null)
{
Debug.Log(go.name + " is a prefab instance");
}
else
{
//Debug.Log(go.name + "不是预制体");
}
// 获取预制体根对象
GameObject prefabRoot = PrefabUtility.GetNearestPrefabInstanceRoot(go);
if (prefabRoot)
{
Debug.Log(go.name + " is part of prefab " + prefabRoot.name);
}
}
}
[ContextMenu("查找预制体")]
void Test()
{
SearchPrefabs();
}
#endif
}