unity-validation について
unity-validationは、シーンやアセットを確認するUnity開発者向けのプロジェクト検証スキルです。ビルド前の確認に使え、参照切れやスクリプトの欠落、過大なテクスチャ、シェーダーエラーなどを報告し、一部のクリーンアップは事前プレビューに対応します。
主な機能
- 01シーンとプロジェクト構成を検証
- 02欠落スクリプトと参照を検出
- 03未使用アセットと大きなテクスチャを報告
- 04コライダーとシェーダーの問題を検出
- 05一部のクリーンアップを事前プレビュー
活用シーン
- 01ビルド前にシーンの整合性を確認
- 02欠落スクリプトや参照を調査
- 03大きなテクスチャやシェーダーエラーを確認
- 04空フォルダー削除を事前プレビュー
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ besty0728/ unity-skills --skill unity-validationインストール後、Claude Code で/unity-validationを入力して読み込まれたか確認します。
詳細
このモジュールのスキルを呼び出す前に: 名前や説明から推測したパラメーターを使ってスキルを呼び出そうとしている場合は、いったん停止し、まずこのファイルを読むか、
GET /skills/recommend?includeSchema=trueでスキーマを取得してください。recommend/schema でパラメーター定義をすでに確認している場合は、そのまま dryRun に進めます。
トリガー
- 参照の破損や欠落の確認
- シーン/プロジェクトの整合性の検証
- ビルド前のクリーンアップ
- 断裂または欠落した参照の確認、シーン/プロジェクトの整合性の検証、ビルド前のクリーンアップ
Unity 検証スキル
問題を見つけてクリーンアップし、Unity プロジェクトを検証して、プロジェクトの健全性を維持します。
動作モード
- 承認:読み取り専用の分析スキル(
validate_scene/validate_find_missing_scripts/validate_find_unused_assets/validate_texture_sizes/validate_project_structure/validate_missing_references/validate_mesh_collider_convex/validate_shader_errors、SkillMode.SemiAutoとしてマーク)は直接実行します。Delete を含むスキル(validate_cleanup_empty_foldersはAnalyze | Delete、validate_fix_missing_scriptsはExecute | Deleteとしてマークされ、デフォルトはSkillMode.FullAuto)にはユーザーの許可が必要です。 - 自動/バイパス:直接実行します。
- 本モジュールには Delete 系の高リスクスキルが含まれます:
validate_cleanup_empty_folders/validate_fix_missing_scriptsはdryRun=falseにすると実際に削除します。Approval / Auto ではIsForbiddenInSemiによって自動的にブロックされ、実行できるのは Bypass または Allowlist に一致する場合のみです。まずdryRun=trueでプレビューすることを強く推奨します。
禁止事項(よくある誤り):
- 検証スキルのルートには
validation_*ではなく、validate_*のプレフィックスを使用します。 validation_run/validation_checkは存在しません。validate_scene、validate_project_structure、validate_missing_referencesなど、個別のスキルを使用してください。validation_fixは存在しません。検証スキルは問題を報告します。修正には別のモジュールを使用してください。validation_cleanは存在しません。クリーンアップ操作にはcleanerモジュールを使用してください。
ルーティング:
- 未使用/重複アセットのクリーンアップには、
cleanerモジュールを使用します。 - 欠落スクリプトの修正には、
cleanerモジュールのcleaner_fix_missing_scriptsを使用します。 - コンパイルエラーには、
debugモジュールのdebug_check_compilationを使用します。
スキルの概要
| スキル | 説明 |
|---|---|
validate_scene | シーンを包括的に検証します |
validate_find_missing_scripts | スクリプトが欠落しているオブジェクトを検出します |
validate_fix_missing_scripts | スクリプトが欠落しているコンポーネントを削除します |
validate_cleanup_empty_folders | 空のフォルダーを削除します |
validate_find_unused_assets | 未使用の可能性があるアセットを検出します |
validate_texture_sizes | テクスチャサイズを確認します |
validate_project_structure | プロジェクトの概要を取得します |
validate_missing_references | コンポーネント上の null/欠落したオブジェクト参照を検出します |
validate_mesh_collider_convex | 凸でない MeshCollider を検出します |
validate_shader_errors | コンパイルエラーのあるシェーダーを検出します |
さらに 6 つのスキルは SkillCategory.Validation に分類されていますが、実装とドキュメントは batch モジュールにあります。そのため、GET /skills/recommend?category=validation は上記の 10 個と合わせてそれらのスキルも返します。パラメーターについては ../batch/SKILL.md を参照してください。batch_validate_scene_objects は読み取り専用のレポートを返しますが、それ以外のスキルはプレビューであり、batch_execute(confirmToken) で確定します。
| スキル | 説明 |
|---|---|
batch_validate_scene_objects | シーンオブジェクトを分析し、スクリプトの欠落、参照の欠落、名前の重複、空のオブジェクトを検出します |
batch_fix_missing_scripts | 欠落スクリプトを一括削除する操作をプレビューします |
batch_cleanup_temp_objects | 一般的な一時オブジェクトの名前パターンに基づき、一時的な補助オブジェクトの削除をプレビューします |
batch_standardize_naming | 空白の削除と区切り文字の正規化による名前の標準化をプレビューします |
batch_set_render_layer | GameObject レイヤーを一括設定する操作をプレビューします |
batch_replace_material | マテリアルを一括置換する操作をプレビューします |
スキル
validate_scene
シーンを包括的に検証します。
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
checkMissingScripts | bool | いいえ | true | 欠落しているスクリプトを確認します |
checkMissingPrefabs | bool | いいえ | true | 欠落しているプレハブを確認します |
checkDuplicateNames | bool | いいえ | true | 重複する名前を確認します |
checkEmptyGameObjects | bool | いいえ | false | 空の GameObjects(コンポーネントなし)を確認します |
戻り値:{scene, totalIssues, summary: {errors, warnings, info}, issues: [{type, severity, gameObject, path, message, count}]}
validate_find_missing_scripts
スクリプト参照が欠落しているオブジェクトを検索します。
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
searchInPrefabs | bool | いいえ | true | プレハブアセットも確認します |
戻り値:{totalFound, objects: [{source, gameObject, path, missingCount, prefabPath?}]}(prefabPath は source="Prefab" の場合のみ存在します)
validate_fix_missing_scripts
欠落しているスクリプトコンポーネントを削除します。
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
dryRun | bool | いいえ | true | プレビューのみで、削除しません |
戻り値:{success, dryRun, fixedCount, message, objects: [{gameObject, path, missingCount}]}
validate_cleanup_empty_folders
プロジェクトから空のフォルダーを削除します。
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
rootPath | string | いいえ | "Assets" | 開始フォルダー |
dryRun | bool | いいえ | true | プレビューのみで、削除しません |
戻り値:{ success, dryRun, emptyFolderCount, folders, message }
validate_find_unused_assets
未使用の可能性があるアセットを検索します。
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
assetType | string | いいえ | "Material" | フィルター:Texture/Material/Prefab など |
limit | int | いいえ | 100 | 最大結果数 |
戻り値:{ success, assetType, potentiallyUnusedCount, assets }
validate_texture_sizes
サイズが大きすぎるテクスチャを確認します。
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
maxRecommendedSize | int | いいえ | 2048 | このサイズを超える場合に警告します |
limit | int | いいえ | 50 | 最大結果数 |
戻り値:{maxRecommendedSize, largeTextureCount, textures: [{path, name, width, height, maxTextureSize, format, recommendation}]}
validate_project_structure
プロジェクトのフォルダー構造の概要を取得します。
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
rootPath | string | いいえ | "Assets" | 開始フォルダー |
maxDepth | int | いいえ | 2 | 最大フォルダー階層 |
戻り値:{ success, rootPath, assetCounts, structure }
validate_missing_references
シーン内のコンポーネントにある、null または欠落したオブジェクト参照を検索します。
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
limit | int | いいえ | 50 | 最大結果数 |
戻り値:{ success, count, issues: [{ gameObject, path, component, property }] }
validate_mesh_collider_convex
凸ではない MeshCollider(パフォーマンス上の問題となる可能性があります)を検索します。
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
limit | int | いいえ | 50 | 最大結果数 |
戻り値:{ success, count, nonConvexColliders: [{ gameObject, path, vertexCount }] }
validate_shader_errors
コンパイルエラーのあるシェーダーを検索します。
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
limit | int | いいえ | 50 | 最大結果数 |
戻り値:{ success, count, shaders: [{ name, path, errorCount }] }
一般的なワークフロー
ビルド前チェック
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['largeTextureCount'] > 0:
print(f"Warning: {texture_result['largeTextureCount']} oversized textures")
プロジェクトのクリーンアップ
import unity_skills
# 1. Preview missing scripts fix
preview = unity_skills.call_skill("validate_fix_missing_scripts", dryRun=True)
print(f"Would fix {preview['fixedCount']} 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['folders'])} 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['assets']:
print(f"Potentially unused: {asset}")
ベストプラクティス
- 変更をプレビューするため、必ず最初に
dryRun=Trueを使用してください - 大規模なビルドの前に検証を実行してください
- 削除する前に、未使用のアセットを手動で確認してください
- 対象プラットフォームに適したテクスチャサイズを維持してください
- 実行時エラーが発生する前に、欠落しているスクリプトを修正してください
- 定期的にクリーンアップすると、プロジェクトの肥大化を防げます
正確なシグネチャ
正確な名前、パラメーター、デフォルト値、戻り値は、このファイルではなく、GET /skills/schema または unity_skills.get_skill_schema() で定義されています。