Unity 6.3
0 онлайн 21 гостей 3 в системе
Вход

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."); } } }