概要
using UnityEditor; internal static class Example { [MenuItem( "Tools/C", priority = 1 )] private static void C() { } [MenuItem( "Tools/B", priority = 1 )] private static void B() { } [MenuItem( "Tools/A", priority = 1 )] private static void A() { } }

今の Unity では MenuItem の priority の値が同じなら
MenuItem が名前順で表示されるが、
using UnityEditor; internal static class Example { [MenuItem( "Tools/C", priority = 1, secondaryPriority = 1 )] private static void C() { } [MenuItem( "Tools/B", priority = 1, secondaryPriority = 2 )] private static void B() { } [MenuItem( "Tools/A", priority = 1, secondaryPriority = 3 )] private static void A() { } }

secondaryPriority を指定すると
同じ priority 内における表示順を細かく調整できる。
using UnityEditor; internal static class Example { [MenuItem( "Tools/C", priority = 1, secondaryPriority = 0.1f )] private static void C() { } [MenuItem( "Tools/B", priority = 1, secondaryPriority = 0.2f )] private static void B() { } [MenuItem( "Tools/A", priority = 1, secondaryPriority = 0.3f )] private static void A() { } }
secondaryPriority は float 型なので上記のような指定も可能。