Language toolchains & SDKs

Unreal Engine DerivedDataCache Is Huge: How to Clear DDC Safely on Mac

If you have opened Activity Monitor or a storage inspector lately and noticed gigabytes of data you cannot account for, the culprit is often the Unreal Engine derived data cache. This folder stores pre-cooked shader bytecode, compressed mesh data, texture mips, and other intermediate build artifacts so that the editor does not have to regenerate them every time you open a project. On an active project the DDC can balloon past 30 GB within weeks, and on machines that have hosted several projects over multiple engine versions, 80–100 GB is not unusual. The good news is that clearing it is safe, reversible, and takes only a few minutes once you know where to look.

What the DerivedDataCache Actually Stores

When Unreal Engine loads a project it converts raw source assets — PNG textures, FBX meshes, WAV audio — into platform-specific runtime formats. These derived forms are written to the DDC so the conversion only runs once per asset per engine version per target platform. The cache is keyed on a hash of the source asset plus the engine build number, which means:

  • Upgrading the engine version invalidates the entire cache automatically.
  • Modifying a source texture or mesh invalidates only that asset's cache entry.
  • Switching target platforms (e.g., iOS vs. macOS) causes new entries to be generated alongside the existing ones.

None of this data is unique. Everything in the DDC can be regenerated by the editor on the next load. You will experience a slower first launch after clearing, but nothing will be lost permanently.

Where the DDC Lives on macOS

Unreal Engine stores derived data in two places by default. The exact path depends on whether you installed the engine through the Epic Games Launcher or built it from source.

Launcher-installed engine (UE 5.x)

The shared, machine-wide DDC lives at:

~/Library/Application Support/Epic/UnrealEngine/Common/DerivedDataCache

Per-project local caches are written inside the project folder itself:

/path/to/YourProject/DerivedDataCache/

Source-built engine

A source build reads its DDC path from Engine/Config/BaseEngine.ini. Unless you have overridden it, the default still resolves to the same ~/Library/Application Support/Epic/ tree. Check the [DerivedDataBackendGraph] section of that INI file to confirm.

How Big Does the DDC Get? A Size Reference

Scenario Typical DDC Size Notes
Small learning project, one platform target 2–8 GB Mostly shader bytecode
Mid-size game, UE 5 Lumen + Nanite enabled 20–50 GB Nanite mesh data is the main driver
Multiple engine versions (UE 4.27 + UE 5.3 + UE 5.4) on same Mac 60–120 GB Each version keeps its own keyed entries
Shared DDC used by a team of 3–5 developers 100 GB+ Uncommon on Mac; usually a network mount

The per-project folder inside the project directory is typically smaller (1–5 GB) because it only holds the most recent local build artifacts and does not accumulate across versions.

Is It Safe to Delete the DerivedDataCache?

Yes, unconditionally. Epic's own documentation describes the DDC as a build cache, not as project data. Deleting it has no effect on your Blueprints, C++ source, levels, assets, or saved game files. The only consequence is that the editor must regenerate all derived data the next time you open the project. On a fast Apple Silicon Mac this takes a few minutes for a small project and 20–40 minutes for a large one with Nanite geometry. On Intel Macs with spinning disks the process can take longer because the new cache entries are written at disk speed.

You do not need to close Epic Games Launcher before deleting the DDC, though it is good practice to close the Unreal Editor first so no active write operations are in progress.

How to Clear the DerivedDataCache on Mac: Step-by-Step

  1. Quit Unreal Editor. In the Dock, right-click the Unreal Editor icon and choose Quit, or press Cmd-Q with the editor in focus. Wait for the process to fully exit.
  2. Open Finder and navigate to the shared DDC. Press Cmd-Shift-G to open the Go To Folder dialog, then paste:
    ~/Library/Application Support/Epic/UnrealEngine/Common/DerivedDataCache
    Press Return.
  3. Move the folder to Trash. Select the DerivedDataCache folder and press Cmd-Delete. Do not empty the Trash yet if you want a safety net.
  4. Clear the per-project DDC (optional but recommended). In Finder, navigate to your project root. The folder is named DerivedDataCache and sits alongside Content, Config, and Source. Move it to Trash as well.
  5. Empty Trash once you are satisfied. After confirming the editor opens correctly on next launch, empty the Trash to reclaim the disk space.

You can also do this from the Terminal if you prefer:

rm -rf "$HOME/Library/Application Support/Epic/UnrealEngine/Common/DerivedDataCache"

Unreal Engine recreates the folder automatically on next launch, so you do not need to create it manually afterward.

Automating DDC Cleanup with a Shell Script

If you clear the DDC regularly — for example, before archiving a project or after switching engine versions — a small shell script saves several navigation steps. Save this as clear-ddc.sh in your home directory:

