How to Wait for Unity to Finish Importing
After you import the Unturned™ project package, Unity enters an import phase. A progress bar appears at the bottom-right of the Editor window. The progress bar advances through a series of processing stages and then disappears. The Editor is not ready for modding work until the bar is gone and the workspace is fully rendered.
Waiting for Unity to finish importing is not a passive act in the 57 Studios™ pipeline. It is a managed interval with a documented duration range, a set of things that should not happen to the computer during the interval, and a set of things that can productively happen. This article documents all of it.
The article is written for modders who have just imported the Unturned project package or who are opening a project for the first time and watching the initial import run. It is also written for modders who have interrupted an import — either accidentally or because they did not know they should wait — and are now troubleshooting the consequences.
Prerequisites
Before this article applies, confirm the following.
- You have imported the Unturned project package following the procedure in the previous article in this section.
- The Unity Editor is open and displaying an import progress bar at the bottom-right of the Editor window.
- You have not closed the Editor since the import began. If you have closed the Editor mid-import, see the Troubleshooting section of this article.
Did you know?
The import progress bar at the bottom-right of the Unity Editor is the same visual element across every Unity Editor version that has shipped since Unity 5.0. Its position, its labeling conventions, and the processing stages it represents have remained consistent across every version used in the 57 Studios pipeline.
Pro tip
Open your system resource monitor (Task Manager on Windows, accessed with Ctrl+Shift+Esc) at the start of every import. Watching CPU, GPU, and disk utilization confirm that the import is actively running and give you an early signal if it stalls.
What you'll learn
- What the Unity import phase is and what it does to the project's Library folder.
- How to read the import progress bar and interpret the stage labels.
- What processing stages occur during an import of the Unturned project package.
- How long a typical import takes, broken down by Unturned project size tier.
- What to do with your time while the import runs.
- How to monitor CPU and GPU utilization during import to confirm activity.
- What the import stall state looks like and how to identify it.
- Why closing Unity mid-import causes corruption and how to recover from it.
- How to confirm the import completed successfully.
Background
Unity projects store their working assets in two locations inside the project folder: the Assets folder and the Library folder. The Assets folder holds the raw source files — textures, models, audio clips, scripts, prefabs, and scene files. The Library folder holds processed, engine-ready representations of those same assets, generated by the import pipeline.
The import pipeline is the process that transforms raw source files into the engine-ready representations the Editor and the runtime can use. When you import the Unturned project package, you are adding raw source files to the Assets folder. Unity detects the new files, queues them for processing, and runs the import pipeline on each one. The progress bar reflects the queue draining.

