# GetMainAssetTypeFromGUID(GUID)

> Obtains the type of the main object of a given asset.

## Definition

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

```csharp
public static Type GetMainAssetTypeFromGUID(GUID guid)
```

### Parameters

**** (GUID): The GUID of the asset.

### Returns

| Type                                                       | Description                                            |
| ---------------------------------------------------------- | ------------------------------------------------------ |
| [Type](https://learn.microsoft.com/dotnet/api/system.type) | Returns the type of the main asset object with `guid`. |

### Examples

```csharp
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;

public class AssetDatabaseExamples : MonoBehaviour
{
    [MenuItem("AssetDatabase/Print Type Count")]
    static void GetAllAssetTypeCount()
    {
        var typeCount = new Dictionary<string, uint>();
        //Put all the types that were found in the typeCount dictionary and increment their count
        foreach (var guid in AssetDatabase.FindAssets("", new []{"Assets"}))
        {
            var typeString = AssetDatabase.GetMainAssetTypeFromGUID(new GUID(guid)).ToString();
            if (typeCount.ContainsKey(typeString))
                typeCount[typeString]++;
            else
                typeCount.Add(typeString, 1);
        }
        //Print types and their count into the Unity Console
        foreach (var element in typeCount)
        {
            Debug.Log(element);
        }
    }
}
```
