Resources
という特殊フォルダがあるように
Editor Default Resources
という名の UnityEditor 専用 のフォルダが存在します
Editor Default Resources フォルダーは 1 つしか作成できず、Project のルートに配置する必要があります。Assets フォルダー内に直接配置します。必要なアセットファイルを、この Editor Default Resources フォルダーかそのサブフォルダーに配置します。アセットファイルがサブフォルダーにある場合は、EditorGUIUtility.Load 関数に渡されるパスに常にサブフォルダーパスを含有させます。
このフォルダ内のロードは EditorGUIUtility.Load
を利用してのみロードすることができ
以下のような処理を記述します
EditorGUIUtility.Load("Path"); static void loadExample() { // Assets/Editor Default Resources/ + aboutwindow.mainheader を探す Texture tex = (Texture)EditorGUIUtility.Load("aboutwindow.mainheader"); Debug.Log("Got: " + tex.name + " !"); Renderer r = GameObject.Find("Cube").GetComponent<Renderer>(); r.sharedMaterial.mainTexture = tex; }
EditorGUIUtility.Load
では ビルドインのリソースも取得でき
var texture = EditorGUIUtility.Load("icons/d_MoveTool.png") as as Texture2D;
とかすると移動アイコンが取得できます
フォルダ名にはスペースを入れないといけないらしく
EditorDefaultResources
としていたらロードできなかったため、調査していると
Editor Default Resources
としないといけないということでした