- Home /
EditorWindow texture effected by Playmode Color Tint
I'm draw empty texture with GUI.DrawTexture(rect, EditorGUIUtility.whiteTexture)
and change it's colour with GUI.color. This rectangle colour is not affected by Olaymode Color Tint:
var defColor = GUI.color;
GUI.color = EditorGUIUtility.isProSkin
? (Color)new Color32(56, 56, 56, 255)
: (Color)new Color32(194, 194, 194, 255);
GUI.DrawTexture(selectionRect, EditorGUIUtility.whiteTexture);
GUI.color = defColor;
How to draw texture to make it tinted in playmode?
Answer by Bunny83 · May 16, 2015 at 04:16 PM
GUI.color doesn't affect content, only GUIStyles. So you can create a GUIStyle with that texture:
var style = new GUIStyle("box"); // copy "box" style
style.normal.background = EditorGUIUtility.whiteTexture;
GUI.Label(selectionRect, GUIContent.none, style);
instead of
GUI.DrawTexture(selectionRect, EditorGUIUtility.whiteTexture);
However it's usually more convinient to setup a GUISkin for your editor stuff. You can use two GUISkins, one for free one for pro users. That's exactly how Unity handles it's own GUI stuff
I had tried to use GUIStyle ins$$anonymous$$d of DrawTexture, but resulting coloured rectangle is still not affected by Playmode Tint. To show what I have:
this three lines have custom background (the same color as regular default unity background, so you can't see it)
and in playmode custom tint applied in while editor, but not to my textures (in my case it's slightly gray)
Your answer
Follow this Question
Related Questions
Custom Inspector Element on Texture Importer? 2 Answers
Editor class "Texture Importer" question (applying settings to multiple texture assets). 2 Answers
AssetBundle to prefab => meshes/textures missing 1 Answer
Editor Script Selection thinks Sprites are Texture2Ds. 2 Answers
Can you set Read/Write on an image in an Editor Script? 1 Answer