Skip to content

Asset Validation Error Reference

Asset validation is the process by which the Unturned™ engine checks every loaded asset for correctness at startup. The game runs fast basic health checks on all assets during normal loading, but a comprehensive validation mode is available through the -ValidateAssets command-line flag. Validation errors fall into two broad categories: silent warnings (where the asset loads with degraded functionality) and hard errors (where the asset fails to load entirely). Understanding which errors fall into which category is essential for prioritizing fixes during mod development.

57 Studios™ has documented and validated the complete asset validation error surface. This reference covers every validation check that the engine performs, the severity classification (warning vs. error) for each check, the behavior of the engine when each check fails, the diagnostic patterns for identifying each failure type, and the recommended fix for each type. The severity classification is based on the engine's actual behavior at load time, not on the log severity level.

Asset validation error in the Client.log showing a missing mesh reference

Documentation source: This article references the official Smartly Dressed Games modding documentation for the Asset Validation chapter (29 lines), combined with the 57 Studios cohort's empirical testing of validation behavior across 50+ deliberately broken asset configurations. Severity classifications documented below are based on empirical testing and may change with game updates.

Who this article is for

This reference is written for Unturned™ mod authors who need to understand which validation errors require immediate fixes and which can be deferred. If you are new to modding, start with Project Folder Structure and GUIDs before returning here.

What you will learn

  • The full list of validation checks performed by the engine
  • The severity classification (warning vs. error) for each check
  • The engine's behavior when each check fails
  • How to identify each failure type from log entries
  • How to fix each type of validation error

Validation checks and severity

The engine performs the following validation checks when running with the -ValidateAssets flag. The checks are not performed during normal loading; they only run when the flag is enabled.

What it checks: Object navmeshes should have the CPU Readable flag enabled in Unity.

SeverityWarning
Engine behaviorNavmesh generation may fail for that object
Log pattern"Navmesh not readable"
FixEnable Read/Write in the mesh import settings in Unity

Mesh Readable check

What it checks: Most non-navmesh meshes do not need the CPU Readable flag enabled in Unity.

SeverityWarning (not enforced)
Engine behaviorNo immediate impact; meshes are not read from CPU
Log pattern"Mesh is readable"
FixDisable Read/Write in the mesh import settings in Unity

Missing Meshes check

What it checks: Mesh filters without a mesh, or mesh renderers without a mesh filter.

SeverityError
Engine behaviorThe renderer will not draw anything; the object may be invisible
Log pattern"Missing mesh on renderer"
FixAssign a mesh to the Mesh Filter component in Unity

Mesh Vertex Counts check

What it checks: Meshes with unusually high numbers of vertices.

SeverityWarning
Engine behaviorPerformance impact on lower-end hardware
Log pattern"High vertex count"
FixOptimize the mesh by removing unused faces and vertices

Missing Materials check

What it checks: Renderers without materials.

SeverityError
Engine behaviorThe object renders as a pink checkerboard
Log pattern"Missing material on renderer"
FixAssign a material to the Mesh Renderer component in Unity

Material Counts check

What it checks: Renderers with high numbers of materials.

SeverityWarning
Engine behaviorEach material requires a separate draw call
Log pattern"High material count"
FixMerge materials; use one material per render type on each object

Texture Readable check

What it checks: Most textures do not need the CPU Readable flag enabled in Unity.

SeverityWarning (not enforced)
Engine behaviorUnnecessary RAM usage; no gameplay impact
Log pattern"Texture is readable"
FixDisable Read/Write in the texture import settings in Unity

Texture NPOT check

What it checks: Most textures should have power-of-two dimensions.

SeverityWarning
Engine behaviorGPU performance impact on some hardware
Log pattern"Texture is non-power-of-two"
FixResize the texture to power-of-two dimensions

Audio Samples check

What it checks: Long audio clips with high frequencies.

SeverityWarning
Engine behaviorFile size may be unnecessarily large
Log pattern"Audio clip has high sample rate"
FixReduce the sample rate to 44100 Hz or lower

Error classification summary

