unity-validation
Unity Validation Skills
Maintain project health - find problems, clean up, and validate your Unity project.
Guardrails
Mode: Full-Auto required
DO NOT (common hallucinations):
- Validation skill routes use the
validate_*prefix, notvalidation_* validation_run/validation_checkdo not exist → use specific skills such asvalidate_scene,validate_project_structure,validate_missing_referencesvalidation_fixdoes not exist → validation skills report issues; use other modules to fix themvalidation_cleandoes not exist → usecleanermodule for cleanup operations
Routing:
- For unused/duplicate asset cleanup → use
cleanermodule - For missing script fix →
cleaner_fix_missing_scripts(cleaner module) - For compile errors →
debug_check_compilation(debug module)
Skills Overview
| Skill | Description |
|---|---|
validate_scene |
Comprehensive scene validation |
validate_find_missing_scripts |
Find objects with missing scripts |
validate_fix_missing_scripts |
Remove missing script components |
validate_cleanup_empty_folders |
Remove empty folders |
validate_find_unused_assets |
Find potentially unused assets |
validate_texture_sizes |
Check texture sizes |
validate_project_structure |
Get project overview |
validate_missing_references |
Find null/missing object references on components |
validate_mesh_collider_convex |
Find non-convex MeshColliders |
validate_shader_errors |
Find shaders with compilation errors |
Skills
validate_scene
Comprehensive scene validation.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
checkMissingScripts |
bool | No | true | Check for missing scripts |
checkMissingPrefabs |
bool | No | true | Check for missing prefabs |
checkDuplicateNames |
bool | No | false | Check duplicate names |
Returns: {success, sceneName, totalIssues, missingScripts, missingPrefabs, duplicateNames}
validate_find_missing_scripts
Find objects with missing script references.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
searchInPrefabs |
bool | No | false | Also check prefab assets |
Returns: {success, count, objectsWithMissingScripts: [{name, path, missingCount}]}
validate_fix_missing_scripts
Remove missing script components.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
dryRun |
bool | No | true | Preview only, don't remove |
Returns: {success, totalFixed, fixedObjects}
validate_cleanup_empty_folders
Remove empty folders from project.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
rootPath |
string | No | "Assets" | Starting folder |
dryRun |
bool | No | true | Preview only, don't delete |
Returns: {success, count, foldersToDelete: [path]}
validate_find_unused_assets
Find potentially unused assets.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
assetType |
string | No | null | Filter: Texture/Material/Prefab/etc |
limit |
int | No | 100 | Max results |
Returns: {success, count, unusedAssets: [path]}
validate_texture_sizes
Check for oversized textures.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
maxRecommendedSize |
int | No | 2048 | Warn if larger |
limit |
int | No | 50 | Max results |
Returns: {success, totalChecked, oversizedCount, oversizedTextures: [{path, width, height, recommendation}]}
validate_project_structure
Get project folder structure overview.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
rootPath |
string | No | "Assets" | Starting folder |
maxDepth |
int | No | 3 | Max folder depth |
Returns: {success, structure, summary: {totalFolders, totalAssets}}
validate_missing_references
Find null/missing object references on components in the scene.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
limit |
int | No | 50 | Max results |
Returns: { success, count, issues: [{ gameObject, path, component, property }] }
validate_mesh_collider_convex
Find non-convex MeshColliders (potential performance issue).
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
limit |
int | No | 50 | Max results |
Returns: { success, count, nonConvexColliders: [{ gameObject, path, vertexCount }] }
validate_shader_errors
Find shaders with compilation errors.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
limit |
int | No | 50 | Max results |
Returns: { success, count, shaders: [{ name, path, errorCount }] }
Common Workflows
Pre-Build Check
import unity_skills
# Validate scene
scene_result = unity_skills.call_skill("validate_scene")
if scene_result['totalIssues'] > 0:
print(f"Warning: {scene_result['totalIssues']} issues found")
# Check texture sizes
texture_result = unity_skills.call_skill("validate_texture_sizes", maxRecommendedSize=2048)
if texture_result['oversizedCount'] > 0:
print(f"Warning: {texture_result['oversizedCount']} oversized textures")
Project Cleanup
import unity_skills
# 1. Preview missing scripts fix
preview = unity_skills.call_skill("validate_fix_missing_scripts", dryRun=True)
print(f"Would fix {preview['totalFixed']} objects")
# 2. Actually fix (if preview looks good)
unity_skills.call_skill("validate_fix_missing_scripts", dryRun=False)
# 3. Preview empty folder cleanup
preview = unity_skills.call_skill("validate_cleanup_empty_folders", dryRun=True)
print(f"Would delete {len(preview['foldersToDelete'])} folders")
# 4. Actually cleanup
unity_skills.call_skill("validate_cleanup_empty_folders", dryRun=False)
# 5. Review unused assets (manual review recommended)
unused = unity_skills.call_skill("validate_find_unused_assets")
for asset in unused['unusedAssets']:
print(f"Potentially unused: {asset}")
Best Practices
- Always use
dryRun=Truefirst to preview changes - Run validation before major builds
- Review unused assets manually before deletion
- Keep texture sizes appropriate for target platform
- Fix missing scripts before they cause runtime errors
- Regular cleanup prevents project bloat
Exact Signatures
Exact names, parameters, defaults, and returns are defined by GET /skills/schema or unity_skills.get_skill_schema(), not by this file.
More from besty0728/unity-skills
unity-skills
Unity Editor automation via REST API — create scripts, analyze scenes, manage assets, control editor, and orchestrate workflows. Triggers: Unity, Unity Skills, in Unity, automate Unity, editor automation, create script, scene summary, build scene, 全自动模式, full auto, semi-auto, 半自动, Unity自动化, Unity编辑器, Unity技能, 操作Unity,在Unity中.
56unity-uitoolkit
UI Toolkit (UITK) for Unity — create/edit USS stylesheets and UXML layouts, configure UIDocument in scenes. Triggers: UI Toolkit, UITK, UXML, USS, UIDocument, PanelSettings, VisualElement, stylesheet, runtime UI, EditorWindow UI, 界面工具包, UI样式, 样式表, 可视化元素.
22unity-ui
Unity UI creation. Use when users want to create Canvas, Button, Text, Image, or other UI elements. Triggers: UI, canvas, button, text, image, panel, slider, toggle, UGUI, 界面, 按钮, 文本, 面板.
20unity-scriptableobject
ScriptableObject management. Use when users want to create, read, or modify ScriptableObject assets. Triggers: scriptableobject, SO, data asset, config, settings asset, 数据资产, 配置文件.
19unity-editor
Unity Editor control. Use when users want to enter play mode, select objects, undo/redo, or execute menu commands. Triggers: play, stop, pause, select, undo, redo, menu, editor, Unity编辑器, Unity播放, Unity撤销, Unity选择.
18unity-light
Unity lighting control. Use when users want to create or configure lights (Directional, Point, Spot, Area). Triggers: light, lighting, directional light, point light, spot light, shadows, intensity, 灯光, 光照, 阴影.
17