How to Export an Entire Unity Project
Library, Temp, Logs, Build) is regenerated automatically and should be excluded."Export the project" means two different things in Unity, and choosing the wrong one is how people lose settings or bloat a 40 GB folder that should have been 2 GB.
Two meanings of export
| You want to… | Use |
|---|---|
| Move or back up the whole project | Copy Assets, Packages and ProjectSettings |
| Share some assets with another project | Assets → Export Package (.unitypackage) |
| Build a playable app | File → Build Settings (a platform build, not an export) |
Exporting the whole project (the right way)
A Unity project is fully defined by three folders:
- Assets/ — all your scenes, scripts, art, prefabs and their
.metafiles. - Packages/ —
manifest.jsonandpackages-lock.json, which pin every package version. - ProjectSettings/ — player settings, physics, tags, layers, input, quality settings.
What to exclude, and why
- Library/ — the import cache. Often the largest folder in the project and always regenerated. Never copy it.
- Temp/, Logs/, obj/ — transient.
- Build/ or Builds/ — build output, not source.
- .csproj / .sln — IDE files regenerated on open.
- UserSettings/ — machine-local preferences, and it can contain private data.
Never delete .meta files
Every asset has a matching .meta file containing its GUID. Unity uses GUIDs, not paths, to link references. Copy assets without their .meta files and every prefab, material and scene reference to them breaks — the classic "all my references turned to None" disaster.
This is also why you should always move assets from inside the Unity Editor rather than in Windows Explorer.
Exporting a .unitypackage instead
To share a subset of assets, select them in the Project window and choose Assets → Export Package. Leave Include dependencies ticked so referenced materials and scripts come along.
Note that a .unitypackage carries assets only — it does not include your Project Settings or package manifest. Someone importing it into a fresh project may still be missing packages your assets depend on.
The better long-term answer: version control
For anything ongoing, use Git rather than copying folders. Add a Unity .gitignore that excludes Library/, Temp/, Logs/, Build/ and UserSettings/, and enable Visible Meta Files in Editor settings.
This also unlocks cloud building: services that compile your iOS build read from your Git repository, so a properly ignored project is a prerequisite for automated deployment.
From project to TestFlight
Once your project is in Git, MacFree can build and ship it to iOS from Windows.
Get MacFree on the Unity Asset Store →Frequently asked questions
How do I export an entire Unity project?
Copy the Assets, Packages and ProjectSettings folders. Those three define the project completely. Exclude Library, Temp, Logs and Build folders because Unity regenerates them automatically when the project is opened.
Should I include the Library folder when moving a Unity project?
No. The Library folder is a local import cache that Unity rebuilds on first open. It is usually the largest folder in the project and copying it provides no benefit.
What is the difference between exporting a package and copying a project?
A .unitypackage contains selected assets only, without project settings or the package manifest. Copying Assets, Packages and ProjectSettings preserves the complete project including configuration.