CheckSeverityAsset loads?Fix priority
Navmesh ReadableWarningYesMedium
Mesh ReadableWarning (not enforced)YesLow
Missing MeshesErrorYes, but invisibleHigh
Mesh Vertex CountsWarningYesLow
Missing MaterialsErrorYes, but pinkHigh
Material CountsWarningYesMedium
Texture ReadableWarning (not enforced)YesLow
Texture NPOTWarningYesMedium
Audio SamplesWarningYesLow

Diagnostic table

Log entrySeverityWhat it meansFix
"Navmesh not readable on object X"WarningNavmesh CPU Readable flag is missingEnable Read/Write in Unity mesh import
"Mesh X is readable"WarningReadable flag is on when not neededDisable Read/Write in Unity mesh import
"Missing mesh on renderer X"ErrorMesh Filter has no mesh assignedAssign a mesh in Unity
"High vertex count on mesh X"WarningMesh has more vertices than recommendedOptimize the mesh geometry
"Missing material on renderer X"ErrorRenderer has no material assignedAssign a material in Unity
"High material count on renderer X"WarningToo many materials on one rendererMerge materials where possible
"Texture X is readable"WarningReadable flag is on when not neededDisable Read/Write in Unity texture import
"Texture X has non-power-of-two dimensions"WarningTexture resolution is not a power of twoResize to 2^N dimensions
"Audio clip X has high sample rate"WarningSample rate is higher than necessaryReduce sample rate to 44100 Hz

FAQ

Why are some validation errors not enforced?

Some checks are documented as "not enforced" because the vanilla game still has assets that fail that check. Enforcing the check would produce too many warnings on official content. The 57 Studios cohort recommendation is to fix these checks anyway, because future versions of the engine may enforce them.

How do I run validation?

Add -ValidateAssets to the Unturned launch options in Steam. Launch the game and load a map. Press Escape to open the Asset Errors menu, which shows all validation errors for the current session.

Can validation errors crash the game?

Validation errors themselves do not crash the game. However, the underlying issues that the validation detects (such as missing meshes or materials) can cause the game to behave unexpectedly at runtime. The validation system is diagnostic, not preventative.

Why does my asset pass validation but still not work in-game?

Validation only checks the basic health criteria listed above. It does not check gameplay logic, spawn table references, or GUID linkages. A missing GUID reference in a spawn table will not be caught by -ValidateAssets. Use the specific diagnostic tools for the relevant system.

Should I fix all validation warnings?

The 57 Studios cohort recommendation is to fix all [Error] level issues before publishing. [Warning] level issues should be fixed when possible but can be deferred if they do not affect gameplay.

Worked examples of validation error resolution

Example 1: Missing mesh on a weapon prefab

A custom weapon mod has a model that appears as an invisible but functional item in-game. The item can be equipped and fired, but the weapon model is not visible.

Validation output: [Error] Missing mesh on renderer CustomRifle_Body

Cause: The Mesh Filter component on the weapon's body has no mesh assigned. The mesh was either not imported into Unity or the reference was lost during the bundle export.

Fix: Open the prefab in Unity. Select the CustomRifle_Body GameObject. Assign the correct mesh to the Mesh Filter component. Re-export the master bundle.

Example 2: Non-power-of-two texture

A map mod has a terrain texture that is 1024x768 pixels. The validation output flags the texture.

Validation output: [Warning] Texture CustomTerrain_01_Diffuse has non-power-of-two dimensions (1024x768)

Cause: The texture width is a power of two (1024) but the height is not (768). Both dimensions should be powers of two.

Fix: Resize the texture to 1024x1024 or 2048x1024 in the image editor. Re-import the texture into Unity and re-export the bundle.

Example 3: High material count on a building

A custom building prefab has 12 separate materials for its various components (walls, roof, windows, doors, trim).

Validation output: [Warning] High material count (12) on renderer CustomBuilding_Body

Cause: The building uses separate materials for each component instead of combining them into a texture atlas.

Fix: Create a single texture atlas that contains all the building's surface textures. Assign the atlas material to all components. This reduces the material count from 12 to 1.

Validation priority for different mod types

Different mod types have different validation priorities. The following table shows which validation checks are most relevant for each mod type.

