Version: 2022.3

AssetDatabase.GetAssetDependencyHash

切换到手册
public static Hash128 GetAssetDependencyHash (string path);
public static Hash128 GetAssetDependencyHash (GUID guid);

参数

path 资源的路径。
guid GUID of the asset.

返回

Hash128 聚合哈希值。

描述

返回资源所有依赖项的哈希值。

此哈希函数会聚合了以下内容:源资源路径、源资源、元文件、目标平台以及导入器版本。 如果此哈希值发送变化,则说明导入资源可能已更改,因此应重新构建相关的资源捆绑包。

using UnityEditor;
using UnityEngine;

public class AssetDatabaseExamples : MonoBehaviour { [MenuItem("AssetDatabase/Dependency Hash Example")] public static void DependencyHashExample() { //Load a Material, change its shader and save it var matPath = "Assets/Material.mat"; var asset = (Material)AssetDatabase.LoadMainAssetAtPath(matPath); asset.shader = Shader.Find("Unlit/Texture"); AssetDatabase.SaveAssets();

//Print out the hash into the console var hash = AssetDatabase.GetAssetDependencyHash(matPath); Debug.Log(hash);

//Change the Shader on the Material and save it asset.shader = Shader.Find("Standard"); AssetDatabase.SaveAssets();

//Hash will be different hash = AssetDatabase.GetAssetDependencyHash(matPath); Debug.Log(hash); } }