# GetHierarchyAssetPath(GameObject, bool)

> Get the path of the scene (or prefab) containing a GameObject.

## Definition

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

```csharp
public static string GetHierarchyAssetPath(GameObject gameObject, bool prefabOnly = false)
```

### Parameters

**** (\[GameObject]\(/engine/6000.7/script-reference/unityengine/gameobject)): GameObject to find the scene path.**** (\[bool]\(https\://learn.microsoft.com/dotnet/api/system.boolean)): If true, will return a path only if the GameObject is a prefab.

### Returns

| Type                                                           | Description                            |
| -------------------------------------------------------------- | -------------------------------------- |
| [string](https://learn.microsoft.com/dotnet/api/system.string) | Returns the path of a scene or prefab. |

### Examples

```csharp
static Texture2D FetchPreview(SearchItem item, SearchContext context, Vector2 size, FetchPreviewOptions options)
{
    var obj = ObjectFromItem(item);
    if (obj == null)
        return item.thumbnail;

    var assetPath = SearchUtils.GetHierarchyAssetPath(obj, true);
    if (string.IsNullOrEmpty(assetPath))
        return item.thumbnail;

    if (options.HasFlag(FetchPreviewOptions.Large))
    {
        if (AssetPreview.GetAssetPreview(obj) is Texture2D tex)
            return tex;
    }
    return GetAssetPreviewFromPath(assetPath, size, options);
}
```
