# GetAssetPath

> Returns the path name relative to the project folder where the asset is stored.

## Definition

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

## GetAssetPath(Object)

Returns the path name relative to the project folder where the asset is stored.

```csharp
public static string GetAssetPath(Object assetObject)
```

### Parameters

**** (\[Object]\(/engine/6000.7/script-reference/unityengine/object)): A reference to the asset.

### Returns

| Type                                                           | Description                                                         |
| -------------------------------------------------------------- | ------------------------------------------------------------------- |
| [string](https://learn.microsoft.com/dotnet/api/system.string) | The asset path name, or an empty string if the asset doesn't exist. |

### Remarks

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

### Examples

```csharp
using UnityEngine;
using UnityEditor;

public class CreateMaterialExample : MonoBehaviour
{
    [MenuItem("GameObject/Create Material")]
    static void CreateMaterial()
    {
        // Create a simple material asset

        Material material = new Material(Shader.Find("Specular"));
        AssetDatabase.CreateAsset(material, "Assets/MyMaterial.mat");

        // Print the path of the created asset
        Debug.Log(AssetDatabase.GetAssetPath(material));
    }
}
```

## GetAssetPath(int)

Returns the path name relative to the project folder where the asset is stored.

> **Warning:**
>
> **Removed.** Please use GetAssetPath(Object) with the asset reference (e.g. GetAssetPath(myObject) instead of GetAssetPath(myObject.GetInstanceID())), or GetAssetPath(EntityId) with the EntityId parameter type instead.

```csharp
public static string GetAssetPath(int instanceID)
```

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The instance ID of the asset.

### Returns

| Type                                                           | Description                                                         |
| -------------------------------------------------------------- | ------------------------------------------------------------------- |
| [string](https://learn.microsoft.com/dotnet/api/system.string) | The asset path name, or an empty string if the asset doesn't exist. |

### Remarks

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

### Examples

```csharp
using UnityEngine;
using UnityEditor;

public class CreateMaterialExample : MonoBehaviour
{
    [MenuItem("GameObject/Create Material")]
    static void CreateMaterial()
    {
        // Create a simple material asset

        Material material = new Material(Shader.Find("Specular"));
        AssetDatabase.CreateAsset(material, "Assets/MyMaterial.mat");

        // Print the path of the created asset
        Debug.Log(AssetDatabase.GetAssetPath(material));
    }
}
```

## GetAssetPath(EntityId)

Returns the path name relative to the project folder where the asset is stored.

```csharp
public static string GetAssetPath(EntityId entityId)
```

### Parameters

**** (\[EntityId]\(/engine/6000.7/script-reference/unityengine/entityid)): The EntityId of the asset.

### Returns

| Type                                                           | Description                                                         |
| -------------------------------------------------------------- | ------------------------------------------------------------------- |
| [string](https://learn.microsoft.com/dotnet/api/system.string) | The asset path name, or an empty string if the asset doesn't exist. |

### Remarks

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

### Examples

```csharp
using UnityEngine;
using UnityEditor;

public class CreateMaterialExample : MonoBehaviour
{
    [MenuItem("GameObject/Create Material")]
    static void CreateMaterial()
    {
        // Create a simple material asset

        Material material = new Material(Shader.Find("Specular"));
        AssetDatabase.CreateAsset(material, "Assets/MyMaterial.mat");

        // Print the path of the created asset
        Debug.Log(AssetDatabase.GetAssetPath(material));
    }
}
```
