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

描述

确定资源是否为外部资源。

外部资源是导入到 Unity 项目中的外部文件(例如,.png 纹理文件就是一个外部资源)。
导入外部资源后,Unity 将在项目的 Library 文件夹中生成数据的序列化表示形式。此操作是在初次将资源添加至项目并且外部资源在 Unity 外部更新时完成的。

See Also: AssetDatabase.IsNativeAsset.

using UnityEditor;
using UnityEngine;

public class AssetDatabaseExamples : MonoBehaviour { [MenuItem("AssetDatabase/Find Foreign Assets")] static void FindForeignAssets() { //Find all foreign assets foreach (var guid in AssetDatabase.FindAssets("",new []{"Assets"})) { var path = AssetDatabase.GUIDToAssetPath(guid); var asset = AssetDatabase.LoadMainAssetAtPath(path); var assetIsForeign = AssetDatabase.IsForeignAsset(asset); if(assetIsForeign) Debug.Log(asset); } } }