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

AssetDatabase.AssetPathToGUID

Declaration

public static string AssetPathToGUID(string path);
public static string AssetPathToGUID(string path, AssetPathToGUIDOptions options = AssetPathToGUIDOptions.IncludeRecentlyDeletedAssets);

Параметры

Параметр Описание
путь Project относительный путь для ассета.
варианты Указывает, должен ли этот метод возвращать GUID для недавно удаленных ассетов. Значение по умолчанию — AssetPathToGUIDOptions.IncludeRecentlyDeletedAssets.

Возвращаемое значение

строка GUID ассета.

Описание

Получить GUID для ассета в path.

Все пути относятся к папке проекта, например: "Assets/MyTextures/hello.png".

При удалении ассета, GUID для этого ассета остается в базе данных ассетов Unity до закрытия Редактора. В результате, по умолчанию этот метод будет возвращать GUIDs для ассетов, которые были удалены в текущей сессии Unity Editor.

Для ассетов, которые не существуют и не были удалены в текущей сессии Редактора, этот метод возвращает пустую строку.

Если вам нужно возвращать пустую строку для ассетов, которые были удалены в текущей сессии Редактора, передайте значение AssetPathToGUIDOptions.OnlyExistingAssets в качестве параметра "options".

using UnityEngine;
using UnityEditor;

public class Example : MonoBehaviour { [MenuItem("AssetDatabase/AssetPathToGUID")] static void Doit() { // texture.jpg exists or was recently deleted string t = AssetDatabase.AssetPathToGUID("Assets/texture.jpg"); Debug.Log(t); // t will be not null }

[MenuItem("AssetDatabase/AssetPathToGUID Existing Assets Only")] static void DoitExistingAssetsOnly() { // texture.jpg does not exist on disk string t = AssetDatabase.AssetPathToGUID("Assets/texture.jpg", AssetPathToGUIDOptions.OnlyExistingAssets); Debug.Log(t); // t will be null } }

См. AssetDatabase.GUIDFromAssetPath для версии, которая возвращает UnityEditor.GUID вместо строки.