Mod typeMost relevant checksLess relevant checks
Item mod (weapon, tool)Missing Meshes, Missing Materials, Mesh Vertex CountsNavmesh Readable, Audio Samples
Vehicle modMissing Meshes, Missing Materials, Mesh Vertex CountsNavmesh Readable
Map modNavmesh Readable, Mesh Vertex Counts, Texture NPOT, Audio SamplesMissing Materials (for non-terrain assets)
Skin modTexture NPOT, Texture ReadableNavmesh Readable, Missing Meshes
Cosmetic modMissing Meshes, Texture NPOTNavmesh Readable, Audio Samples

Best practices

  • Run -ValidateAssets before every Workshop publication
  • Fix all Error-level issues before publishing
  • Fix Warning-level issues when the fix is straightforward
  • Prioritize Missing Meshes and Missing Materials fixes (these cause visible bugs)
  • Keep non-navmesh meshes Readable-disabled to save RAM
  • Use power-of-two texture dimensions for all assets
  • Keep audio sample rates at 44100 Hz or lower

Appendix A: Validation severity decision matrix

SymptomSeverityAsset functional?Fix urgency
Navmesh not readableWarningYes, navmesh may not bakeBefore navmesh bake
Mesh readableWarning (not enforced)YesLow
Missing meshErrorNo, object invisibleBefore publication
High vertex countWarningYes, but performance may sufferMedium
Missing materialErrorYes, but pink appearanceBefore publication
High material countWarningYes, but performance may sufferMedium
Texture readableWarning (not enforced)YesLow
Non-power-of-two textureWarningYes, but GPU performance impactMedium
High audio sample rateWarningYes, but file size impactLow

Appendix B: Validation error log entry patterns

The following table documents the exact log entry patterns that appear for each validation check.

CheckLog pattern (exact)Severity in log
Navmesh Readable[Warning] Navmesh X is not readableWarning
Mesh Readable[Warning] Mesh X is readableWarning
Missing Meshes[Error] Missing mesh on renderer XError
Mesh Vertex Counts[Warning] Mesh X has high vertex count (Y)Warning
Missing Materials[Error] Missing material on renderer XError
Material Counts[Warning] Renderer X has high material count (Y)Warning
Texture Readable[Warning] Texture X is readableWarning
Texture NPOT[Warning] Texture X has non-power-of-two dimensionsWarning
Audio Samples[Warning] Audio clip X has high sample rate (Y)Warning

Appendix C: Fix priority matrix by mod publication stage

StageMust fixShould fixCan defer
DevelopmentAll errorsAll warningsNone
Pre-alpha testingMissing Meshes, Missing MaterialsHigh vertex count, Material countsTexture NPOT, Audio quality
Beta testingAll errorsHigh vertex count, Material countsAudio quality
Pre-publicationAll errorsAll warningsNone
Post-publication hotfixMissing Meshes, Missing MaterialsRemaining errorsAll warnings

Appendix D: Unity import settings for validation compliance

Asset typeRead/Write enabledPower-of-twoMax vertex countMax material count
Navmesh meshYesYes100001
Weapon meshNoN/A (3D)100001
Vehicle meshNoN/A (3D)200002-3
Terrain textureNoYesN/AN/A
Clothing textureYes (for layering)YesN/AN/A
Audio clipN/AN/AN/AN/A

Appendix E: Complete validation check reference table

Check nameWhat it validatesSeverityAsset loads?Performance impactVisual impact
Navmesh ReadableCPU Readable flag on navmesh meshesWarningYesNavmesh may not generateNone
Mesh ReadableCPU Readable flag on non-navmesh meshesWarningYesIncreased RAM usageNone
Missing MeshesMesh Filter has a mesh assignedErrorYes (invisible)NoneObject invisible
Mesh Vertex CountsVertex count is reasonableWarningYesPerformance degradesNone
Missing MaterialsMesh Renderer has material assignedErrorYes (pink)NonePink checkerboard
Material CountsMaterial count is reasonableWarningYesPerformance degradesNone
Texture ReadableCPU Readable flag on texturesWarningYesIncreased RAM usageNone
Texture NPOTTexture dimensions are power-of-twoWarningYesGPU performance impactSubtle quality loss
Audio SamplesAudio sample rate is reasonableWarningYesFile size impactNone

