はじめに
EditorApplication.projectWindowItemOnGUI
を利用することでProject Window
に色をつける事ができます。
public static class ProjectWindowColorizer { [InitializeOnLoadMethod] private static void Init() { EditorApplication.projectWindowItemOnGUI += OnGUI; } private static void OnGUI(string guid, Rect selectionRect) { var originalColor = GUI.color; // 色をつける GUI.color = Color.red; GUI.Box(selectionRect, string.Empty); GUI.color = originalColor; } }
ただなんか色が暗いんですよね...。おそらく背景の色が混ざってしまっているのかなと思います。
この対処法を見つけたので備忘録もかねて書き残しておきたいと思います。
環境
Unity2023.2.0b17
方法
GUIStyle.normal.background
にTexture2D
を設定したGUIStyle
を適応すればOKです。
private static void OnGUI(string guid, Rect selectionRect) { var originalColor = GUI.color; // Alpha値を小さくしないと文字が見えないので下げる GUI.color = new Color(1, 0, 0, 0.2f); var style = new GUIStyle { normal = { background = Texture2D.whiteTexture } }; GUI.Box(selectionRect, string.Empty, style); GUI.color = originalColor; }
ただGUIStyleState.background
が文字・アイコンの前に描画されているせいで、Alpha値を下げてあげないと見えなくなってしまうので注意してください。
さいごに
ProjectWindowがIMGUI
からUI Toolkit
に移行してくれれば簡単なんですけどね...。正直IMGUI使いにくいので、特にエディタのUIは早く移行してほしいです。