Is AssetsV2 Safe to Delete on Mac? Diagnose It Before Removing Xcode Runtimes

Do not delete the whole /System/Library/AssetsV2 folder. Measure it first, identify the asset type, and remove only an unused Simulator Runtime through Xcode or simctl.

Short answer: is the AssetsV2 folder safe to delete?

No—not as a whole folder. /System/Library/AssetsV2 is managed by macOS and can hold several kinds of downloadable system assets. A large directory tells you to identify its contents; it does not prove that every item is disposable.

The safe unit of removal is a specific component you have identified and no longer need, such as one Simulator Runtime version. Use the component's supported management interface instead of deleting .asset files or the top-level directory by hand.

Identify a component before removing it; directory size alone is not permission to delete.
What you foundDelete directly?Safer action
The entire /System/Library/AssetsV2 folderNoMeasure it, identify the asset class, and let macOS or its owning app manage it
An unused Simulator Runtime with a known versionYes, by componentRemove it in Xcode Components or target its UUID with simctl
Software-update, voice, font, or model assetsNot by folderUse Software Update or the relevant System Settings panel

A large System Data number does not prove AssetsV2 is large

Apple describes System Data (or Other) as a general category for Apple and third-party files that do not fit a more specific storage category. It is not one folder. A Mac showing 80 GB of System Data may have only a small AssetsV2 directory, so deleting Xcode runtimes might solve none of the reported total.

Open Apple menu → System Settings → General → Storage and record the available space and largest categories. Compare that with a read-only measurement of AssetsV2. Treat System Settings, directory size, and free filesystem space as different measurements; they can update at different times.

Start with a read-only inventory

These commands inspect storage and registered Simulator Runtimes without deleting anything. Some paths may be unreadable because of macOS protections; that is not a reason to grant extra access merely to force a deletion.

  1. Check free space on the startup volume: df -h /
  2. Measure AssetsV2: du -sh /System/Library/AssetsV2
  3. List its largest top-level asset classes: du -sk /System/Library/AssetsV2/* 2>/dev/null | sort -nr | head -40
  4. If Xcode command-line tools are installed, list registered runtimes: xcrun simctl runtime list -v
  5. Save the output and a Storage screenshot so you can compare before and after.

Identify what AssetsV2 is actually storing

Developers often find large iOS, watchOS, tvOS, or visionOS Simulator Runtime images here. The same asset system can also hold macOS update resources, speech and translation assets, fonts, Metal tooling, or other components. Similar-looking .asset bundles do not have the same owner or removal process.

If simctl lists an old runtime with a matching version and size, you have a specific candidate. If no runtime matches, stop treating the directory as an Xcode problem and use the asset-class name to find its owning system setting. Do not edit MobileAsset metadata or disable system protection to make a cleanup script work.

Prefer Xcode Settings → Components

Apple's Xcode documentation directs developers to Settings → Components to download and manage additional platform support. Installed components can show how much space removal will recover. For an unused platform or Simulator Runtime, open its details and choose Delete; optional components may offer Turn Off instead.

This route lets Xcode update both the installed files and its component records. Menu labels can vary by Xcode release, but a missing button is not a reason to delete the corresponding system directory manually.

  1. Open Xcode → Settings → Components.
  2. Find the runtime version identified in your read-only inventory.
  3. Confirm no current project or test device still needs that OS version.
  4. Remove only that component, then let Xcode finish before measuring space again.

Use simctl only for a runtime you have confirmed

The tested Xcode command-line tools support a dry-run for runtime deletion. For example, xcrun simctl runtime delete --notUsedSinceDays 30 --dry-run previews runtimes that have not been used for 30 days. A runtime being old or unused recently does not automatically make it unnecessary; you may still need it for compatibility testing.

For a single runtime whose version and UUID you have verified, the targeted form is xcrun simctl runtime delete RUNTIME-UUID. RUNTIME-UUID is a placeholder, not a command to copy unchanged. Close active Simulator sessions first, and avoid broad forms such as deleting all runtimes.

  1. Preview candidates with --dry-run and record version, build, UUID, size, and last-used date.
  2. Check that no booted simulator or maintained project depends on the candidate.
  3. Delete one confirmed runtime by UUID, not the AssetsV2 directory.
  4. Run xcrun simctl runtime list -v again before considering another deletion.

What if Xcode is not installed?

If xcrun or simctl is unavailable, report only what you can prove: macOS version, free space, AssetsV2 size, and its largest top-level asset class. Do not install a full copy of Xcode solely to make a cleanup command available; that can consume more space and still may not identify the asset owner.

A Mac that once had Xcode may retain managed assets after Xcode is removed, but a path and a large number are still not proof that the files are safe to delete. Use the associated System Settings panel or provide the inventory to Apple Support or Apple Developer Support.

Why a successful command may not free space immediately

A runtime can move through an unmounting or deleting state before disk blocks are reclaimed. Wait and re-read the runtime list instead of submitting the same deletion repeatedly or killing CoreSimulator processes. A restart may allow macOS to finish cleanup, but it is not a guaranteed storage-recovery command.

Also keep Time Machine local snapshots separate from AssetsV2. Apple says snapshot space is counted as available and snapshots are removed automatically as they age or as space is needed. A third-party scanner showing a large snapshot does not mean that manually deleting AssetsV2 will affect it.

Verify the result before reporting reclaimed storage

Measure the same three things you recorded at the start: free filesystem space, AssetsV2 size, and the registered runtime list. System Settings may take time to recalculate its category labels, so do not subtract two delayed category values and call the difference recovered space.

  1. Run df -h / and compare available space with the original reading.
  2. Run du -sh /System/Library/AssetsV2 and recheck the largest asset class.
  3. Confirm the removed runtime no longer appears in xcrun simctl runtime list -v.
  4. Launch a simulator version you kept and verify that current projects still run.
  5. Record the exact runtime removed and the measured free-space change.

Sources checked

Related Apple guides

Editorial note

This guide uses first-party documentation and a read-only-first workflow. Tool output and operating-system behavior can change; verify the current component name and preserve a backup before removing anything.