关闭场景时一些物体没有清理干净

rap*_*2-h 3 unity-game-engine

场景加载时控制台中出现此错误:

关闭场景时,一些物体没有清理干净。(你是否从 OnDestroy 中生成了新的游戏对象?)

我知道这是因为我是Instantiate方法中的一个对象OnDestroy,并且我知道如何在应用程序退出时解决此问题。但我不知道如何在场景变化时解决这个问题SceneManager.LoadScene()

有没有什么方法可以满足这种需求,比如OnSceneUnload

小智 11

我在 OnDisable 中实例化对象时遇到类似的问题。

对我有用的是检查场景是否仍在 OnDisable 中加载。当退出应用程序/编辑器和卸载场景时,这都会返回 false。

void OnDisable()
{
        if(!this.gameObject.scene.isLoaded) return;
       // Instantiate objects here
}
Run Code Online (Sandbox Code Playgroud)