# ExportPackage

> Exports the assets identified by assetPathNames to a unitypackage file in fileName.

## Definition

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

## ExportPackage(string, string)

Exports the assets identified by `assetPathNames` to a unitypackage file in `fileName`.

```csharp
public static void ExportPackage(string assetPathName, string fileName)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The path of an asset to export.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The file path to create a new unitypackage file at.

### Remarks

Additional Resources: [ExportPackageOptions](/engine/6000.0/script-reference/unityeditor/exportpackageoptions.md) for information on how you can affect what gets exported.

### Examples

```csharp
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;

public class AssetDatabaseExamples : MonoBehaviour
{
    [MenuItem("AssetDatabase/Export")]
    static void Export()
    {
        var exportedPackageAssetList = new List<string>();
        //Find all shaders that have "Surface" in their names and add them to the list
        foreach (var guid in AssetDatabase.FindAssets("t:Shader Surface", new []{"Assets/Shaders"}))
        {
            var path = AssetDatabase.GUIDToAssetPath(guid);
            exportedPackageAssetList.Add(path);
        }

        //Add Prefabs folder into the asset list
        exportedPackageAssetList.Add("Assets/Prefabs");
        //Export Shaders and Prefabs with their dependencies into a .unitypackage
        AssetDatabase.ExportPackage(exportedPackageAssetList.ToArray(), "ShadersAndPrefabsWithDependencies.unitypackage",
            ExportPackageOptions.Recurse | ExportPackageOptions.IncludeDependencies);
    }
}
```

## ExportPackage(string, string, ExportPackageOptions)

Exports the assets identified by `assetPathNames` to a unitypackage file in `fileName`.

```csharp
public static void ExportPackage(string assetPathName, string fileName, ExportPackageOptions flags)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The path of an asset to export.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The file path to create a new unitypackage file at.**** (\[ExportPackageOptions]\(/engine/6000.0/script-reference/unityeditor/exportpackageoptions)): Options for how Unity exports a package.

### Remarks

Additional Resources: [ExportPackageOptions](/engine/6000.0/script-reference/unityeditor/exportpackageoptions.md) for information on how you can affect what gets exported.

### Examples

```csharp
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;

public class AssetDatabaseExamples : MonoBehaviour
{
    [MenuItem("AssetDatabase/Export")]
    static void Export()
    {
        var exportedPackageAssetList = new List<string>();
        //Find all shaders that have "Surface" in their names and add them to the list
        foreach (var guid in AssetDatabase.FindAssets("t:Shader Surface", new []{"Assets/Shaders"}))
        {
            var path = AssetDatabase.GUIDToAssetPath(guid);
            exportedPackageAssetList.Add(path);
        }

        //Add Prefabs folder into the asset list
        exportedPackageAssetList.Add("Assets/Prefabs");
        //Export Shaders and Prefabs with their dependencies into a .unitypackage
        AssetDatabase.ExportPackage(exportedPackageAssetList.ToArray(), "ShadersAndPrefabsWithDependencies.unitypackage",
            ExportPackageOptions.Recurse | ExportPackageOptions.IncludeDependencies);
    }
}
```

## ExportPackage(string\[], string, ExportPackageOptions)

Exports the assets identified by `assetPathNames` to a unitypackage file in `fileName`.

```csharp
public static void ExportPackage(string[] assetPathNames, string fileName, ExportPackageOptions flags)
```

### Parameters

**** (\[string\[]]\(https\://learn.microsoft.com/dotnet/api/system.string)): An array of asset paths to export.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The file path to create a new unitypackage file at.**** (\[ExportPackageOptions]\(/engine/6000.0/script-reference/unityeditor/exportpackageoptions)): Options for how Unity exports a package.

### Remarks

Additional Resources: [ExportPackageOptions](/engine/6000.0/script-reference/unityeditor/exportpackageoptions.md) for information on how you can affect what gets exported.

### Examples

```csharp
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;

public class AssetDatabaseExamples : MonoBehaviour
{
    [MenuItem("AssetDatabase/Export")]
    static void Export()
    {
        var exportedPackageAssetList = new List<string>();
        //Find all shaders that have "Surface" in their names and add them to the list
        foreach (var guid in AssetDatabase.FindAssets("t:Shader Surface", new []{"Assets/Shaders"}))
        {
            var path = AssetDatabase.GUIDToAssetPath(guid);
            exportedPackageAssetList.Add(path);
        }

        //Add Prefabs folder into the asset list
        exportedPackageAssetList.Add("Assets/Prefabs");
        //Export Shaders and Prefabs with their dependencies into a .unitypackage
        AssetDatabase.ExportPackage(exportedPackageAssetList.ToArray(), "ShadersAndPrefabsWithDependencies.unitypackage",
            ExportPackageOptions.Recurse | ExportPackageOptions.IncludeDependencies);
    }
}
```
