2012年5月5日土曜日

Unity でシステムが使用しているリソースを一覧表示したい

簡単なEditor拡張機能を書くときとか、デフォルトでUnityのエディタが使っている画像とか借りて表示したいときが多々あるんですが、これが実は公開されていなくてそのままでは使えないのです。ということでデフォルトでUnityのエディタが使っているリソース一覧を暴くスクリプトを用意してみました。

using UnityEngine;
using System.Collection.Generics;
using System.Linq;
public void LogAllResources() {
List<UnityEngine.Object> allResources = new List<UnityEngine.Object>(Resources.FindObjectsOfTypeAll(typeof(UnityEngine.Object)));
IEnumerable<string> allResourceNames = allResources.Select(x => x.name);
Debug.Log(allResourceNames.Count());
Debug.Log(string.Join("\n", allResourceNames.ToArray()));
}


実行するとログに全てのリソースの一覧が表示されますので、あとはそれっぽい名前のやつを適当に拝借すればOKです。