mcpField
U
unity-validation

unity-validation

github.com/besty0728テスト・品質1.9k81 回インストール今日更新
リポジトリ

unity-validation について

unity-validationは、シーンやアセットを確認するUnity開発者向けのプロジェクト検証スキルです。ビルド前の確認に使え、参照切れやスクリプトの欠落、過大なテクスチャ、シェーダーエラーなどを報告し、一部のクリーンアップは事前プレビューに対応します。

主な機能

  1. 01シーンとプロジェクト構成を検証
  2. 02欠落スクリプトと参照を検出
  3. 03未使用アセットと大きなテクスチャを報告
  4. 04コライダーとシェーダーの問題を検出
  5. 05一部のクリーンアップを事前プレビュー

活用シーン

  1. 01ビルド前にシーンの整合性を確認
  2. 02欠落スクリプトや参照を調査
  3. 03大きなテクスチャやシェーダーエラーを確認
  4. 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_layerGameObject レイヤーを一括設定する操作をプレビューします
batch_replace_materialマテリアルを一括置換する操作をプレビューします

スキル

validate_scene

シーンを包括的に検証します。

パラメーター型必須デフォルト説明
checkMissingScriptsboolいいえtrue欠落しているスクリプトを確認します
checkMissingPrefabsboolいいえtrue欠落しているプレハブを確認します
checkDuplicateNamesboolいいえtrue重複する名前を確認します
checkEmptyGameObjectsboolいいえfalse空の GameObjects(コンポーネントなし)を確認します

戻り値:{scene, totalIssues, summary: {errors, warnings, info}, issues: [{type, severity, gameObject, path, message, count}]}

validate_find_missing_scripts

スクリプト参照が欠落しているオブジェクトを検索します。

パラメーター型必須デフォルト説明
searchInPrefabsboolいいえtrueプレハブアセットも確認します

戻り値:{totalFound, objects: [{source, gameObject, path, missingCount, prefabPath?}]}(prefabPath は source="Prefab" の場合のみ存在します)

validate_fix_missing_scripts

欠落しているスクリプトコンポーネントを削除します。

パラメーター型必須デフォルト説明
dryRunboolいいえtrueプレビューのみで、削除しません

戻り値:{success, dryRun, fixedCount, message, objects: [{gameObject, path, missingCount}]}

validate_cleanup_empty_folders

プロジェクトから空のフォルダーを削除します。

パラメーター型必須デフォルト説明
rootPathstringいいえ"Assets"開始フォルダー
dryRunboolいいえtrueプレビューのみで、削除しません

戻り値:{ success, dryRun, emptyFolderCount, folders, message }

validate_find_unused_assets

未使用の可能性があるアセットを検索します。

パラメーター型必須デフォルト説明
assetTypestringいいえ"Material"フィルター:Texture/Material/Prefab など
limitintいいえ100最大結果数

戻り値:{ success, assetType, potentiallyUnusedCount, assets }

validate_texture_sizes

サイズが大きすぎるテクスチャを確認します。

パラメーター型必須デフォルト説明
maxRecommendedSizeintいいえ2048このサイズを超える場合に警告します
limitintいいえ50最大結果数

戻り値:{maxRecommendedSize, largeTextureCount, textures: [{path, name, width, height, maxTextureSize, format, recommendation}]}

validate_project_structure

プロジェクトのフォルダー構造の概要を取得します。

パラメーター型必須デフォルト説明
rootPathstringいいえ"Assets"開始フォルダー
maxDepthintいいえ2最大フォルダー階層

戻り値:{ success, rootPath, assetCounts, structure }

validate_missing_references

シーン内のコンポーネントにある、null または欠落したオブジェクト参照を検索します。

パラメーター型必須デフォルト説明
limitintいいえ50最大結果数

戻り値:{ success, count, issues: [{ gameObject, path, component, property }] }

validate_mesh_collider_convex

凸ではない MeshCollider(パフォーマンス上の問題となる可能性があります)を検索します。

パラメーター型必須デフォルト説明
limitintいいえ50最大結果数

戻り値:{ success, count, nonConvexColliders: [{ gameObject, path, vertexCount }] }

validate_shader_errors

コンパイルエラーのあるシェーダーを検索します。

パラメーター型必須デフォルト説明
limitintいいえ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}")

ベストプラクティス

  1. 変更をプレビューするため、必ず最初に dryRun=True を使用してください
  2. 大規模なビルドの前に検証を実行してください
  3. 削除する前に、未使用のアセットを手動で確認してください
  4. 対象プラットフォームに適したテクスチャサイズを維持してください
  5. 実行時エラーが発生する前に、欠落しているスクリプトを修正してください
  6. 定期的にクリーンアップすると、プロジェクトの肥大化を防げます

正確なシグネチャ

正確な名前、パラメーター、デフォルト値、戻り値は、このファイルではなく、GET /skills/schema または unity_skills.get_skill_schema() で定義されています。

コメント