Skip to content

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.

Unity Editor during active import, showing the progress bar at the bottom-right with a stage label reading "Compiling scripts" and approximately 30% completion

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.

StageWhat it processesVisible label in the progress bar
Script compilationC# scripts in the Assets folder"Compiling scripts"
Assembly definition resolution.asmdef files that define script assembly boundaries"Compiling scripts" (same label)
Texture importTexture files (.png, .tga, .psd, etc.)"Importing assets"
Audio clip importAudio files (.wav, .mp3, .ogg, etc.)"Importing assets"
Model importMesh files (.fbx, .obj, .blend, etc.)"Importing assets"
Sprite atlas packingSprite atlases defined in the project"Packing sprite atlases"
Shader compilationShader source files (.shader, .cginc, etc.)"Compiling shaders"
Asset database refreshCross-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.

ConditionObserved symptomRecovery action
Partially imported assetAsset shows a red error icon in the Project windowDelete the asset's Library entry and re-import
Corrupt asset databaseEditor displays "Failed to load asset database" errorDelete the Library folder and reopen
Missing GUID cross-referencePrefabs show missing script or missing material warningsDelete the Library folder and reopen
Infinite re-import loopImport bar reappears immediately after completingDelete 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 areaState during importWhen it returns
Project windowPartially populated; assets appear as they are processedAfter "Refreshing asset database" completes
Scene viewBlank or showing only previously opened sceneAfter import completes
Console windowActive; may show import warningsActive throughout
Inspector panelInactive for imported assetsAfter import completes
Menu barPartially active; some menu items are disabledAfter import completes
Play buttonDisabledAfter 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 tierAsset count rangeDescription
Tier 1Under 1,500 assetsSmall single-item or two-item mod projects; minimal custom textures and meshes
Tier 21,500 to 4,000 assetsMedium multi-item projects; moderate custom texture and mesh count
Tier 3Over 4,000 assetsLarge 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 tierHigh-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 13–6 minutes6–10 minutes12–20 minutes
Tier 210–18 minutes18–28 minutes30–45 minutes
Tier 328–40 minutes40–55 minutes55–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 tierTolerance thresholdPercentage of cohort in tierRisk of interruption without a duration reference
Tier A5 minutes or less before feeling compelled to interact18% of cohortVery high; most Tier 2 and Tier 3 imports exceed this tolerance
Tier B6 to 15 minutes51% of cohortModerate; Tier 2 imports on mid-range hardware approach the upper boundary
Tier C16 to 30 minutes24% of cohortLow for Tier 1 and Tier 2; present for Tier 3 on entry-level hardware
Tier DOver 30 minutes7% of cohortNegligible 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:

StageCPU utilizationGPU utilizationDisk utilization
Script compilationHigh (50–95% on all cores)LowLow to moderate
Texture importModerate to high (multicore)LowHigh (reads source textures)
Shader compilationModerate (single-threaded per variant)Moderate to highLow
Sprite atlas packingModerateLowLow
Asset database refreshLow to moderateLowHigh (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.

IndicatorLocationExpected state
Progress barBottom-right of Editor windowAbsent
Project windowBottom panelFully populated with imported assets
Console windowBottom panelNo red error messages about import failures
Scene viewCenter panelResponsive to interaction
Inspector panelRight panelActive and functional
Play buttonToolbarEnabled

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.

Unity Editor in healthy idle state after import completion, showing a fully populated Project window, the Console window with only informational messages, and an active Scene view

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 countProject tier
Under 1,500Tier 1
1,500 to 4,000Tier 2
Over 4,000Tier 3

Step 2: Identify your hardware tier.

Hardware profileHardware tier
GPU: RTX 3070 or equivalent or better. SSD (NVMe). 32 GB RAM or moreHigh-end
GPU: GTX 1660 class. SSD (SATA or NVMe). 16 GB RAMMid-range
GPU: GTX 1050 class or earlier. HDD. 8 GB RAMEntry-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.

IncidentImmediate responseFollow-up action
Editor window becomes unresponsive (spinning cursor)Wait up to five minutes before acting; the pipeline may be in a high-CPU burstIf unresponsive beyond five minutes, force-close the process from Task Manager, delete Library, reopen
Windows prompts for a mandatory restartDefer the restart; do not accept while the Editor is runningAfter the import completes and you close the Editor safely, apply the update
Power goes out or the computer shuts down unexpectedlyWhen power is restored, delete the Library folder before reopening the projectRun a full first-import cycle
Antivirus quarantines a Library fileRestore the quarantined file from quarantine and add the Library folder to the exclusion listIf the file cannot be restored, delete the Library folder and reopen
Disk runs out of space during importCancel the import by closing the Editor, free disk space, delete the Library folder, reopenEnsure at least 15 gigabytes of free space on the drive hosting the project before the next import
Another application locks a file the Editor needsIdentify and close the locking application (Antivirus, indexing service, backup agent) before reopenAdd the project folder to exclusions for the locking application

Windows Task Manager Performance tab showing CPU at 78% and Disk at 92% during active import, with the Unity Editor visible in the background through the taskbar

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 assetDepends onConsequence if dependency is slow
PrefabsTextures, meshes, materials, scriptsPrefab import is queued until all referenced assets are processed
MaterialsTextures, shadersMaterial import is queued until referenced textures and shaders are ready
ScenesPrefabs, materials, scriptsScene import is the last major stage
Script assembliesAll .cs files and .asmdef boundariesAssembly compilation blocks all further asset processing
Sprite atlasesAll sprites assigned to the atlasAtlas 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 .cs or .asmdef file 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 scenarioRelative durationWhen it occurs
First import, Library absent100% (baseline)Fresh project, fresh checkout, Library deleted
First import, Library present but stale80–100%Library was rebuilt under a different editor version
Package update reimport10–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.

TermDefinition
Import pipelineThe system within the Unity Editor that processes raw source asset files into engine-ready representations
Library folderThe folder inside the project folder that holds all processed asset data generated by the import pipeline
Asset databaseUnity's internal database that tracks every asset, its GUID, its import settings, and its dependencies
Sprite atlasA combined texture that Unity generates by packing multiple sprites into a single GPU texture
Shader compilationThe process of converting shader source code into GPU-executable programs
Shader variantOne compiled GPU program representing a specific combination of keyword states for a shader
Assembly definitionA .asmdef file that partitions C# scripts into named compiled assemblies with explicit dependency declarations
GUIDGlobally Unique Identifier; the value Unity uses to identify every asset independently of its file path
.meta fileA companion file alongside every asset in the Assets folder that records the asset's GUID and import settings
First importThe initial import of a set of assets into a project, run when the Library is absent or the assets have never been processed
Selective reimportThe re-processing of only the assets whose source files have changed since the last import
Library invalidationThe state where the Library is absent, incomplete, or built under a different editor version and must be rebuilt
Import stallA state where the import pipeline has stopped making progress due to a resource contention or error
Patience tierA classification of the subjective maximum wait time a modder reports before feeling compelled to act
Cohort studyData 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.