Version: 2023.1
public static bool IsNativeAsset (Object obj);
public static bool IsNativeAsset (int instanceID);

描述

确定资源是否为原生资源。

原生资源是 Unity 的序列化系统直接生成的文件(例如,.mat 材质文件为原生资源)

Note that scenes, prefabs and assembly definitions are not considered to be native assets.

See Also: AssetDatabase.IsForeignAsset.

using UnityEditor;
using UnityEngine;

public class AssetDatabaseExamples : MonoBehaviour { [MenuItem("AssetDatabase/List All Native Files")] static void ListNativeFiles() { //List all native assets in the project foreach (var guid in AssetDatabase.FindAssets("", new []{"Assets"})) { var path = AssetDatabase.GUIDToAssetPath(guid); var asset = AssetDatabase.LoadMainAssetAtPath(path); if(AssetDatabase.IsNativeAsset(asset)) Debug.Log(asset); } } }