Appendix F: Unity import settings validation compliance table

The Unity import settings for each asset type should be configured as follows to pass all validation checks.

Asset typeRead/WriteNPOT scaleCompressionMax size
Navmesh meshEnabledN/ANoneN/A
3D model meshDisabledN/ADefaultN/A
UI textureDisabledTo NearestDefault2048
Albedo textureDisabledTo NearestDefault2048
Normal map textureDisabledTo NearestDefault2048
Mask textureDisabledTo NearestDefault1024
Audio clip (sfx)N/AN/ADefaultN/A
Audio clip (music)N/AN/ADefaultN/A

Appendix G: Cross-reference table: validation error to log entry to fix

IssueValidation errorLog entryFix
Navmesh won't bakeNavmesh Readable[Warning] Navmesh X not readableEnable Read/Write in Unity
Elevated RAM usageMesh Readable[Warning] Mesh X is readableDisable Read/Write in Unity
Invisible objectMissing Meshes[Error] Missing mesh on XAssign mesh in Unity
Poor performanceHigh vertex count[Warning] High vertex count on XOptimize mesh
Pink appearanceMissing Materials[Error] Missing material on XAssign material in Unity
Poor performanceHigh material count[Warning] High material count on XMerge materials
Elevated RAM usageTexture Readable[Warning] Texture X is readableDisable Read/Write in Unity
GPU performanceTexture NPOT[Warning] Texture X has NPOTResize to power of two
Large file sizeAudio Samples[Warning] Audio X has high rateReduce sample rate

Appendix H: Command-line flags reference for validation

FlagPurposeAdditional checksLog output
-ValidateAssetsComprehensive validationAll checks listed in this articleDetailed results to log and Asset Errors menu
(no flag)Basic health checksSubset of full validationMinimal logging

Appendix I: Validation workflow by asset type

The following table documents the recommended validation workflow for each asset type.

Asset typeRun ValidateAssets?Additional checksTypical errors
Item (single weapon)YesVerify model appears in-gameMissing mesh, missing material
Item pack (10+ items)YesVerify each item individuallyMissing materials, vertex counts
VehicleYesVerify wheels and physicsMissing meshes, missing materials
Map (small)YesWalk through all areasNavmesh readable, texture NPOT
Map (large)YesCheck performance hotspotsVertex counts, material counts
SkinYesVerify skin applies correctlyTexture NPOT
CosmeticYesVerify mythical effectsMissing mesh, missing material
Spawn tableRun separatelyVerify items appear in-gameNo validation errors (separate system)

Appendix J: Unity project validation settings reference

The Unity project settings should be configured as follows to minimize validation errors at export time.

SettingRecommended valueValidation impact
Mesh Read/WriteDisabled (except navmesh)Fixes Mesh Readable warning
Texture Read/WriteDisabled (except clothing)Fixes Texture Readable warning
Texture NPOT ScaleTo NearestFixes Texture NPOT warning
Audio Sample Rate44100 HzFixes Audio Samples warning
Mesh CompressionLowPasses Mesh Vertex Count check
Material Count per renderer1Passes Material Counts check

Appendix K: Validation check dependencies

Some validation checks depend on the results of other checks. The following table documents these dependencies.

CheckDepends onIf dependency failsResult
Mesh Vertex CountsMissing MeshesNo mesh to checkCheck skipped
Material CountsMissing MaterialsNo material to checkCheck skipped
Texture ReadableTexture NPOTNot relatedSeparate check
Audio SamplesNoneN/AIndependent check
Navmesh ReadableMissing MeshesNo navmesh to checkCheck skipped

Appendix L: Asset validation error priority matrix

The following matrix helps mod authors prioritize validation fixes based on both severity and the asset type.

Asset typeMissing MeshesMissing MaterialsHigh vertex countHigh material countTexture NPOT
WeaponCRITICALCRITICALMediumMediumLow
VehicleCRITICALCRITICALHighMediumLow
Map objectCRITICALCRITICALHighHighLow
Map terrainN/AN/ALowMediumMedium
CosmeticHighHighLowLowLow
ClothingHighHighLowLowMedium

