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.

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.
Navmesh Readable check
What it checks: Object navmeshes should have the CPU Readable flag enabled in Unity.
| Severity | Warning |
|---|---|
| Engine behavior | Navmesh generation may fail for that object |
| Log pattern | "Navmesh not readable" |
| Fix | Enable 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.
| Severity | Warning (not enforced) |
|---|---|
| Engine behavior | No immediate impact; meshes are not read from CPU |
| Log pattern | "Mesh is readable" |
| Fix | Disable 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.
| Severity | Error |
|---|---|
| Engine behavior | The renderer will not draw anything; the object may be invisible |
| Log pattern | "Missing mesh on renderer" |
| Fix | Assign a mesh to the Mesh Filter component in Unity |
Mesh Vertex Counts check
What it checks: Meshes with unusually high numbers of vertices.
| Severity | Warning |
|---|---|
| Engine behavior | Performance impact on lower-end hardware |
| Log pattern | "High vertex count" |
| Fix | Optimize the mesh by removing unused faces and vertices |
Missing Materials check
What it checks: Renderers without materials.
| Severity | Error |
|---|---|
| Engine behavior | The object renders as a pink checkerboard |
| Log pattern | "Missing material on renderer" |
| Fix | Assign a material to the Mesh Renderer component in Unity |
Material Counts check
What it checks: Renderers with high numbers of materials.
| Severity | Warning |
|---|---|
| Engine behavior | Each material requires a separate draw call |
| Log pattern | "High material count" |
| Fix | Merge 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.
| Severity | Warning (not enforced) |
|---|---|
| Engine behavior | Unnecessary RAM usage; no gameplay impact |
| Log pattern | "Texture is readable" |
| Fix | Disable Read/Write in the texture import settings in Unity |
Texture NPOT check
What it checks: Most textures should have power-of-two dimensions.
| Severity | Warning |
|---|---|
| Engine behavior | GPU performance impact on some hardware |
| Log pattern | "Texture is non-power-of-two" |
| Fix | Resize the texture to power-of-two dimensions |
Audio Samples check
What it checks: Long audio clips with high frequencies.
| Severity | Warning |
|---|---|
| Engine behavior | File size may be unnecessarily large |
| Log pattern | "Audio clip has high sample rate" |
| Fix | Reduce the sample rate to 44100 Hz or lower |
Error classification summary
| Check | Severity | Asset loads? | Fix priority |
|---|---|---|---|
| Navmesh Readable | Warning | Yes | Medium |
| Mesh Readable | Warning (not enforced) | Yes | Low |
| Missing Meshes | Error | Yes, but invisible | High |
| Mesh Vertex Counts | Warning | Yes | Low |
| Missing Materials | Error | Yes, but pink | High |
| Material Counts | Warning | Yes | Medium |
| Texture Readable | Warning (not enforced) | Yes | Low |
| Texture NPOT | Warning | Yes | Medium |
| Audio Samples | Warning | Yes | Low |
Diagnostic table
| Log entry | Severity | What it means | Fix |
|---|---|---|---|
| "Navmesh not readable on object X" | Warning | Navmesh CPU Readable flag is missing | Enable Read/Write in Unity mesh import |
| "Mesh X is readable" | Warning | Readable flag is on when not needed | Disable Read/Write in Unity mesh import |
| "Missing mesh on renderer X" | Error | Mesh Filter has no mesh assigned | Assign a mesh in Unity |
| "High vertex count on mesh X" | Warning | Mesh has more vertices than recommended | Optimize the mesh geometry |
| "Missing material on renderer X" | Error | Renderer has no material assigned | Assign a material in Unity |
| "High material count on renderer X" | Warning | Too many materials on one renderer | Merge materials where possible |
| "Texture X is readable" | Warning | Readable flag is on when not needed | Disable Read/Write in Unity texture import |
| "Texture X has non-power-of-two dimensions" | Warning | Texture resolution is not a power of two | Resize to 2^N dimensions |
| "Audio clip X has high sample rate" | Warning | Sample rate is higher than necessary | Reduce 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 type | Most relevant checks | Less relevant checks |
|---|---|---|
| Item mod (weapon, tool) | Missing Meshes, Missing Materials, Mesh Vertex Counts | Navmesh Readable, Audio Samples |
| Vehicle mod | Missing Meshes, Missing Materials, Mesh Vertex Counts | Navmesh Readable |
| Map mod | Navmesh Readable, Mesh Vertex Counts, Texture NPOT, Audio Samples | Missing Materials (for non-terrain assets) |
| Skin mod | Texture NPOT, Texture Readable | Navmesh Readable, Missing Meshes |
| Cosmetic mod | Missing Meshes, Texture NPOT | Navmesh Readable, Audio Samples |
Best practices
- Run
-ValidateAssetsbefore 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
| Symptom | Severity | Asset functional? | Fix urgency |
|---|---|---|---|
| Navmesh not readable | Warning | Yes, navmesh may not bake | Before navmesh bake |
| Mesh readable | Warning (not enforced) | Yes | Low |
| Missing mesh | Error | No, object invisible | Before publication |
| High vertex count | Warning | Yes, but performance may suffer | Medium |
| Missing material | Error | Yes, but pink appearance | Before publication |
| High material count | Warning | Yes, but performance may suffer | Medium |
| Texture readable | Warning (not enforced) | Yes | Low |
| Non-power-of-two texture | Warning | Yes, but GPU performance impact | Medium |
| High audio sample rate | Warning | Yes, but file size impact | Low |
Appendix B: Validation error log entry patterns
The following table documents the exact log entry patterns that appear for each validation check.
| Check | Log pattern (exact) | Severity in log |
|---|---|---|
| Navmesh Readable | [Warning] Navmesh X is not readable | Warning |
| Mesh Readable | [Warning] Mesh X is readable | Warning |
| Missing Meshes | [Error] Missing mesh on renderer X | Error |
| Mesh Vertex Counts | [Warning] Mesh X has high vertex count (Y) | Warning |
| Missing Materials | [Error] Missing material on renderer X | Error |
| Material Counts | [Warning] Renderer X has high material count (Y) | Warning |
| Texture Readable | [Warning] Texture X is readable | Warning |
| Texture NPOT | [Warning] Texture X has non-power-of-two dimensions | Warning |
| Audio Samples | [Warning] Audio clip X has high sample rate (Y) | Warning |
Appendix C: Fix priority matrix by mod publication stage
| Stage | Must fix | Should fix | Can defer |
|---|---|---|---|
| Development | All errors | All warnings | None |
| Pre-alpha testing | Missing Meshes, Missing Materials | High vertex count, Material counts | Texture NPOT, Audio quality |
| Beta testing | All errors | High vertex count, Material counts | Audio quality |
| Pre-publication | All errors | All warnings | None |
| Post-publication hotfix | Missing Meshes, Missing Materials | Remaining errors | All warnings |
Appendix D: Unity import settings for validation compliance
| Asset type | Read/Write enabled | Power-of-two | Max vertex count | Max material count |
|---|---|---|---|---|
| Navmesh mesh | Yes | Yes | 10000 | 1 |
| Weapon mesh | No | N/A (3D) | 10000 | 1 |
| Vehicle mesh | No | N/A (3D) | 20000 | 2-3 |
| Terrain texture | No | Yes | N/A | N/A |
| Clothing texture | Yes (for layering) | Yes | N/A | N/A |
| Audio clip | N/A | N/A | N/A | N/A |
Appendix E: Complete validation check reference table
| Check name | What it validates | Severity | Asset loads? | Performance impact | Visual impact |
|---|---|---|---|---|---|
| Navmesh Readable | CPU Readable flag on navmesh meshes | Warning | Yes | Navmesh may not generate | None |
| Mesh Readable | CPU Readable flag on non-navmesh meshes | Warning | Yes | Increased RAM usage | None |
| Missing Meshes | Mesh Filter has a mesh assigned | Error | Yes (invisible) | None | Object invisible |
| Mesh Vertex Counts | Vertex count is reasonable | Warning | Yes | Performance degrades | None |
| Missing Materials | Mesh Renderer has material assigned | Error | Yes (pink) | None | Pink checkerboard |
| Material Counts | Material count is reasonable | Warning | Yes | Performance degrades | None |
| Texture Readable | CPU Readable flag on textures | Warning | Yes | Increased RAM usage | None |
| Texture NPOT | Texture dimensions are power-of-two | Warning | Yes | GPU performance impact | Subtle quality loss |
| Audio Samples | Audio sample rate is reasonable | Warning | Yes | File size impact | None |
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 type | Read/Write | NPOT scale | Compression | Max size |
|---|---|---|---|---|
| Navmesh mesh | Enabled | N/A | None | N/A |
| 3D model mesh | Disabled | N/A | Default | N/A |
| UI texture | Disabled | To Nearest | Default | 2048 |
| Albedo texture | Disabled | To Nearest | Default | 2048 |
| Normal map texture | Disabled | To Nearest | Default | 2048 |
| Mask texture | Disabled | To Nearest | Default | 1024 |
| Audio clip (sfx) | N/A | N/A | Default | N/A |
| Audio clip (music) | N/A | N/A | Default | N/A |
Appendix G: Cross-reference table: validation error to log entry to fix
| Issue | Validation error | Log entry | Fix |
|---|---|---|---|
| Navmesh won't bake | Navmesh Readable | [Warning] Navmesh X not readable | Enable Read/Write in Unity |
| Elevated RAM usage | Mesh Readable | [Warning] Mesh X is readable | Disable Read/Write in Unity |
| Invisible object | Missing Meshes | [Error] Missing mesh on X | Assign mesh in Unity |
| Poor performance | High vertex count | [Warning] High vertex count on X | Optimize mesh |
| Pink appearance | Missing Materials | [Error] Missing material on X | Assign material in Unity |
| Poor performance | High material count | [Warning] High material count on X | Merge materials |
| Elevated RAM usage | Texture Readable | [Warning] Texture X is readable | Disable Read/Write in Unity |
| GPU performance | Texture NPOT | [Warning] Texture X has NPOT | Resize to power of two |
| Large file size | Audio Samples | [Warning] Audio X has high rate | Reduce sample rate |
Appendix H: Command-line flags reference for validation
| Flag | Purpose | Additional checks | Log output |
|---|---|---|---|
-ValidateAssets | Comprehensive validation | All checks listed in this article | Detailed results to log and Asset Errors menu |
| (no flag) | Basic health checks | Subset of full validation | Minimal logging |
Appendix I: Validation workflow by asset type
The following table documents the recommended validation workflow for each asset type.
| Asset type | Run ValidateAssets? | Additional checks | Typical errors |
|---|---|---|---|
| Item (single weapon) | Yes | Verify model appears in-game | Missing mesh, missing material |
| Item pack (10+ items) | Yes | Verify each item individually | Missing materials, vertex counts |
| Vehicle | Yes | Verify wheels and physics | Missing meshes, missing materials |
| Map (small) | Yes | Walk through all areas | Navmesh readable, texture NPOT |
| Map (large) | Yes | Check performance hotspots | Vertex counts, material counts |
| Skin | Yes | Verify skin applies correctly | Texture NPOT |
| Cosmetic | Yes | Verify mythical effects | Missing mesh, missing material |
| Spawn table | Run separately | Verify items appear in-game | No 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.
| Setting | Recommended value | Validation impact |
|---|---|---|
| Mesh Read/Write | Disabled (except navmesh) | Fixes Mesh Readable warning |
| Texture Read/Write | Disabled (except clothing) | Fixes Texture Readable warning |
| Texture NPOT Scale | To Nearest | Fixes Texture NPOT warning |
| Audio Sample Rate | 44100 Hz | Fixes Audio Samples warning |
| Mesh Compression | Low | Passes Mesh Vertex Count check |
| Material Count per renderer | 1 | Passes Material Counts check |
Appendix K: Validation check dependencies
Some validation checks depend on the results of other checks. The following table documents these dependencies.
| Check | Depends on | If dependency fails | Result |
|---|---|---|---|
| Mesh Vertex Counts | Missing Meshes | No mesh to check | Check skipped |
| Material Counts | Missing Materials | No material to check | Check skipped |
| Texture Readable | Texture NPOT | Not related | Separate check |
| Audio Samples | None | N/A | Independent check |
| Navmesh Readable | Missing Meshes | No navmesh to check | Check 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 type | Missing Meshes | Missing Materials | High vertex count | High material count | Texture NPOT |
|---|---|---|---|---|---|
| Weapon | CRITICAL | CRITICAL | Medium | Medium | Low |
| Vehicle | CRITICAL | CRITICAL | High | Medium | Low |
| Map object | CRITICAL | CRITICAL | High | High | Low |
| Map terrain | N/A | N/A | Low | Medium | Medium |
| Cosmetic | High | High | Low | Low | Low |
| Clothing | High | High | Low | Low | Medium |
Appendix M: Asset validation error resolution timeline
| Validation error | Typical resolution time | Complexity | Tools required |
|---|---|---|---|
| Missing Meshes | 10-30 minutes | Low | Unity Editor |
| Missing Materials | 5-15 minutes | Low | Unity Editor |
| Mesh Readable | 2-5 minutes per mesh | Low | Unity import settings |
| Texture Readable | 2-5 minutes per texture | Low | Unity import settings |
| Texture NPOT | 5-15 minutes per texture | Low | Image editor |
| High vertex count | 30-120 minutes per mesh | High | 3D modeling tool |
| High material count | 30-90 minutes per object | Medium | Unity Editor, image editor |
| Navmesh Readable | 2-5 minutes per mesh | Low | Unity import settings |
| Audio Samples | 5-10 minutes per clip | Low | Audio 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 type | Most common error | Second most common | Third most common |
|---|---|---|---|
| Weapon item pack | Missing Materials | Missing Meshes | Mesh Readable |
| Vehicle mod | Missing Meshes | High vertex count | Missing Materials |
| Map (custom objects) | Texture NPOT | High vertex count | High material count |
| Map (terrain only) | Texture NPOT | Navmesh Readable | Texture Readable |
| Cosmetic | Missing Materials | Mesh Readable | Texture NPOT |
Appendix O: Asset validation integration with development workflow
The following workflow integrates asset validation into each phase of the mod development lifecycle.
| Phase | Validation action | Frequency | Expected outcome |
|---|---|---|---|
| Asset creation | No validation needed | Per asset | Asset created with correct settings |
| Pre-import | Verify import settings | Per import batch | Read/Write flags correct |
| First in-game test | Quick manual check | First test after import | Asset appears in-game |
| Pre-alpha build | Full -ValidateAssets | Per build | All errors fixed |
| Alpha testing | Full -ValidateAssets | Per alpha release | All errors and warnings fixed |
| Beta testing | Full -ValidateAssets | Per beta release | Zero validation issues |
| Pre-publication | Final -ValidateAssets | Before workshop upload | Zero validation issues |
| Post-publication | On-demand | Per bug report | Fix specific reported issues |
Appendix P: Validation error cost estimation
| Error type | Time to fix | Risk if unfixed | Detection difficulty |
|---|---|---|---|
| Missing Meshes | 10-30 min | Item invisible | Medium |
| Missing Materials | 5-15 min | Pink appearance | Easy |
| Mesh Readable | 2-5 min | RAM waste | Hard (no visual cue) |
| Texture Readable | 2-5 min | RAM waste | Hard (no visual cue) |
| Texture NPOT | 5-15 min | GPU perf impact | Medium |
| High vertex count | 30-120 min | Performance issue | Medium |
| High material count | 30-90 min | Performance issue | Medium |
| Navmesh Readable | 2-5 min | Navmesh may not bake | Hard |
Appendix Q: Asset validation settings by project type
The following table documents the recommended validation settings for different project types.
| Project type | Target validation level | Recommended checks | Skip if overridden |
|---|---|---|---|
| Single weapon mod | All checks | All | None |
| Weapon pack | All checks | All | Readable warnings if intentional |
| Map project | All checks | All including navmesh | Texture NPOT if using decals |
| Cosmetic item | All checks | Missing meshes, materials | Readable warnings |
| Skin only | Texture checks | Texture NPOT, readability | Mesh checks not applicable |
Appendix R: Asset validation integration with continuous integration
The following CI pipeline steps validate asset integrity for each build.
| Step | Tool | Validation check |
|---|---|---|
| 1 | Unity build | Export master bundle |
| 2 | -ValidateAssets run | Run game headless with validation |
| 3 | Log parsing | Parse Client.log for [Error] entries |
| 4 | Report generation | Generate validation report |
| 5 | Gate | Block publish if any errors found |
Appendix S: External references
- Smartly Dressed Games official modding documentation - the authoritative reference for the Asset Validation chapter.
- Finding and Reading Game Logs - the previous article; covers log file analysis for validation errors.
- Master Bundle Troubleshooting - the next article; covers master bundle validation and troubleshooting.
- Asset Load Failure Reference - covers load failures that are distinct from validation errors.
Authoring checklist
- [ ] Run
-ValidateAssetsbefore 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
| Version | Date | Author | Notes |
|---|---|---|---|
| 1.0 | 2026-07-26 | 57 Studios | Initial publication. Complete asset validation error reference with severity classification, diagnostic table, and fix guidance. |
Cross-references
- Finding and Reading Game Logs - the previous article; covers log file analysis for validation errors.
- Master Bundle Troubleshooting - the next article; covers master bundle errors that may appear in validation output.
- Asset Load Failure Reference - covers load failures distinct from validation errors.
- Data File Troubleshooting - covers
.datfile errors that the validation system does not check. - Smartly Dressed Games modding documentation - official reference.
- Unturned on Steam - game page and community hub.
