# GetUnityObjectInfo

> Gets the UnityEngine.Object information for a given Instance ID.

## Definition

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

## GetUnityObjectInfo(EntityId, UnityObjectInfo)

Gets the UnityEngine.Object information for a given Instance ID.

```csharp
public bool GetUnityObjectInfo(EntityId entityId, out FrameDataView.UnityObjectInfo info)
```

### Parameters

**** (\[EntityId]\(/engine/6000.7/script-reference/unityengine/entityid)): UnityEngine.Object entity identifier.**** (\[UnityObjectInfo]\(/engine/6000.7/script-reference/unityeditor/profiling/framedataview/unityobjectinfo)): UnityEngine.Object information output struct with name and other attributes.

### Returns

| Type                                                          | Description                                                                       |
| ------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) | Returns true if entityId exists in the frame and object information is available. |

### Remarks

Obtains information about the [Object](/engine/6000.7/script-reference/unityengine/object.md) instance in the profiler capture.

The Profiler sample can be associated with an instance of an object instance that represents an Asset, a GameObject, or anything that is derived from [Object](/engine/6000.7/script-reference/unityengine/object.md).

This information is available as a part of sample metadata. To get this metadata you can use [RawFrameDataView.GetSampleMetadataAsInt](/engine/6000.7/script-reference/unityeditor/profiling/rawframedataview/getsamplemetadataasint.md) or [HierarchyFrameDataView.GetItemEntityId](/engine/6000.7/script-reference/unityeditor/profiling/hierarchyframedataview/getitementityid.md).

```csharp
using UnityEditorInternal;
using UnityEditor.Profiling;
using UnityEngine;

public class Example
{
    public static string GetInstanceName(int frame, EntityId entityId)
    {
        using (var frameData = ProfilerDriver.GetRawFrameDataView(frame, 0))
        {
            if (!frameData.GetUnityObjectInfo(entityId, out var info))
                return "N/A";
            return (frameData.GetUnityObjectNativeTypeInfo(info.nativeTypeIndex, out var typeInfo)) ? typeInfo.name + ": " + info.name : info.name;
        }
    }
}
```

Additional Resources: [RawFrameDataView.GetSampleMetadataAsInt](/engine/6000.7/script-reference/unityeditor/profiling/rawframedataview/getsamplemetadataasint.md), [HierarchyFrameDataView.GetItemEntityId](/engine/6000.7/script-reference/unityeditor/profiling/hierarchyframedataview/getitementityid.md), [Object.GetEntityId()](/engine/6000.7/script-reference/unityengine/object/getentityid.md).

## GetUnityObjectInfo(int, UnityObjectInfo)

Gets the UnityEngine.Object information for a given Instance ID.

> **Warning:**
>
> **Removed.** GetUnityObjectInfo(int, out UnityObjectInfo) is obsolete. Use GetUnityObjectInfo(EntityId, out UnityObjectInfo) instead.

```csharp
public bool GetUnityObjectInfo(int instanceId, out FrameDataView.UnityObjectInfo info)
```

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): **** (\[UnityObjectInfo]\(/engine/6000.7/script-reference/unityeditor/profiling/framedataview/unityobjectinfo)): UnityEngine.Object information output struct with name and other attributes.

### Returns

| Type                                                          | Description                                                                       |
| ------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) | Returns true if entityId exists in the frame and object information is available. |

### Remarks

Obtains information about the [Object](/engine/6000.7/script-reference/unityengine/object.md) instance in the profiler capture.

The Profiler sample can be associated with an instance of an object instance that represents an Asset, a GameObject, or anything that is derived from [Object](/engine/6000.7/script-reference/unityengine/object.md).

This information is available as a part of sample metadata. To get this metadata you can use [RawFrameDataView.GetSampleMetadataAsInt](/engine/6000.7/script-reference/unityeditor/profiling/rawframedataview/getsamplemetadataasint.md) or [HierarchyFrameDataView.GetItemEntityId](/engine/6000.7/script-reference/unityeditor/profiling/hierarchyframedataview/getitementityid.md).

```csharp
using UnityEditorInternal;
using UnityEditor.Profiling;
using UnityEngine;

public class Example
{
    public static string GetInstanceName(int frame, EntityId entityId)
    {
        using (var frameData = ProfilerDriver.GetRawFrameDataView(frame, 0))
        {
            if (!frameData.GetUnityObjectInfo(entityId, out var info))
                return "N/A";
            return (frameData.GetUnityObjectNativeTypeInfo(info.nativeTypeIndex, out var typeInfo)) ? typeInfo.name + ": " + info.name : info.name;
        }
    }
}
```

Additional Resources: [RawFrameDataView.GetSampleMetadataAsInt](/engine/6000.7/script-reference/unityeditor/profiling/rawframedataview/getsamplemetadataasint.md), [HierarchyFrameDataView.GetItemEntityId](/engine/6000.7/script-reference/unityeditor/profiling/hierarchyframedataview/getitementityid.md), [Object.GetEntityId()](/engine/6000.7/script-reference/unityengine/object/getentityid.md).
