版本: Unity 6 (6000.0)
语言English
  • C#

AssetDatabase.RemoveScriptableObjectsWithMissingScript

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们会阅读用户提出的每个建议更改,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public static int RemoveScriptableObjectsWithMissingScript(string assetPath);

参数

assetPath 要检查的资源文件的路径。

返回值

int 文件中删除的 ScriptableObject 派生对象的数目。

描述

从给定的资源文件中删除任何无法加载的 ScriptableObject 实例,因为找不到它们的脚本。

如果删除定义 ScriptableObject 类型的脚本,则资源中所有该 ScriptableObject 的实例都将无法加载。如果在 Unity 外部移动或重命名脚本,而没有相应地移动或重命名脚本的 .meta 文件,也会发生这种情况。此方法允许您从资源中删除任何此类无法加载的 ScriptableObject 实例。您可以使用 AssetDatabase.GetScriptableObjectsWithMissingScriptCount 检查资源中是否存在无法加载的 ScriptableObject 实例,而无需删除它们。

注意:此函数只能与 原生资源文件 一起使用。如果传递非原生资源文件,它将抛出异常。

在使用此方法后,必须调用 AssetDatabase.SaveAssets 以保存对资源的更改。

其他资源:AssetDatabase.GetScriptableObjectsWithMissingScriptCountGameObjectUtility.RemoveMonoBehavioursWithMissingScript