Developer storage

Unreal Engine Zen Data on Mac: Find It and Move the Cache

Unreal Engine’s Zen data can live outside your project, so deleting an old project may leave substantial generated storage behind. Inspect the active Zen path and your engine configuration before treating it as an ordinary disposable cache.

This guide applies to Unreal versions and workflows using Zen. It does not assume every Unreal installation uses the same backend. Check the engine version used by your project and select matching documentation.

Find the active storage location

Epic documents the macOS default as ~/Library/Application Support/Epic/UnrealEngine/Common/Zen/Data. Open that path with Finder’s Go to Folder command. If it does not exist or is small, your installation may use another location or another cache setup.

The Zen storage documentation explains that the directory can hold both derived data and cooked output. It also describes path overrides. A large folder named Data is not enough evidence to decide what your active workflow depends on.

Measure before deleting

Record the folder’s size with the Editor closed, then compare it after a normal editing or cooking session. This separates a stale installation from a directory your current job is actively using. Also check whether multiple projects share that location.

Keep source assets, configuration, code, and project descriptors backed up independently. A generated-data store is not a substitute for a project archive. Our Unreal DDC cleanup overview covers the broader distinction.

Move future growth through configuration

  1. Choose a fast local drive that remains available during development.
  2. Record the existing cache setting and any environment or command-line overrides used by your launch scripts.
  3. In the Editor’s preferences, inspect the global local DDC path under the General/Global settings described by Epic.
  4. Set the intended location, restart the relevant tooling, and check the log for the path actually selected.
  5. Run a representative project and cook or build step before retiring the old location.

Epic recommends a local drive rather than a network or cloud-backed location for this store. If an explicit Zen path override is configured, changing only a general cache setting may not have the effect you expect. Confirm the effective path instead of relying on a successful settings dialog.

Do not assume a path change moved existing data

A configuration change and a migration are different operations. Check both the old and new folder after the test. If the new location is being populated while the old one remains, include that temporary double use in your storage budget.

Schedule cleanup between development tasks, not halfway through a cook. If you cannot establish which process owns a store, leave it in place until you can. Removing a directory while its server is active is a poor way to investigate ownership.

Validate the recovery cost

Before discarding old generated data, ask how long it would take to rebuild and whether the required inputs are available. A reproducible cache can still be expensive to regenerate. For a team working on a release, several gigabytes may be worth keeping until the build is shipped.

If the disk is still crowded afterward, inspect installed engine versions, downloaded assets, and project exports separately. Use a disk analyzer to locate the large directory, then use the owning tool to decide how it should be managed.

Find what is taking up space on your Mac

Use Crumb to inspect Mac storage and review cleanup candidates. Follow the application-specific steps above for managed libraries and model files.

Download Crumb for macOS

Frequently asked questions

Can I delete the entire Epic folder?
No. First identify the exact generated-data store and its owner. The surrounding folders may contain other applications, configuration, or data you still need.
Why is Zen large after I delete a project?
The active store can be outside the project and shared by workflows. Inspect its configured path and current usage before deciding what to remove.