# GetMainAssetTypeAtPath(string)

> Obtains the type of the main asset object.

## Definition

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

```csharp
public static Type GetMainAssetTypeAtPath(string assetPath)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Filesystem path of the asset to load.

### Returns

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

### Remarks

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

### 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 path = AssetDatabase.GUIDToAssetPath(guid);
            var typeString = AssetDatabase.GetMainAssetTypeAtPath(path).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);
        }
    }
}
```