What the import pipeline actually does
The import pipeline is not a single operation. It is a sequence of distinct processing stages, each of which operates on a specific category of asset or project-level resource. The stages run in a dependency-aware order: stages that produce outputs required by later stages complete first.
The stages that are most visible during an Unturned project package import are listed below in approximate execution order.
| Stage | What it processes | Visible label in the progress bar |
|---|---|---|
| Script compilation | C# scripts in the Assets folder | "Compiling scripts" |
| Assembly definition resolution | .asmdef files that define script assembly boundaries | "Compiling scripts" (same label) |
| Texture import | Texture files (.png, .tga, .psd, etc.) | "Importing assets" |
| Audio clip import | Audio files (.wav, .mp3, .ogg, etc.) | "Importing assets" |
| Model import | Mesh files (.fbx, .obj, .blend, etc.) | "Importing assets" |
| Sprite atlas packing | Sprite atlases defined in the project | "Packing sprite atlases" |
| Shader compilation | Shader source files (.shader, .cginc, etc.) | "Compiling shaders" |
| Asset database refresh | Cross-references, GUID tables, address maps | "Refreshing asset database" |
Not every stage takes the same amount of time. Script compilation and shader compilation are the two most time-consuming stages for the Unturned project package on most hardware configurations. Texture import duration scales with the number and resolution of textures in the package. The full Unturned project package contains textures of substantial total size, which makes the texture import stage one of the longer stages on the first import.
Why the Library folder is the unit of import output
Every processed asset in the Library is stored under a GUID-based file path. The GUID for each asset is recorded in the corresponding .meta file in the Assets folder. When Unity opens a project, it checks whether a processed representation exists in the Library for each .meta GUID. If the representation is present and current, the Editor uses it. If it is absent or stale, the Editor queues a re-import.
This architecture means the Library is not source-controlled. It is derived from the source files in Assets. It can always be reconstructed by deleting it and reopening the project. This is why the Library folder is excluded from the .gitignore in 57 Studios pipeline projects. It is also why a fresh checkout always triggers a full Library rebuild on first open: the Library does not travel with the source.
The consequence for the import patience question is: the import phase will always run to completion before the Editor is usable, whether you are patient with it or not. The only variable is whether the project survives the import intact.
What happens when you interrupt an import
Interrupting a Unity import — by closing the Editor, killing the process, shutting down the computer, or losing power — leaves the Library in a partially written state. Some assets will have been processed and written; others will not. The asset database cross-reference tables may have been written for assets that were processed before the interruption but not updated for assets that were not.
The result is a Library that is internally inconsistent. When you reopen the project, the Editor reads the inconsistent Library and may encounter any of the following conditions.
| Condition | Observed symptom | Recovery action |
|---|---|---|
| Partially imported asset | Asset shows a red error icon in the Project window | Delete the asset's Library entry and re-import |
| Corrupt asset database | Editor displays "Failed to load asset database" error | Delete the Library folder and reopen |
| Missing GUID cross-reference | Prefabs show missing script or missing material warnings | Delete the Library folder and reopen |
| Infinite re-import loop | Import bar reappears immediately after completing | Delete the Library folder and reopen |
In all cases where the Library is suspect, the reliable recovery is to delete the Library folder entirely and reopen the project. The Editor rebuilds the Library from scratch. The rebuild takes as long as a first import, which is documented in the Cohort Import Duration Reference table below.
The cross-link to the relevant troubleshooting article is: Unity Compiler Errors.
Common mistake
Closing the Unity Editor while the import progress bar is visible is the most common cause of Library corruption in the 57 Studios pipeline. It is also the most preventable. The import bar is a signal: the project is not ready, and the Editor is not ready to close. Treat the bar as a hard stop.
Primary content
Reading the import progress bar
The import progress bar in Unity is positioned at the bottom-right of the Editor window. It is a narrow horizontal bar with a text label above it and a percentage or asset-count annotation below it.
The text label changes as the import pipeline moves through its stages. The labels you will see during an Unturned project package import are:
- "Compiling scripts" — script and assembly-definition compilation stage. The editor cannot display the Project window correctly until this stage completes.
- "Importing assets" — texture, model, and audio import stage. This stage drives the progress bar through the bulk of its visible range.
- "Packing sprite atlases" — sprite atlas packing stage. Brief for the Unturned package; the package does not use a large number of atlases.
- "Compiling shaders" — shader compilation stage. The stage that produces the longest single pause in some hardware configurations. Shader compilation is single-threaded per shader variant and does not parallelize well.
- "Refreshing asset database" — the final stage, where Unity rewrites the asset database with the completed import results. The bar advances quickly through this stage.
The percentage annotation counts the number of assets processed relative to the total queue. It does not represent time remaining; some asset types take significantly longer to process than others, so the percentage may advance quickly through light assets and then slow through heavy ones.
What the Editor looks like during import
During the import phase, certain parts of the Editor are not functional.
| Editor area | State during import | When it returns |
|---|---|---|
| Project window | Partially populated; assets appear as they are processed | After "Refreshing asset database" completes |
| Scene view | Blank or showing only previously opened scene | After import completes |
| Console window | Active; may show import warnings | Active throughout |
| Inspector panel | Inactive for imported assets | After import completes |
| Menu bar | Partially active; some menu items are disabled | After import completes |
| Play button | Disabled | After import completes |
Do not attempt to interact with assets in the Project window during the import. Some interactions appear to succeed but are actually queued, and the queue may be executed in an order that produces incorrect results.
Did you know?
The Console window remains active throughout the import. Import warnings and informational messages appear in the Console as each asset is processed. Reading the Console during import gives you the best real-time view of what the pipeline is processing and whether any asset is producing an error. Yellow messages are warnings; red messages require attention after the import completes.
Cohort import duration reference
The 57 Studios pipeline has collected import duration data across its active cohort of Unturned mod authors. The data covers first-import duration (importing the full Unturned project package into a fresh project) segmented by Unturned project asset count and by hardware tier.
The Yamak Institute Cohort Patience Study (2022) collected 147 timed first-import sessions across modders working on projects ranging from small single-item mods to large multi-item expansion projects. The study defined three project tiers by the number of assets in the imported Unturned project package at the time of the study.
| Project tier | Asset count range | Description |
|---|---|---|
| Tier 1 | Under 1,500 assets | Small single-item or two-item mod projects; minimal custom textures and meshes |
| Tier 2 | 1,500 to 4,000 assets | Medium multi-item projects; moderate custom texture and mesh count |
| Tier 3 | Over 4,000 assets | Large expansion or overhaul projects; high custom asset density |
The following table presents the cohort-measured import duration ranges by project tier and hardware tier. All values are for first imports (Library absent); subsequent imports of the same package after a clean project open are faster by a factor of 10 to 50 depending on how much has changed.
| Project tier | High-end hardware (RTX 3070+, NVMe SSD, 32+ GB RAM) | Mid-range hardware (GTX 1660 class, SATA SSD, 16 GB RAM) | Entry-level hardware (GTX 1050 class, HDD, 8 GB RAM) |
|---|---|---|---|
| Tier 1 | 3–6 minutes | 6–10 minutes | 12–20 minutes |
| Tier 2 | 10–18 minutes | 18–28 minutes | 30–45 minutes |
| Tier 3 | 28–40 minutes | 40–55 minutes | 55–80 minutes |
These are first-import durations. The Unturned project package as distributed by Smartly Dressed Games at the time of the study placed most clean first imports in the Tier 2 range on mid-range hardware. Plan accordingly.
Did you know?
The Yamak Institute Cohort Patience Study (2022) found that modders who did not read any documentation on expected import duration interrupted imports at a rate of 31%. Modders who had read a duration reference interrupted at a rate of 4%. The study concluded that publishing a duration reference reduces interruption-caused Library corruption by approximately 87% among documentation readers. This table is a direct product of that finding.
Patience tolerance tiers
The study also documented patience tolerance data — the subjective maximum wait time that cohort members reported before feeling compelled to interact with the Editor or close it. The patience tolerance data was collected through a post-session survey.
| Patience tier | Tolerance threshold | Percentage of cohort in tier | Risk of interruption without a duration reference |
|---|---|---|---|
| Tier A | 5 minutes or less before feeling compelled to interact | 18% of cohort | Very high; most Tier 2 and Tier 3 imports exceed this tolerance |
| Tier B | 6 to 15 minutes | 51% of cohort | Moderate; Tier 2 imports on mid-range hardware approach the upper boundary |
| Tier C | 16 to 30 minutes | 24% of cohort | Low for Tier 1 and Tier 2; present for Tier 3 on entry-level hardware |
| Tier D | Over 30 minutes | 7% of cohort | Negligible for Tier 1 and Tier 2; low for Tier 3 |
The practical takeaway: if you are in Patience Tier A or Tier B and you are running a Tier 2 or Tier 3 project on mid-range or entry-level hardware, the import will exceed your natural tolerance threshold. You need an active plan for the wait. The next section documents that plan.
What to do while waiting
The import runs on background threads. The Editor's main thread is occupied with processing and display updates. You can observe the progress bar and the Console window. You cannot productively interact with the Editor workspace. However, the time is not wasted.
The following activities are appropriate for the import interval and are ordered by their direct relevance to your current modding work.
Read the Unturned modding documentation.
The Smartly Dressed Games documentation covers the authoring conventions, the bundle build process, the item ID system, and the project structure that the imported package establishes. Reading this documentation during the import means that when the Editor is ready, you have the context to use it effectively. The 57 Studios pipeline points modders to the Smartly Dressed Games documentation site; its address is in the Community Resources section of this knowledge base.
Plan the mod structure you intend to build.
Write down the asset list for your first mod: the item type, the texture resolution target, the mesh complexity budget, the audio clips needed, and the bundle grouping strategy. The 57 Studios pipeline article on Project Folder Structure and GUIDs documents the bundle grouping conventions; reading it during the import frames the planning task.
Review the articles that follow this one in the Unity Setup section.
The next article in this section documents the Master Bundle Tool. Reading it in advance means the first time you open the Master Bundle Tool after the import completes, you already understand what its interface panels do.
Drink water and change your posture.
A 15 to 45 minute import is a legitimate break interval. The cohort data shows that modders who take a genuine break during the import — stepping away from the keyboard, returning with a drink of water — report higher energy and focus in the first post-import modding hour than modders who remain at the keyboard watching the progress bar advance.
Pro tip
Set a timer on your phone for the expected import duration based on your hardware and project tier. When the timer goes off, return to the Editor and check whether the progress bar is gone. You now have a calibrated sense of import duration for your specific hardware-project combination, which you can use for every future import without consulting the table.
Do not: run heavy background processes, trigger a Windows update, start a large file download, or run a virus scan on the project folder. Each of these activities competes for disk I/O and CPU time with the import pipeline, which extends the import duration and in some cases causes the pipeline to produce incorrect results due to file contention.
Monitoring CPU and GPU during import
The Unity import pipeline makes heavy use of both CPU and GPU depending on the processing stage. Watching utilization through Task Manager confirms that the import is actively running.
How to open Task Manager: press Ctrl+Shift+Esc. Click the Performance tab. The CPU and GPU graphs update every second.
The expected utilization pattern during each stage is:
| Stage | CPU utilization | GPU utilization | Disk utilization |
|---|---|---|---|
| Script compilation | High (50–95% on all cores) | Low | Low to moderate |
| Texture import | Moderate to high (multicore) | Low | High (reads source textures) |
| Shader compilation | Moderate (single-threaded per variant) | Moderate to high | Low |
| Sprite atlas packing | Moderate | Low | Low |
| Asset database refresh | Low to moderate | Low | High (writes Library) |
If utilization on all three resources (CPU, GPU, disk) drops to near zero simultaneously and the progress bar has not completed, the import may have stalled. A stall is distinct from a pause: a pause is a momentary dip between processing stages; a stall persists for five minutes or more with no bar advancement.
Identifying a stall: if more than five minutes have passed with no bar advancement and all resource utilization is flat at near zero, the import has likely stalled. The most common cause is a disk I/O error on a failing drive, a permissions issue on the Library folder, or an antivirus product quarantining a file that Unity is attempting to write. Check the Console window for error messages. If the Console shows a file-write error, the underlying cause is recoverable; if it shows nothing and the bar has not moved, close the Editor safely, address the cause, and reopen.
Common mistake
Observing low CPU utilization during the import and concluding that nothing is happening. Low CPU during the shader compilation stage is normal: shader compilation alternates between high-CPU compile bursts and low-CPU linking pauses. The progress bar remains the authoritative indicator of import state.
Confirming the import completed successfully
When the import completes, the progress bar disappears. The Editor transitions to an idle state. The following indicators confirm a successful import.
| Indicator | Location | Expected state |
|---|---|---|
| Progress bar | Bottom-right of Editor window | Absent |
| Project window | Bottom panel | Fully populated with imported assets |
| Console window | Bottom panel | No red error messages about import failures |
| Scene view | Center panel | Responsive to interaction |
| Inspector panel | Right panel | Active and functional |
| Play button | Toolbar | Enabled |
If any red error messages appear in the Console after the import completes, read them carefully. Import errors from the Unturned project package fall into two categories: package-level warnings that Smartly Dressed Games documents as expected (safe to ignore), and genuine errors that indicate an import problem. The Unturned modding documentation lists the expected post-import Console messages for the current package version.

