# ScriptedImporterAttribute

> Class attribute used to register a custom asset importer derived from ScriptedImporter with Unity's Asset import pipeline.

## Definition

* **Type:** Class
* **Namespace:** [UnityEditor.AssetImporters](/engine/6000.0/script-reference/unityeditor/assetimporters.md)
* **Assembly:** UnityEditor
* **Inherits from:** [Attribute](https://learn.microsoft.com/dotnet/api/system.attribute)
* **Implements:** [\_Attribute](https://learn.microsoft.com/dotnet/api/system.runtime.interopservices._attribute)

```csharp
[AttributeUsage(AttributeTargets.Class, Inherited = false)]
public class ScriptedImporterAttribute : Attribute, _Attribute
```

## Examples

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

[ScriptedImporter(version: 1, ext: "sphere", AllowCaching = true)]
public class SphereImporter : ScriptedImporter
{
    public override void OnImportAsset(AssetImportContext ctx)
    {
        // ...
    }
}
```

## Fields

| Value                                                                                                                | Description                                |
| -------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ |
| [AllowCaching](/engine/6000.0/script-reference/unityeditor/assetimporters/scriptedimporterattribute/allowcaching.md) | Enable cache server uploads and downloads. |

## Constructors

| Constructor                                                                                                                                                                                                                                 | Description                                                                                                                                                                                                          |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [ScriptedImporterAttribute(System.Int32,System.String)](/engine/6000.0/script-reference/unityeditor/assetimporters/scriptedimporterattribute/ctor.md#scriptedimporterattribute\(int-string\))                                               | Use the ScriptedImporter attribute to register a custom importer derived from [ScriptedImporter](/engine/6000.0/script-reference/unityeditor/assetimporters/scriptedimporter.md) with Unity's Asset import pipeline. |
| [ScriptedImporterAttribute(System.Int32,System.String,System.Int32)](/engine/6000.0/script-reference/unityeditor/assetimporters/scriptedimporterattribute/ctor.md#scriptedimporterattribute\(int-string-int\))                              | Use the ScriptedImporter attribute to register a custom importer derived from [ScriptedImporter](/engine/6000.0/script-reference/unityeditor/assetimporters/scriptedimporter.md) with Unity's Asset import pipeline. |
| [ScriptedImporterAttribute(System.Int32,System.String\[\])](/engine/6000.0/script-reference/unityeditor/assetimporters/scriptedimporterattribute/ctor.md#scriptedimporterattribute\(int-string\))                                           | Use the ScriptedImporter attribute to register a custom importer derived from [ScriptedImporter](/engine/6000.0/script-reference/unityeditor/assetimporters/scriptedimporter.md) with Unity's Asset import pipeline. |
| [ScriptedImporterAttribute(System.Int32,System.String\[\],System.Int32)](/engine/6000.0/script-reference/unityeditor/assetimporters/scriptedimporterattribute/ctor.md#scriptedimporterattribute\(int-string-int\))                          | Use the ScriptedImporter attribute to register a custom importer derived from [ScriptedImporter](/engine/6000.0/script-reference/unityeditor/assetimporters/scriptedimporter.md) with Unity's Asset import pipeline. |
| [ScriptedImporterAttribute(System.Int32,System.String\[\],System.String\[\])](/engine/6000.0/script-reference/unityeditor/assetimporters/scriptedimporterattribute/ctor.md#scriptedimporterattribute\(int-string-string\))                  | Use the ScriptedImporter attribute to register a custom importer derived from [ScriptedImporter](/engine/6000.0/script-reference/unityeditor/assetimporters/scriptedimporter.md) with Unity's Asset import pipeline. |
| [ScriptedImporterAttribute(System.Int32,System.String\[\],System.String\[\],System.Int32)](/engine/6000.0/script-reference/unityeditor/assetimporters/scriptedimporterattribute/ctor.md#scriptedimporterattribute\(int-string-string-int\)) | Use the ScriptedImporter attribute to register a custom importer derived from [ScriptedImporter](/engine/6000.0/script-reference/unityeditor/assetimporters/scriptedimporter.md) with Unity's Asset import pipeline. |

## Properties

| Property                                                                                                                                 | Description                                                                                                                                                                                |
| ---------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [fileExtensions](/engine/6000.0/script-reference/unityeditor/assetimporters/scriptedimporterattribute/fileextensions.md)                 | The list of file name extensions that this scripted importer should handle. You must not include the period character, only the extension characters such as "ext".                        |
| [importQueuePriority](/engine/6000.0/script-reference/unityeditor/assetimporters/scriptedimporterattribute/importqueuepriority.md)       | Enables controlling the ordering of asset import based on type. Positive values delay the processing of source asset files while negative values place them earlier in the import process. |
| [overrideFileExtensions](/engine/6000.0/script-reference/unityeditor/assetimporters/scriptedimporterattribute/overridefileextensions.md) | List of file name extensions (not including the leading period character) that the scripted importer can handle in addition to the default file name extension(s).                         |
| [version](/engine/6000.0/script-reference/unityeditor/assetimporters/scriptedimporterattribute/version.md)                               | Importer version number used by the import layer to detect a new version of the importer.                                                                                                  |

## Inheritance

**Inherited Members:**

* [Attribute.GetCustomAttributes(MemberInfo, Type)](https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes\(system-reflection-memberinfo-system-type\))
* [Attribute.GetCustomAttributes(MemberInfo, Type, bool)](https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes\(system-reflection-memberinfo-system-type-system-boolean\))
* [Attribute.GetCustomAttributes(MemberInfo)](https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes\(system-reflection-memberinfo\))
* [Attribute.GetCustomAttributes(MemberInfo, bool)](https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes\(system-reflection-memberinfo-system-boolean\))
* [Attribute.IsDefined(MemberInfo, Type)](https://learn.microsoft.com/dotnet/api/system.attribute.isdefined#system-attribute-isdefined\(system-reflection-memberinfo-system-type\))
* [Attribute.IsDefined(MemberInfo, Type, bool)](https://learn.microsoft.com/dotnet/api/system.attribute.isdefined#system-attribute-isdefined\(system-reflection-memberinfo-system-type-system-boolean\))
* [Attribute.GetCustomAttribute(MemberInfo, Type)](https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattribute#system-attribute-getcustomattribute\(system-reflection-memberinfo-system-type\))
* [Attribute.GetCustomAttribute(MemberInfo, Type, bool)](https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattribute#system-attribute-getcustomattribute\(system-reflection-memberinfo-system-type-system-boolean\))
* [Attribute.GetCustomAttributes(ParameterInfo)](https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes\(system-reflection-parameterinfo\))
* [Attribute.GetCustomAttributes(ParameterInfo, Type)](https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes\(system-reflection-parameterinfo-system-type\))
* [Attribute.GetCustomAttributes(ParameterInfo, Type, bool)](https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes\(system-reflection-parameterinfo-system-type-system-boolean\))
* [Attribute.GetCustomAttributes(ParameterInfo, bool)](https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes\(system-reflection-parameterinfo-system-boolean\))
* [Attribute.IsDefined(ParameterInfo, Type)](https://learn.microsoft.com/dotnet/api/system.attribute.isdefined#system-attribute-isdefined\(system-reflection-parameterinfo-system-type\))
* [Attribute.IsDefined(ParameterInfo, Type, bool)](https://learn.microsoft.com/dotnet/api/system.attribute.isdefined#system-attribute-isdefined\(system-reflection-parameterinfo-system-type-system-boolean\))
* [Attribute.GetCustomAttribute(ParameterInfo, Type)](https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattribute#system-attribute-getcustomattribute\(system-reflection-parameterinfo-system-type\))
* [Attribute.GetCustomAttribute(ParameterInfo, Type, bool)](https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattribute#system-attribute-getcustomattribute\(system-reflection-parameterinfo-system-type-system-boolean\))
* [Attribute.GetCustomAttributes(Module, Type)](https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes\(system-reflection-module-system-type\))
* [Attribute.GetCustomAttributes(Module)](https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes\(system-reflection-module\))
* [Attribute.GetCustomAttributes(Module, bool)](https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes\(system-reflection-module-system-boolean\))
* [Attribute.GetCustomAttributes(Module, Type, bool)](https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes\(system-reflection-module-system-type-system-boolean\))
* [Attribute.IsDefined(Module, Type)](https://learn.microsoft.com/dotnet/api/system.attribute.isdefined#system-attribute-isdefined\(system-reflection-module-system-type\))
* [Attribute.IsDefined(Module, Type, bool)](https://learn.microsoft.com/dotnet/api/system.attribute.isdefined#system-attribute-isdefined\(system-reflection-module-system-type-system-boolean\))
* [Attribute.GetCustomAttribute(Module, Type)](https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattribute#system-attribute-getcustomattribute\(system-reflection-module-system-type\))
* [Attribute.GetCustomAttribute(Module, Type, bool)](https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattribute#system-attribute-getcustomattribute\(system-reflection-module-system-type-system-boolean\))
* [Attribute.GetCustomAttributes(Assembly, Type)](https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes\(system-reflection-assembly-system-type\))
* [Attribute.GetCustomAttributes(Assembly, Type, bool)](https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes\(system-reflection-assembly-system-type-system-boolean\))
* [Attribute.GetCustomAttributes(Assembly)](https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes\(system-reflection-assembly\))
* [Attribute.GetCustomAttributes(Assembly, bool)](https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes\(system-reflection-assembly-system-boolean\))
* [Attribute.IsDefined(Assembly, Type)](https://learn.microsoft.com/dotnet/api/system.attribute.isdefined#system-attribute-isdefined\(system-reflection-assembly-system-type\))
* [Attribute.IsDefined(Assembly, Type, bool)](https://learn.microsoft.com/dotnet/api/system.attribute.isdefined#system-attribute-isdefined\(system-reflection-assembly-system-type-system-boolean\))
* [Attribute.GetCustomAttribute(Assembly, Type)](https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattribute#system-attribute-getcustomattribute\(system-reflection-assembly-system-type\))
* [Attribute.GetCustomAttribute(Assembly, Type, bool)](https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattribute#system-attribute-getcustomattribute\(system-reflection-assembly-system-type-system-boolean\))
* [Attribute.Equals(Object)](https://learn.microsoft.com/dotnet/api/system.attribute.equals)
* [Attribute.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.attribute.gethashcode)
* [Attribute.Match(Object)](https://learn.microsoft.com/dotnet/api/system.attribute.match)
* [Attribute.IsDefaultAttribute()](https://learn.microsoft.com/dotnet/api/system.attribute.isdefaultattribute)
* [Attribute.TypeId()](https://learn.microsoft.com/dotnet/api/system.attribute.typeid)
