Can't lay out colorfields with labels.

I’m trying to lay out three colorfields in a custom inspector. Here’s my code:

    using UnityEngine;
    using UnityEditor;
  
    [CustomEditor(typeof(Editable))]
    public class EditableEditor : Editor
    {
        public override void OnInspectorGUI()
        {
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.ColorField(Color.red);
            EditorGUILayout.ColorField(Color.green);
            EditorGUILayout.ColorField(Color.blue);
            EditorGUILayout.EndHorizontal();
  
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.ColorField("R", Color.red);
            EditorGUILayout.ColorField("G", Color.green);
            EditorGUILayout.ColorField("B", Color.blue);
            EditorGUILayout.EndHorizontal();
        }
    }

The first block works fine, but when I add the labels, it all goes wrong and looks like this:

Can anyone help me fix this?

Try commenting out your first block completely (lines 9-13). You only need to use ColorField once.

I did. Here’s the code:

using UnityEngine;
using UnityEditor;

[CustomEditor(typeof(Editable))]
public class EditableEditor : Editor
{
    public override void OnInspectorGUI()
    {
        //EditorGUILayout.BeginHorizontal();
        //EditorGUILayout.ColorField(Color.red);
        //EditorGUILayout.ColorField(Color.green);
        //EditorGUILayout.ColorField(Color.blue);
        //EditorGUILayout.EndHorizontal();

        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.ColorField("R", Color.red);
        EditorGUILayout.ColorField("G", Color.green);
        EditorGUILayout.ColorField("B", Color.blue);
        EditorGUILayout.EndHorizontal();
    }
}

And the result.