# DeleteHistory

> Deletes all recorded build history.

## Definition

* **Type:** Method
* **Namespace:** [UnityEditor.Build](/engine/6000.6/script-reference/unityeditor/build.md)
* **Assembly:** UnityEditor.CoreModule

## DeleteHistory()

Deletes all recorded build history.

```csharp
public static int DeleteHistory()
```

### Returns

| Type                                                       | Description                                                    |
| ---------------------------------------------------------- | -------------------------------------------------------------- |
| [int](https://learn.microsoft.com/dotnet/api/system.int32) | The number of build metadata directories successfully deleted. |

## DeleteHistory(GUID\[])

Deletes specific build metadata directories.

```csharp
public static int DeleteHistory(GUID[] buildSessionGuids)
```

### Parameters

**** (GUID\[]): The unique session GUIDs of the builds to delete from the history.

### Returns

| Type                                                       | Description                                |
| ---------------------------------------------------------- | ------------------------------------------ |
| [int](https://learn.microsoft.com/dotnet/api/system.int32) | The number of builds successfully deleted. |

### Examples

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

public class DeleteOldBuildsExample
{
    [MenuItem("Example/BuildHistory/Delete Builds Older Than 48 Hours")]
    static public void DeleteOldBuilds()
    {
        TimeSpan maxAge = TimeSpan.FromHours(48);
        DateTime cutoffTime = DateTime.UtcNow - maxAge;

        var buildsToDelete = new List<GUID>();

        GUID[] allBuilds = BuildHistory.GetAllBuilds();
        foreach (var buildGuid in allBuilds)
        {
            try
            {
                BuildReportSummary summary = BuildHistory.GetBuildSummary(buildGuid);

                // BuildStartedAt is an ISO 8601 UTC timestamp
                if (DateTime.TryParse(summary.BuildStartedAt, CultureInfo.InvariantCulture,
                    DateTimeStyles.RoundtripKind, out DateTime buildStartTime))
                {
                    if (buildStartTime.ToUniversalTime() < cutoffTime)
                    {
                        buildsToDelete.Add(buildGuid);
                    }
                }
            }
            catch (Exception e)
            {
                Debug.LogWarning($"Failed to get summary for build {buildGuid}: {e.Message}");
            }
        }

        if (buildsToDelete.Count == 0)
        {
            Debug.Log($"No builds older than {maxAge.TotalHours} hours found.");
            return;
        }

        int deletedCount = BuildHistory.DeleteHistory(buildsToDelete.ToArray());
        Debug.Log($"Deleted {deletedCount} builds older than {maxAge.TotalHours} hours.");
    }
}
```
