int The number of build metadata directories successfully deleted.
Deletes all recorded build history.
| Parameter | Description |
|---|---|
| buildSessionGuids | The unique session GUIDs of the builds to delete from the history. |
int The number of builds successfully deleted.
Deletes specific build metadata directories.
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."); } }