うにてぃブログ

主にUnityとC#に関する記事を書いていきます

【Unity】GUI で使える Skin 一覧

Unity2019.3から一部の GUI.skin の表示が変わったので、
Label Field での表示にはなるが違いを見てみたところ

Runtimeでは差は無さそうだったので、Editor 拡張で使っている場合のみ修正が必要そう

Unity2019.3 未満

f:id:hacchi_man:20200401224008p:plain

Unity2019.3 以降

f:id:hacchi_man:20200401224323p:plain

コード

using UnityEditor;
using UnityEngine;
 
public class SampleEditorWindow : EditorWindow
{
    [MenuItem("Tools/Show")]
    private static void ShowWindow()
    {
        GetWindow<SampleEditorWindow>().Show();
    }
 
    private void OnGUI()
    {
        EditorGUILayout.LabelField("box", GUI.skin.box);
        EditorGUILayout.LabelField("label", GUI.skin.label);
        EditorGUILayout.LabelField("textField", GUI.skin.textField);
        EditorGUILayout.LabelField("textArea", GUI.skin.textArea);
        EditorGUILayout.LabelField("button", GUI.skin.button);
        EditorGUILayout.LabelField("toggle", GUI.skin.toggle);
        EditorGUILayout.LabelField("window", GUI.skin.window);
        EditorGUILayout.LabelField("horizontalSlider", GUI.skin.horizontalSlider);
        EditorGUILayout.LabelField("horizontalSliderThumb", GUI.skin.horizontalSliderThumb);
        EditorGUILayout.LabelField("verticalSlider", GUI.skin.verticalSlider);
        EditorGUILayout.LabelField("verticalSliderThumb", GUI.skin.verticalSliderThumb);
        EditorGUILayout.LabelField("horizontalScrollbar", GUI.skin.horizontalScrollbar);
        EditorGUILayout.LabelField("horizontalScrollbarThumb", GUI.skin.horizontalScrollbarThumb);
        EditorGUILayout.LabelField("horizontalScrollbarLeftButton", GUI.skin.horizontalScrollbarLeftButton);
        EditorGUILayout.LabelField("horizontalScrollbarRightButton", GUI.skin.horizontalScrollbarRightButton);
        EditorGUILayout.LabelField("verticalScrollbar", GUI.skin.verticalScrollbar);
        EditorGUILayout.LabelField("verticalScrollbarThumb", GUI.skin.verticalScrollbarThumb);
        EditorGUILayout.LabelField("verticalScrollbarUpButton", GUI.skin.verticalScrollbarUpButton);
        EditorGUILayout.LabelField("verticalScrollbarDownButton", GUI.skin.verticalScrollbarDownButton);
        EditorGUILayout.LabelField("scrollView", GUI.skin.scrollView);
    }
}
using UnityEngine;
 
public class SampleOnGUIBehaviour : MonoBehaviour
{
    private const int height = 24;
 
    private void OnGUI()
    {
        var rect = new Rect(10, 10, 200, height);
        GUI.Label(rect, "box", GUI.skin.box);
        rect.y += height;
        GUI.Label(rect, "label", GUI.skin.label);
        rect.y += height;
        GUI.Label(rect, "textField", GUI.skin.textField);
        rect.y += height;
        GUI.Label(rect, "textArea", GUI.skin.textArea);
        rect.y += height;
        GUI.Label(rect, "button", GUI.skin.button);
        rect.y += height;
        GUI.Label(rect, "toggle", GUI.skin.toggle);
        rect.y += height;
        GUI.Label(rect, "window", GUI.skin.window);
        rect.y += height;
        GUI.Label(rect, "horizontalSlider", GUI.skin.horizontalSlider);
        rect.y += height;
        GUI.Label(rect, "horizontalSliderThumb", GUI.skin.horizontalSliderThumb);
        rect.y += height;
        GUI.Label(rect, "verticalSlider", GUI.skin.verticalSlider);
        rect.y += height;
        GUI.Label(rect, "verticalSliderThumb", GUI.skin.verticalSliderThumb);
        rect.y += height;
        GUI.Label(rect, "horizontalScrollbar", GUI.skin.horizontalScrollbar);
        rect.y += height;
        GUI.Label(rect, "horizontalScrollbarThumb", GUI.skin.horizontalScrollbarThumb);
        rect.y += height;
        GUI.Label(rect, "horizontalScrollbarLeftButton", GUI.skin.horizontalScrollbarLeftButton);
        rect.y += height;
        GUI.Label(rect, "verticalScrollbar", GUI.skin.verticalScrollbar);
        rect.y += height;
        GUI.Label(rect, "verticalScrollbarThumb", GUI.skin.verticalScrollbarThumb);
        rect.y += height;
        GUI.Label(rect, "verticalScrollbarUpButton", GUI.skin.verticalScrollbarUpButton);
        rect.y += height;
        GUI.Label(rect, "verticalScrollbarDownButton", GUI.skin.verticalScrollbarDownButton);
        rect.y += height;
        GUI.Label(rect, "scrollView", GUI.skin.scrollView);
    }
}