#!/bin/zsh SHARED="$HOME/Library/Application Support/Epic/UnrealEngine/Common/DerivedDataCache" PROJECT="${1:-}" rm -rf "$SHARED" echo "Shared DDC cleared." if [[ -n "$PROJECT" ]]; then rm -rf "$PROJECT/DerivedDataCache" echo "Project DDC cleared: $PROJECT" fi

Run it with chmod +x ~/clear-ddc.sh and then call it as ~/clear-ddc.sh /path/to/YourProject. Omit the project path to clear only the shared cache.

Other Unreal Engine Folders That Consume Mac Storage

The DDC is usually the largest Unreal-related folder, but it is not the only one worth reviewing when you are reclaiming disk space.

Intermediate

Each project has an Intermediate folder at its root. This holds compiled shader binaries, generated code from the Unreal Header Tool, and build system metadata. It is safe to delete and is automatically regenerated on the next build. A mid-size project's Intermediate folder is typically 2–10 GB.

Saved/Logs and Saved/Crashes

Crash dumps, log files, and autosave data accumulate inside Saved/ at the project root. Logs and crash dumps are safe to delete. Autosaves at Saved/Autosaves/ contain recent editor state — delete those only if you are certain you do not need them.

Epic Games Launcher cache

The Launcher itself caches installer manifests and engine metadata at:

~/Library/Application Support/Epic/EpicGamesLauncher/Data/Manifests

This is usually under 500 MB and does not need regular cleaning.

If you want a complete picture of everything Unreal Engine and other developer tools are writing to your Mac, a tool like Crumb can audit all of these locations at once and show what is safe to delete before anything is removed. That kind of overview is especially useful if you have multiple projects and engine versions and are not sure which DDC folders belong to which project. For a broader look at what dev toolchains leave behind, see our guide on cleaning up node_modules and other toolchain caches, and if you are curious why Xcode follows a similar pattern, this breakdown of Xcode storage explains the DerivedData folder in the same way.

Preventing the DDC from Growing Out of Control

Clearing the DDC is a good occasional habit, but a few configuration changes can slow its growth significantly:

  • Set a size limit on the local DDC. In Engine/Config/BaseEngine.ini (or your project's Config/DefaultEngine.ini), add a MaxCacheSize value under the [InstalledDerivedDataBackendGraph] section. Setting it to MaxCacheSize=10240 (10 GB) causes the engine to evict least-recently-used entries when the cache exceeds that threshold.
  • Use a shared network DDC if you work on a team. A shared DDC on a local NAS or a shared volume means each developer's machine only holds a thin local layer, while the bulk of derived data is shared. This cuts per-machine storage from tens of gigabytes to a few.
  • Purge between major engine upgrades. Because the cache key includes the engine version hash, upgrading from UE 5.3 to UE 5.4 leaves all UE 5.3 entries orphaned. Clearing the DDC right after upgrading prevents accumulation of stale data.
  • Archive projects you are not actively working on. Move the project folder to an external drive or compress it. The DDC inside the project folder travels with it, so your Mac's internal storage stays lean.

Reclaim your disk in one click

Crumb audits your whole Mac, tells you what's safe to delete, and frees the space in seconds — private, local, and Apple-notarized.

Download Crumb for macOS

Frequently asked questions

Is it safe to delete the Unreal Engine DerivedDataCache on Mac?
Yes, it is completely safe. The DDC contains only build-time intermediate files that Unreal Engine regenerates automatically the next time you open a project. No source assets, Blueprints, C++ code, or saved game data are stored there.
Where exactly is the DerivedDataCache on macOS?
The shared cache lives at ~/Library/Application Support/Epic/UnrealEngine/Common/DerivedDataCache. Each project also has a local DerivedDataCache folder inside its own root directory, sitting alongside the Content and Config folders.
Will deleting the DDC cause me to lose my project work?
No. Your project files, assets, Blueprints, and levels are stored in the Content, Config, and Source folders — not in the DDC. The only effect of deleting the DDC is a slower first launch while the editor rebuilds the cache.
How long does it take for Unreal Engine to rebuild the DDC after clearing it?
It depends on project size and your hardware. A small project on an Apple Silicon Mac typically takes a few minutes. A large project with Nanite geometry and Lumen lighting may take 20–40 minutes on first open. Subsequent launches are fast once the cache is rebuilt.
Can I set a maximum size for the DerivedDataCache so it does not grow as large again?
Yes. Add or edit the MaxCacheSize key in the [InstalledDerivedDataBackendGraph] section of your Engine/Config/BaseEngine.ini file. Setting it to 10240 limits the shared cache to 10 GB and causes the engine to evict stale entries automatically.