PackageInfo.FindForAssetPath
Declaration
public static PackageInfo FindForAssetPath(string assetPath);Параметры
| Параметр | Описание |
|---|---|
| assetPath | Относительный к проекту путь к ресурсу (например, "Packages/com.company.mypackage/Scripts/MyScript.cs"). |
Возвращаемое значение
PackageInfo Экземпляр PackageInfo, описывающий пакет, или null, если ассет не входит в пакет.
Описание
Получает сведения о пакете, содержащем ассет, на основе пути к этому ассету.
Этот метод работает для ресурсов, находящихся внутри папки 'Packages/' и принадлежащих следующим типам пакетов:
- Встроенные пакеты
- Пакеты реестра
- Пакеты Git
- Локальные пакеты
- Встроенные пакеты
Этот метод не работает для ресурсов внутри папки 'Assets/' (таких как импортированные пакеты Asset Store или ресурсы проекта).
using UnityEditor; using UnityEngine; using PackageInfo = UnityEditor.PackageManager.PackageInfo;
public class FindPackageForAssetExample { [MenuItem("Tools/Find Package For Asset Example")] public static void RunExample() { string assetPath = "Packages/com.unity.modules.physics/Physics.cs"; // Change as needed PackageInfo info = PackageInfo.FindForAssetPath(assetPath);
if (info != null) { Debug.Log($"Asset '{assetPath}' is part of package: {info.name} ({info.source})"); Debug.Log($"Display Name: {info.displayName}"); Debug.Log($"Version: {info.version}"); } else { Debug.Log($"Asset '{assetPath}' is not part of any package."); } } }