# GetAvailableImporters(string)

> Gets the importer types associated with a given Asset path.

## Definition

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

```csharp
public static Type[] GetAvailableImporters(string path)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Project relative path for the asset.

### Returns

| Type                                                           | Description                                                             |
| -------------------------------------------------------------- | ----------------------------------------------------------------------- |
| [Type\[\]](https://learn.microsoft.com/dotnet/api/system.type) | Returns an array of importer types that can handle the specified Asset. |

### Examples

```csharp
using System;
using UnityEngine;
using UnityEditor;
using UnityEditor.AssetImporters;

public class AssetDatabaseExamples : MonoBehaviour
{
    [MenuItem("AssetDatabase/Available Importer Types for cube")]
    static void AvailableImporterTypeCube()
    {
        Type[] CubeTypes = AssetDatabase.GetAvailableImporters("Assets/CompanionCube.cube");
        for (int i = 0; i < CubeTypes.Length; i++)
        {
            Debug.Log("Available Importer Type for cube: " + CubeTypes[i]);
        }
    }

    //This is Example Importer for cube
    [ScriptedImporter(1, "cube")]
    public class CubeImporter : ScriptedImporter
    {
        public override void OnImportAsset(AssetImportContext ctx)
        {
            var cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
            var position = new Vector3(0, 0, 0);
            cube.transform.position = position;
            ctx.AddObjectToAsset("main obj", cube);
            ctx.SetMainObject(cube);
        }
    }
}
```
