# ProduceArtifactsAsync(GUID[], Type)

> Imports Assets asynchronously using an Importer type and returns matching cached results.

## Definition

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

```csharp
public static ImportResultID[] ProduceArtifactsAsync(GUID[] artifactKey, Type importerType = null)
```

### Parameters

**** (GUID\[]): GUIDs specifying Assets to import.**** (\[Type]\(https\://learn.microsoft.com/dotnet/api/system.type)): The type of the importer class used to import the Assets.

### Returns

| Type                                                                                             | Description                                                                                               |
| ------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------- |
| [ImportResultID\[\]](/engine/6000.7/script-reference/unityeditor/experimental/importresultid.md) | Unique identifiers for the results of Importing the specified `artifactKey` entries using `importerType`. |

### Remarks

Reuses cached import results for each entry in `artifactKey` where available.

This method returns one or more invalid [ImportResultID](/engine/6000.7/script-reference/unityeditor/experimental/importresultid.md)s in the following curcumstances:

1. An internal error occurs. This is accompanied by an error message in the Unity Log.
2. The corresponding `artifactKey` entry is an invalid Asset GUID, or `importerType` is invalid.
3. There is no cached result for the corresponding `artifactKey` entry, and an async import operation is queued. Completion of an async request is checked by calling [AssetDatabaseExperimental.LookupArtifact](/engine/6000.7/script-reference/unityeditor/experimental/assetdatabaseexperimental/lookupartifact.md).

Additional Resources: [AssetDatabaseExperimental.LookupArtifact](/engine/6000.7/script-reference/unityeditor/experimental/assetdatabaseexperimental/lookupartifact.md).