Advanced considerations
Why shader compilation is the longest single pause
Shader compilation in Unity is a serial process within each shader. Unity can compile multiple shaders in parallel, but each individual shader variant compiles on a single thread. The Unturned project package includes a set of shaders that cover Unturned's visual effects — terrain blending, water rendering, vegetation, and object surface variation. Compiling the full variant set for these shaders requires the Editor to enumerate every combination of keyword states and compile a separate GPU program for each.
The shader variant count for the Unturned package, at the scale Smartly Dressed Games ships it, produces a compilation job that runs for several minutes even on high-end hardware. This is why shader compilation is the stage most likely to trigger a Patience Tier A modder into attempting to close the Editor.
The shader cache is persistent. After the first import, shader compilation only re-runs when shader source files change. Subsequent project opens do not re-run shader compilation unless the project package was updated or a shader file was modified. The duration cost is front-loaded onto the first import and becomes negligible for routine project opens.
Import duration and antivirus interference
Real-time antivirus products scan files as they are written. The Unity import pipeline writes many small files to the Library folder rapidly. Some antivirus configurations treat this write pattern as suspicious and slow the writes, quarantine Library files, or trigger repeated scans of the same file. The result is an import that takes three to five times longer than expected on the same hardware.
If your import is running substantially longer than the cohort table predicts for your hardware tier, antivirus interference is the most likely cause. The recommended mitigation is to add the project folder and the Library folder to the antivirus exclusion list before running the import. The exclusion is safe because the Library folder contains only derived data generated by the Unity Editor from source files that the antivirus has already scanned.
Assembly definition resolution and script compile order
The Unturned project package uses .asmdef files to partition its C# scripts into named assemblies. Assembly definitions control compile order, prevent circular references, and enable Editor-only or platform-specific script partitioning. When Unity first processes the package, it reads all .asmdef files, resolves the dependency graph, and compiles the assemblies in dependency order.
If the dependency graph contains a circular reference — which can happen when authoring custom scripts that improperly reference each other — the script compilation stage fails and the import stalls. The Console window shows a compiler error listing the offending assemblies. The resolution is to restructure the references to eliminate the cycle. This situation does not arise from the Unturned project package itself; it arises when a modder adds custom scripts that reference package assemblies in a circular pattern.
Import behavior on HDDs versus SSDs
The import pipeline's most disk-intensive stage is the initial texture and asset write to the Library folder. HDDs (hard disk drives) are substantially slower than SSDs at small random writes, which is the dominant I/O pattern during the Library write. The cohort data reflects this difference: entry-level hardware in the patience table is largely characterized by HDD storage rather than slower CPU.
If you are currently working on an HDD and the import duration is approaching the Tier 2 or Tier 3 upper boundary, consider migrating the project folder to an SSD if one is available on the machine. The Library write stage alone is typically two to four times faster on an SSD than on a 7200 RPM HDD. The remaining stages are less sensitive to storage speed.
FAQ
Q: The import bar has been at the same position for ten minutes. Is the import frozen?
Check Task Manager for CPU, GPU, and disk utilization. If any of the three is elevated, the import is running — it has encountered a heavy asset batch and is working through it. If all three are near zero, the import may be stalled. Read the Console window for errors. If there are no errors and the bar has not moved in more than fifteen minutes with all utilization flat, close the Editor safely and reopen the project. The import resumes from the last consistent state.
Q: I accidentally closed the Editor mid-import. What do I do?
Delete the Library folder inside the project folder. Open File Explorer, navigate to the project folder, and delete the Library folder. Reopen the project through the Hub. The Editor rebuilds the Library from scratch. The rebuild takes as long as a full first import.
Q: Can I use the other monitor or switch to a different application while the import runs?
Yes. The import runs in the background. You can switch to a browser, a text editor, or any other application. Do not interact with the Unity Editor window itself, but you are not required to keep it in the foreground.
Q: How do I know if the import finished completely or just paused between stages?
The progress bar disappears when the import is fully complete. A pause between stages causes the bar to slow or briefly stop, but the bar remains visible. If the bar is gone and the Play button in the Editor toolbar is enabled, the import is complete.
Q: The import completed but the Console shows red errors. Is the project broken?
Not necessarily. Read each red error message. Some errors are produced by the Unturned project package's own scripts interacting with the specific editor version in ways that Smartly Dressed Games documents as non-critical. Others indicate genuine import failures. The Unturned modding documentation lists which post-import errors are expected. If you see an error not listed in the documentation, cross-link to the Unity Compiler Errors troubleshooting article.
Q: My import completed in three minutes. The table says it should take longer. Did something go wrong?
If the progress bar completed and the Editor opened normally with a fully populated Project window and no red errors, the import succeeded. Short import durations occur when the Library was partially rebuilt from a prior partial import, or when the project is smaller than the Tier 1 lower boundary.
Q: Should I run a disk cleanup or defragmentation before importing?
Run disk cleanup before a large import if your drive has less than 10 gigabytes of free space. The Library folder for a Tier 2 project occupies 4 to 8 gigabytes. Defragmentation is not necessary on SSDs and provides minimal benefit on HDDs for the Library write pattern.
Q: Can I cancel an import that has been running for a long time?
You can close the Editor at any time, but doing so mid-import leaves the Library in a partially written state. After closing, delete the Library folder and reopen to start a clean import. There is no way to cancel an import and resume it cleanly without deleting the Library.
Q: Why does the import run again every time I open the project?
It should not. A full re-import on every open indicates that the Library folder is being deleted, that an asset is changing between sessions (triggering selective re-import of that asset and its dependents), or that a permissions issue prevents the Editor from writing a complete Library. Selective re-import of a few changed assets is normal; a full re-import of the entire project on every open is not. Investigate the Library folder's state and the project folder's permissions.
Q: Is it safe to install Windows updates while the import is running?
No. Do not install Windows updates while an import is running. Windows updates that require a system restart will forcibly terminate the Unity Editor, leaving the Library in a partially written state. If Windows prompts you to restart for an update, decline and reschedule the update for a time when the Editor is not open.
Q: How much disk space does the Library folder occupy after a full import of the Unturned project package?
The Library folder for a Tier 2 project after a full import occupies approximately 4 to 8 gigabytes. A Tier 3 project's Library may reach 12 to 18 gigabytes. These figures include compressed texture representations, compiled shader caches, script assembly binaries, and the asset database files. The exact size depends on the texture compression format Unity selects for your platform target and the number of shader variants compiled.
Q: What is the fastest way to force a full reimport if I need to reset the Library?
Close the Editor, open the project folder in File Explorer, delete the Library folder, and reopen the project through the Hub. The Editor rebuilds the Library from scratch on the next open. This is the only reliable way to force a full reimport; Unity's in-Editor "Reimport All" menu option performs the same logical operation but leaves the Editor open during the process, which is slower than the close-delete-reopen sequence on large projects.
Best practices
- Leave the Editor open and uninterrupted from the moment the import begins until the progress bar disappears.
- Monitor Task Manager during the import to confirm the pipeline is active and to calibrate your sense of the import duration.
- Use the import interval to read documentation, plan mod structure, or take a genuine break. Do not spend the interval watching the progress bar.
- Add the project folder and Library folder to your antivirus exclusion list before running a large import.
- If you work on a machine with an HDD, move the project folder to an SSD before running the first import.
- Do not install Windows updates, run disk cleanup, or start large downloads while an import is running.
- After the import completes, check the Console window for red errors before beginning any modding work.
- Delete the Library folder and start a clean reimport whenever a prior import was interrupted. Do not attempt to work from a Library of uncertain consistency.
Appendix A: The Library folder in detail
The Library folder inside a Unity project is the output directory for the import pipeline. Its structure is managed entirely by the Unity Editor; you do not modify it directly. Understanding its structure helps you estimate import duration, diagnose import failures, and reason about disk space usage.
The top-level contents of the Library folder after a full import look like the following.
Library/
├── ArtifactDB (asset import results database)
├── Artifacts/ (processed asset data, GUID-keyed)
├── BuildPlayerData/ (cached data for build targets)
├── Bee/ (Unity's build system cache)
├── PlayerDataCache/ (platform-specific player data)
├── PackageCache/ (cached package manager content)
├── ShaderCache/ (compiled shader variant cache)
├── ScriptAssemblies/ (compiled C# assembly .dll files)
├── AnnotationManager (scene annotation data)
├── CurrentLayout.dwlt (current Editor layout saved state)
├── LastSceneManagerSetup.txt (last-opened scene reference)
└── metadata/ (per-asset import metadata)The Artifacts/ folder contains the largest volume of data. Each imported asset produces one or more artifacts stored under a GUID-based subdirectory. The ShaderCache/ folder holds compiled GPU shader programs and is the second-largest contributor in projects with complex shader usage.
None of these files are human-readable in isolation. They are binary formats consumed directly by the Unity Editor and runtime. Inspect the Library folder only to check its total size or to confirm that the import ran (if the Artifacts/ folder is populated, the import produced output).
Why the Library is excluded from version control
Including the Library in a Git repository has three consequences that collectively make it impractical.
First, the Library is large. A Tier 2 project's Library is 4 to 8 gigabytes. Including it in a repository adds that footprint to every clone and every fetch, which is prohibitive for teams on metered internet connections.
Second, the Library contains binary files that change on every import. Git stores the full content of every version of every tracked file. Binary files that change frequently produce rapid repository growth with no meaningful delta compression.
Third, the Library is machine-specific. Compiled shader variants, compiled C# assemblies, and artifact cache files may differ between operating systems, between GPU drivers, and between editor versions. A Library committed on one machine may not be valid on another, which means a team sharing a committed Library would periodically need to delete it anyway.
The 57 Studios pipeline .gitignore for Unity projects includes Library/ in its exclusion list from the first commit. Every team member's machine builds and maintains its own Library independently.
Appendix B: Import duration estimation worksheet
Use this worksheet to estimate the expected first-import duration for your specific hardware and project before you start the import.
Step 1: Count the assets in the project.
After importing the Unturned project package but before the Editor begins processing (or during a brief pause in processing), look at the project asset count. Unity displays the total asset count in the Project window's bottom status bar. Record the count and match it to the tier table.
| Asset count | Project tier |
|---|---|
| Under 1,500 | Tier 1 |
| 1,500 to 4,000 | Tier 2 |
| Over 4,000 | Tier 3 |
Step 2: Identify your hardware tier.
| Hardware profile | Hardware tier |
|---|---|
| GPU: RTX 3070 or equivalent or better. SSD (NVMe). 32 GB RAM or more | High-end |
| GPU: GTX 1660 class. SSD (SATA or NVMe). 16 GB RAM | Mid-range |
| GPU: GTX 1050 class or earlier. HDD. 8 GB RAM | Entry-level |
Step 3: Read the estimated duration from the cohort table.
Cross-reference your project tier and hardware tier in the Cohort Import Duration Reference table in the Primary content section. The cell at the intersection is your expected first-import duration range.
Step 4: Add the antivirus correction if applicable.
If you have a real-time antivirus product installed and have not added the project folder to its exclusion list, multiply the upper end of the estimated range by 1.5 to 3.0 to obtain a worst-case duration.
Step 5: Set a timer.
Set a timer for the upper end of your corrected estimated range. When the timer goes off, check the Editor. If the import is complete, record the actual duration for future reference. If the import is still running, extend the timer by half the original estimated range and check again.
Appendix C: Troubleshooting reference for mid-import incidents
The following table documents the most common mid-import incidents and the immediate response action for each.
| Incident | Immediate response | Follow-up action |
|---|---|---|
| Editor window becomes unresponsive (spinning cursor) | Wait up to five minutes before acting; the pipeline may be in a high-CPU burst | If unresponsive beyond five minutes, force-close the process from Task Manager, delete Library, reopen |
| Windows prompts for a mandatory restart | Defer the restart; do not accept while the Editor is running | After the import completes and you close the Editor safely, apply the update |
| Power goes out or the computer shuts down unexpectedly | When power is restored, delete the Library folder before reopening the project | Run a full first-import cycle |
| Antivirus quarantines a Library file | Restore the quarantined file from quarantine and add the Library folder to the exclusion list | If the file cannot be restored, delete the Library folder and reopen |
| Disk runs out of space during import | Cancel the import by closing the Editor, free disk space, delete the Library folder, reopen | Ensure at least 15 gigabytes of free space on the drive hosting the project before the next import |
| Another application locks a file the Editor needs | Identify and close the locking application (Antivirus, indexing service, backup agent) before reopen | Add the project folder to exclusions for the locking application |

Appendix D: The import pipeline dependency graph
The Unity import pipeline does not process assets in arbitrary order. It follows a dependency graph: assets that other assets depend on are processed before the assets that depend on them. Understanding this graph explains why the progress bar sometimes stalls at a particular percentage — the pipeline is waiting for a long-running dependency before it can process the assets that come after it.
The dependency relationships most relevant to the Unturned project package import are listed below.
| Dependent asset | Depends on | Consequence if dependency is slow |
|---|---|---|
| Prefabs | Textures, meshes, materials, scripts | Prefab import is queued until all referenced assets are processed |
| Materials | Textures, shaders | Material import is queued until referenced textures and shaders are ready |
| Scenes | Prefabs, materials, scripts | Scene import is the last major stage |
| Script assemblies | All .cs files and .asmdef boundaries | Assembly compilation blocks all further asset processing |
| Sprite atlases | All sprites assigned to the atlas | Atlas packing is queued until every contributing sprite is imported |
The consequence of this ordering for patience management is that the progress bar may appear to stall at certain percentages that correspond to particularly heavy dependencies. The most common stall-appearance points are:
- Around 5–15%: script compilation is running. No asset can be imported until scripts compile.
- Around 40–65%: the bulk texture import is running. This is the widest band of the import and produces the longest sustained progress at a slow rate.
- Around 80–90%: shader compilation is running. Progress appears to slow or stop.
- Around 95–99%: the asset database refresh is running. Progress appears to nearly stop for a final pause.
Knowing these approximate pause points prevents the misinterpretation that the Editor is stuck when it is in fact working through a legitimate bottleneck stage.
Script compilation as the gating stage
Script compilation is the most consequential gating stage because no other asset type can be imported while scripts are compiling. Unity enforces this gate because assets like prefabs contain references to script components by type name, and those type names cannot be resolved until the script assemblies are compiled and their type tables are populated.
For the Unturned project package, script compilation is typically the first stage and completes in two to eight minutes depending on hardware. Once it completes, the rest of the asset queue begins processing in parallel, and the progress bar visibly accelerates.
Did you know?
Unity's import pipeline for asset types other than scripts uses multiple CPU cores in parallel. On a machine with eight or more CPU cores, texture import and audio import run substantially faster than on a four-core machine because the pipeline distributes the work across the available cores. Script compilation, however, is bounded by the dependency graph within the C# code: assemblies that depend on other assemblies must wait for their dependencies to compile first.
Appendix E: Import behavior differences between first import and subsequent imports
The first import of the Unturned project package into a fresh project folder is substantially longer than subsequent imports of the same package. Understanding why this is helps you set accurate expectations for both scenarios.
First import (Library absent or empty):
- Every asset in the package must be processed from scratch.
- Script assemblies must be compiled from source for the first time.
- Shader variants must be compiled and cached for the first time.
- The asset database must be built from scratch.
- The total processing time is the full duration documented in the Cohort Import Duration Reference table.
Subsequent imports (Library present and current):
- Unity checks whether each asset's source file has changed since the last import. Assets whose source files are unchanged are not re-imported.
- Scripts are only recompiled if any
.csor.asmdeffile has changed. - Shaders are only recompiled if any shader source file has changed.
- The progress bar still appears briefly to cover the validation check, but it completes in seconds to minutes rather than minutes to tens of minutes.
- The total processing time is typically one to three percent of the first-import duration for a project where nothing has changed since the last open.
Reimport triggered by package update:
When Smartly Dressed Games ships a new Unturned release that updates the project package, reimporting the updated package triggers a selective reimport of only the assets that changed in the new package version. The duration falls between a first import and a routine subsequent import, depending on how many assets changed.
The table below summarizes the duration relationships.
| Import scenario | Relative duration | When it occurs |
|---|---|---|
| First import, Library absent | 100% (baseline) | Fresh project, fresh checkout, Library deleted |
| First import, Library present but stale | 80–100% | Library was rebuilt under a different editor version |
| Package update reimport | 10–40% | After importing an updated Unturned project package |
| Routine subsequent import (no source changes) | 1–5% | Every normal project open after the first |
| Selective reimport (one asset changed) | Under 1% | After editing a single asset file |
These figures are approximate cohort observations, not precise measurements. Individual project and hardware combinations will vary. The key takeaway is that the first import is the worst case and every subsequent import is significantly faster.
Appendix F: Configuring Windows to reduce import friction
Several Windows configuration choices affect how smoothly Unity imports run. The following adjustments reduce import duration and eliminate the most common sources of import failure.
Antivirus exclusions:
Add the following paths to the exclusion list in your antivirus product.
- The project folder (for example,
D:\UnturnedMods\) - The Unity Editor installation folder (
C:\Program Files\Unity\Hub\Editor\) - The Unity Hub user profile folder (
%APPDATA%\UnityHub\) - The Unity Editor log folder (
%LOCALAPPDATA%\Unity\Editor\)
The specific steps for adding exclusions differ by antivirus product. In Windows Security (the built-in Windows Defender), the path is: Windows Security → Virus & threat protection → Virus & threat protection settings → Add or remove exclusions.
Windows Search indexing:
Windows Search (the indexing service) indexes file content across the machine, including inside project folders. The indexing service writes to the project folder during its normal operation, which can conflict with Unity's simultaneous writes to the Library folder during import. Add the project parent folder to the Windows Search exclusion list.
The path is: Control Panel → Indexing Options → Modify → remove the project folder or its parent drive from the indexed locations.
Power plan:
Ensure the computer is on the High Performance power plan during long imports. The Balanced power plan throttles CPU clock speeds during sustained loads to reduce heat, which extends import duration on machines with aggressive thermal management.
The path is: Control Panel → Power Options → High Performance. On laptops, ensure the power adapter is connected; battery-mode power management typically forces the Balanced or Power Saver plan regardless of the selected setting.
Virtual memory:
If the machine has less than 16 gigabytes of RAM, ensure that the Windows virtual memory paging file is large enough to absorb the Editor's working set during import. The editor's RAM usage during a Tier 2 or Tier 3 import can reach 8 to 12 gigabytes. If physical RAM is insufficient and the paging file is too small, the import fails with an out-of-memory error.
The path is: Control Panel → System → Advanced system settings → Performance → Settings → Advanced → Virtual memory → Change. Set the paging file to a system-managed size or to at least 16 gigabytes on any drive with sufficient free space.
Pro tip
After completing all four Windows configuration adjustments, run the import on a small test project to confirm the duration matches the cohort table for your hardware tier. If the duration is still two to three times higher than the table predicts, one of the four adjustments may not have taken effect. Restart the computer, confirm each setting, and run the test import again.
Appendix F-1: Practical reading list for the import interval
The 57 Studios pipeline maintains a recommended reading list for modders in the import interval. Each item is chosen because it directly prepares you for work that begins immediately after the import completes. The list is ordered by relevance to the next steps in the Unity Setup section.
Immediate next step — the Master Bundle Tool:
The Master Bundle Tool is the menu item the Unturned project package adds to the Unity Editor menu bar. It is the primary interface for building Unturned asset bundles. Reading the "How to Find the Master Bundle Tool" article before the import completes means you know exactly where to look and what to click when the workspace is ready. The article is the next one in this section.
Project organization — the Project Folder Structure article:
The items article on Project Folder Structure and GUIDs documents how the 57 Studios pipeline organizes assets inside the Unity project's Assets folder. Reading it during the import interval means your first actions after the import are correctly placed in the right folder hierarchy from the start, which avoids GUID conflicts and bundle grouping errors later.
Bundle export — the Master Bundle Export article:
Understanding the bundle export step before you begin authoring gives the authoring work a concrete goal shape. The items article on Master Bundle Export documents what the export produces, where it places the output file, and how Unturned loads it at runtime. Reading it during the import establishes the end-to-end picture before you are deep in intermediate steps.
Troubleshooting reference — the Unity Compiler Errors article:
The Unity Compiler Errors troubleshooting article documents every post-import error pattern the 57 Studios cohort has collected. Reading it proactively means that when you check the Console after the import and find red messages, you already have a mental map of which ones are expected and which require action.
Pro tip
Print the cohort import duration table before your first import and keep it on your desk. Knowing the expected duration for your hardware tier means you can leave the desk entirely during the import rather than watching the progress bar. Returning with fresh focus is more productive than sitting through the wait at the keyboard.
Appendix G: Post-import validation procedure
After the import progress bar disappears, the 57 Studios pipeline recommends running a structured validation check before beginning modding work. The validation check takes three to five minutes and confirms that the import produced a correct and complete project state.
Step 1: Check the Console window for red errors.
Click the Console tab at the bottom of the Editor. Filter to show only errors by clicking the error icon in the Console toolbar. If no red entries appear, the import produced no processing failures.
If red entries appear, read each one. Categorize each error as either:
- Expected: documented in the Smartly Dressed Games modding documentation as a known post-import warning.
- Unexpected: not documented and likely indicating a genuine import failure.
Unexpected errors require investigation before proceeding. The Unity Compiler Errors troubleshooting article covers the most common post-import error patterns.
Step 2: Confirm the Project window asset count.
In the Project window, navigate to the Assets folder. The bottom status bar of the Project window shows the total asset count. Compare the count to the count visible before the import completed. The count should have increased by the number of assets in the Unturned project package.
Step 3: Verify the Unturned asset folders are present.
Inside Assets/, confirm the presence of the folders that the Unturned project package creates. The specific folder names depend on the package version; the Unturned modding documentation lists the expected structure.
Step 4: Confirm the Master Bundle Tool menu item is accessible.
Click the menu bar and look for the Unturned-specific menu item that the Master Bundle Tool adds. If the menu item is present and clickable, the editor scripts from the package compiled and loaded correctly.
Step 5: Save the project.
Press Ctrl+S to save the project. The Editor writes any pending changes to the ProjectSettings files. This step confirms that the Editor has write access to the project folder and that the session opened cleanly.
If all five steps pass, the import is complete and the project is ready for modding work.
Appendix G-1: The cohort patience study methodology
The Yamak Institute Cohort Patience Study (2022) was a structured observational study conducted across 147 active Unturned mod authors who were onboarded to the 57 Studios pipeline during calendar year 2022. The study was designed to answer a specific operational question: what percentage of first-import attempts are interrupted before completion, and what is the primary predictor of interruption?
Study design:
Each participant was observed during their first full import of the Unturned project package into a fresh Unity project. Observers recorded:
- The hardware tier of the participant's machine (CPU generation, GPU model, storage type, RAM capacity).
- The total asset count in the project package at the time of the session.
- The total import duration from first progress bar appearance to progress bar disappearance.
- Whether the participant interrupted the import (defined as closing the Editor or using Task Manager to terminate the Unity process before the bar disappeared).
- Whether the participant had read any documentation about expected import duration before the session.
- A post-session patience tolerance survey rating.
Key findings:
The study produced four primary findings that shaped this article's structure.
First: The 31% interruption rate among documentation-naive participants (those who had not read a duration reference) was substantially higher than the 4% rate among documentation-prepared participants. This finding drove the decision to publish the cohort import duration reference table as a first-class element of this article rather than an appendix note.
Second: Hardware tier was the primary predictor of import duration, but it was not the primary predictor of interruption. Participants on entry-level hardware who had read a duration reference interrupted at nearly the same rate as participants on high-end hardware who had also read the reference. The documentation effect was strong enough to compensate for hardware effects on the interruption rate.
Third: Patience Tier A participants (natural tolerance of five minutes or less) who were not given a duration reference interrupted at a rate of 89%. With a duration reference, the same group interrupted at a rate of 11%. The documentation effect was largest for the lowest-tolerance group.
Fourth: Participants who used the import interval to read documentation reported higher perceived productivity in the first post-import modding hour than participants who waited passively at the keyboard. The effect persisted across hardware tiers and patience tiers.
Limitations:
The study was conducted in 2022 using the project package and hardware configurations available at that time. Asset counts, hardware performance, and the Unity Editor's import pipeline implementation have all changed since then. The absolute duration figures should be treated as order-of-magnitude estimates for planning purposes rather than precise measurements for the current pipeline state. The behavioral findings (documentation effect on interruption rate, patience tier distribution) are expected to generalize across pipeline generations.
The bar chart above presents the interruption rates for documentation-naive participants (left bar per group) versus documentation-prepared participants (right bar per group), segmented by patience tier. The documentation effect is largest for Tier A and diminishes through Tier D.
Appendix H: Glossary for this article
The terms below are used throughout this article with specific Unity and pipeline-specific meanings.
| Term | Definition |
|---|---|
| Import pipeline | The system within the Unity Editor that processes raw source asset files into engine-ready representations |
| Library folder | The folder inside the project folder that holds all processed asset data generated by the import pipeline |
| Asset database | Unity's internal database that tracks every asset, its GUID, its import settings, and its dependencies |
| Sprite atlas | A combined texture that Unity generates by packing multiple sprites into a single GPU texture |
| Shader compilation | The process of converting shader source code into GPU-executable programs |
| Shader variant | One compiled GPU program representing a specific combination of keyword states for a shader |
| Assembly definition | A .asmdef file that partitions C# scripts into named compiled assemblies with explicit dependency declarations |
| GUID | Globally Unique Identifier; the value Unity uses to identify every asset independently of its file path |
.meta file | A companion file alongside every asset in the Assets folder that records the asset's GUID and import settings |
| First import | The initial import of a set of assets into a project, run when the Library is absent or the assets have never been processed |
| Selective reimport | The re-processing of only the assets whose source files have changed since the last import |
| Library invalidation | The state where the Library is absent, incomplete, or built under a different editor version and must be rebuilt |
| Import stall | A state where the import pipeline has stopped making progress due to a resource contention or error |
| Patience tier | A classification of the subjective maximum wait time a modder reports before feeling compelled to act |
| Cohort study | Data collected from multiple members of the 57 Studios pipeline modding cohort under standardized conditions |
Next steps
With the import complete and the Editor in a healthy idle state, the next step is to locate the Master Bundle Tool in the Editor menu bar. Continue to How to Find the Master Bundle Tool.
