【Unity】【エディタ拡張】中身のない空フォルダがないか調べるエディタ拡張

Unityでは、フォルダを作るとmetaファイルが作られる。 もしそのフォルダの中身が空なら、意味のないmetaファイルが作られていることになるので、それを検知するエディタ拡張を作りました。

using UnityEditor;
using System.Linq;
using UnityEngine;

public static class CheckEmptyFolderMenu
{
    [MenuItem("Tools/Check Empty Folder")]
    public static void CheckEmptyFolder()
    {
        // Assetsフォルダ以下に空フォルダがあるかチェック
        var emptyFolders = AssetDatabase.FindAssets("t:DefaultAsset")
            .Select(AssetDatabase.GUIDToAssetPath)
            .Where(AssetDatabase.IsValidFolder)
            .Where(path => AssetDatabase.GetSubFolders(path).Length == 0)
            .Where(path => AssetDatabase.FindAssets("t:Object", new[] { path }).Length == 0)
            .ToArray();
        
        // 空フォルダがあればログ出力
        if (emptyFolders.Length > 0)
        {
            Debug.Log("Empty Folder:");
            foreach (var folder in emptyFolders)
            {
                Debug.Log(folder);
            }
        }
        else
        {
            Debug.Log("Empty Folder: None");
        }
    }
}