# ArtifactKey

> An ArtifactKey is used for specifying an artifact to lookup or produce.

## Definition

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

```csharp
public struct ArtifactKey
```

## Remarks

One example of producing an artifact is to run and importer on a specific asset. The importer is specified by type (e.g. typeof(MyImporter) and the asset by its guid. From these two you can create an ArtifactKey and use it to ask the assetdatabase to produce the artifact. You can also create an ArtifactKey from only a guid. In that case the AssetDatabase will automatically select the importer from the list of valid importers.

## Fields

| Value                                                                                | Description                                |
| ------------------------------------------------------------------------------------ | ------------------------------------------ |
| [guid](/engine/6000.5/script-reference/unityeditor/experimental/artifactkey/guid.md) | The guid specifying the asset in question. |

## Constructors

| Constructor                                                                                                                                        | Description               |
| -------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------- |
| [ArtifactKey(UnityEngine.GUID)](/engine/6000.5/script-reference/unityeditor/experimental/artifactkey/ctor.md#artifactkey\(guid\))                  | Construct an ArtifactKey. |
| [ArtifactKey(UnityEngine.GUID,System.Type)](/engine/6000.5/script-reference/unityeditor/experimental/artifactkey/ctor.md#artifactkey\(guid-type\)) | Construct an ArtifactKey. |

## Properties

| Property                                                                                             | Description                                                         |
| ---------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
| [importerType](/engine/6000.5/script-reference/unityeditor/experimental/artifactkey/importertype.md) | The managed type of the importer to use for producing the artifact. |
| [isValid](/engine/6000.5/script-reference/unityeditor/experimental/artifactkey/isvalid.md)           | Returns true is the hash value is valid. (Read Only)                |