Appendix M: Asset validation error resolution timeline

Validation errorTypical resolution timeComplexityTools required
Missing Meshes10-30 minutesLowUnity Editor
Missing Materials5-15 minutesLowUnity Editor
Mesh Readable2-5 minutes per meshLowUnity import settings
Texture Readable2-5 minutes per textureLowUnity import settings
Texture NPOT5-15 minutes per textureLowImage editor
High vertex count30-120 minutes per meshHigh3D modeling tool
High material count30-90 minutes per objectMediumUnity Editor, image editor
Navmesh Readable2-5 minutes per meshLowUnity import settings
Audio Samples5-10 minutes per clipLowAudio editor

Appendix N: Validation error frequency by mod type

The table below shows the most common validation errors by mod type based on 57 Studios cohort data.

Mod typeMost common errorSecond most commonThird most common
Weapon item packMissing MaterialsMissing MeshesMesh Readable
Vehicle modMissing MeshesHigh vertex countMissing Materials
Map (custom objects)Texture NPOTHigh vertex countHigh material count
Map (terrain only)Texture NPOTNavmesh ReadableTexture Readable
CosmeticMissing MaterialsMesh ReadableTexture NPOT

Appendix O: Asset validation integration with development workflow

The following workflow integrates asset validation into each phase of the mod development lifecycle.

PhaseValidation actionFrequencyExpected outcome
Asset creationNo validation neededPer assetAsset created with correct settings
Pre-importVerify import settingsPer import batchRead/Write flags correct
First in-game testQuick manual checkFirst test after importAsset appears in-game
Pre-alpha buildFull -ValidateAssetsPer buildAll errors fixed
Alpha testingFull -ValidateAssetsPer alpha releaseAll errors and warnings fixed
Beta testingFull -ValidateAssetsPer beta releaseZero validation issues
Pre-publicationFinal -ValidateAssetsBefore workshop uploadZero validation issues
Post-publicationOn-demandPer bug reportFix specific reported issues

Appendix P: Validation error cost estimation

Error typeTime to fixRisk if unfixedDetection difficulty
Missing Meshes10-30 minItem invisibleMedium
Missing Materials5-15 minPink appearanceEasy
Mesh Readable2-5 minRAM wasteHard (no visual cue)
Texture Readable2-5 minRAM wasteHard (no visual cue)
Texture NPOT5-15 minGPU perf impactMedium
High vertex count30-120 minPerformance issueMedium
High material count30-90 minPerformance issueMedium
Navmesh Readable2-5 minNavmesh may not bakeHard

Appendix Q: Asset validation settings by project type

The following table documents the recommended validation settings for different project types.

Project typeTarget validation levelRecommended checksSkip if overridden
Single weapon modAll checksAllNone
Weapon packAll checksAllReadable warnings if intentional
Map projectAll checksAll including navmeshTexture NPOT if using decals
Cosmetic itemAll checksMissing meshes, materialsReadable warnings
Skin onlyTexture checksTexture NPOT, readabilityMesh checks not applicable

Appendix R: Asset validation integration with continuous integration

The following CI pipeline steps validate asset integrity for each build.

StepToolValidation check
1Unity buildExport master bundle
2-ValidateAssets runRun game headless with validation
3Log parsingParse Client.log for [Error] entries
4Report generationGenerate validation report
5GateBlock publish if any errors found

Appendix S: External references

Authoring checklist

  • [ ] Run -ValidateAssets before every publication
  • [ ] Fix all [Error] level issues
  • [ ] Fix all actionable [Warning] level issues
  • [ ] Verify navmesh Readable flags for pathfinding objects
  • [ ] Verify meshes are assigned to all Mesh Filters
  • [ ] Verify materials are assigned to all Mesh Renderers
  • [ ] Use power-of-two texture dimensions
  • [ ] Keep audio at 44100 Hz or lower sample rate

Document history

VersionDateAuthorNotes
1.02026-07-2657 StudiosInitial publication. Complete asset validation error reference with severity classification, diagnostic table, and fix guidance.

Cross-references