# AssetPathToGUID

> Get the GUID for the asset at path.

## Definition

* **Type:** Method
* **Namespace:** [UnityEditor](/engine/6000.7/script-reference/unityeditor.md)
* **Assembly:** UnityEditor.CoreModule

## AssetPathToGUID(string)

Get the GUID for the asset at `path`.

```csharp
public static string AssetPathToGUID(string path)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Project relative path for the asset.

### Returns

| Type                                                           | Description        |
| -------------------------------------------------------------- | ------------------ |
| [string](https://learn.microsoft.com/dotnet/api/system.string) | GUID of the asset. |

### Remarks

All paths are relative to the project folder, for example: "Assets/MyTextures/hello.png".

When you delete an asset, the GUID for that asset remains in Unity's asset database until you close the Editor. As a result, by default this method will still return GUIDs for assets that were deleted in the current session of the Unity Editor.

For assets that do not exist, and were not deleted in the current Editor session, this method returns an empty string.

If you need it to return an empty string for assets that were deleted in the current Editor session, pass the value [AssetPathToGUIDOptions.OnlyExistingAssets](/engine/6000.7/script-reference/unityeditor/assetpathtoguidoptions/onlyexistingassets.md) as the "options" parameter.

```csharp
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
    }
}
```

See [AssetDatabase.GUIDFromAssetPath](/engine/6000.7/script-reference/unityeditor/assetdatabase/guidfromassetpath.md) for a version that returns a GUID instead of a string.

## AssetPathToGUID(string, AssetPathToGUIDOptions)

Get the GUID for the asset at `path`.

```csharp
public static string AssetPathToGUID(string path, AssetPathToGUIDOptions options)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Project relative path for the asset.**** (\[AssetPathToGUIDOptions]\(/engine/6000.7/script-reference/unityeditor/assetpathtoguidoptions)): Specifies whether this method should return a GUID for recently deleted assets. The default value is [AssetPathToGUIDOptions.IncludeRecentlyDeletedAssets](/engine/6000.7/script-reference/unityeditor/assetpathtoguidoptions/includerecentlydeletedassets.md).

### Returns

| Type                                                           | Description        |
| -------------------------------------------------------------- | ------------------ |
| [string](https://learn.microsoft.com/dotnet/api/system.string) | GUID of the asset. |

### Remarks

All paths are relative to the project folder, for example: "Assets/MyTextures/hello.png".

When you delete an asset, the GUID for that asset remains in Unity's asset database until you close the Editor. As a result, by default this method will still return GUIDs for assets that were deleted in the current session of the Unity Editor.

For assets that do not exist, and were not deleted in the current Editor session, this method returns an empty string.

If you need it to return an empty string for assets that were deleted in the current Editor session, pass the value [AssetPathToGUIDOptions.OnlyExistingAssets](/engine/6000.7/script-reference/unityeditor/assetpathtoguidoptions/onlyexistingassets.md) as the "options" parameter.

```csharp
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
    }
}
```

See [AssetDatabase.GUIDFromAssetPath](/engine/6000.7/script-reference/unityeditor/assetdatabase/guidfromassetpath.md) for a version that returns a GUID instead of a string.
