# IsNativeAsset

> Determines whether the asset is a native asset.

## Definition

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

## IsNativeAsset(Object)

Determines whether the asset is a native asset.

```csharp
public static bool IsNativeAsset(Object obj)
```

### Parameters

**** (\[Object]\(/engine/6000.0/script-reference/unityengine/object)): The object of the asset.

### Returns

| Type                                                          | Description                                           |
| ------------------------------------------------------------- | ----------------------------------------------------- |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) | True if the asset is a native asset, otherwise false. |

### Remarks

A native asset is a file produced directly by Unity's serialization system (for example, a .mat material file is a native asset)

Scenes, prefabs and assembly definitions aren't native assets. For more information, refer to [Native asset importers reference](/engine/6000.0/manual/assets-and-media/asset-types/assets-supported-types.md).

Additional Resources: [AssetDatabase.IsForeignAsset](/engine/6000.0/script-reference/unityeditor/assetdatabase/isforeignasset.md).

### Examples

```csharp
using UnityEditor;
using UnityEngine;

public class AssetDatabaseExamples : MonoBehaviour
{
    [MenuItem("AssetDatabase/List All Native Files")]
    static void ListNativeFiles()
    {
        //List all native assets in the project
        foreach (var guid in AssetDatabase.FindAssets("", new []{"Assets"}))
        {
            var path = AssetDatabase.GUIDToAssetPath(guid);
            var asset = AssetDatabase.LoadMainAssetAtPath(path);
            if(AssetDatabase.IsNativeAsset(asset))
                Debug.Log(asset);
        }
    }
}
```

## IsNativeAsset(int)

Determines whether the asset is a native asset.

```csharp
public static bool IsNativeAsset(int instanceID)
```

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The InstanceID of the asset.

### Returns

| Type                                                          | Description                                           |
| ------------------------------------------------------------- | ----------------------------------------------------- |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) | True if the asset is a native asset, otherwise false. |

### Remarks

A native asset is a file produced directly by Unity's serialization system (for example, a .mat material file is a native asset)

Scenes, prefabs and assembly definitions aren't native assets. For more information, refer to [Native asset importers reference](/engine/6000.0/manual/assets-and-media/asset-types/assets-supported-types.md).

Additional Resources: [AssetDatabase.IsForeignAsset](/engine/6000.0/script-reference/unityeditor/assetdatabase/isforeignasset.md).

### Examples

```csharp
using UnityEditor;
using UnityEngine;

public class AssetDatabaseExamples : MonoBehaviour
{
    [MenuItem("AssetDatabase/List All Native Files")]
    static void ListNativeFiles()
    {
        //List all native assets in the project
        foreach (var guid in AssetDatabase.FindAssets("", new []{"Assets"}))
        {
            var path = AssetDatabase.GUIDToAssetPath(guid);
            var asset = AssetDatabase.LoadMainAssetAtPath(path);
            if(AssetDatabase.IsNativeAsset(asset))
                Debug.Log(asset);
        }
    }
}
```
