MOST Editor

A plug-and-play Unity editor bundle of attributes, drawers, and utility structs that supercharge inspectors—no custom editor boilerplate needed.

Attribute drawers that hide/disable fields depend on the compared properties being serialized (public or [SerializeField]).

You may stack multiple drawers per property/field ([Line, HideIf, ReadOnly] public)

MOSTRange (Property)

1) Quick Definition

Serializable struct storing a Min/Max float pair with built‑in order safety (Min ≤ Max) and GetRandomValue().

2) Example

// Define a MOSTRange property
[Tooltip("Base damage range in HP")] 
public MOSTRange BaseDamage = new(5f, 12f);

// ____ Usecase ____
BaseDamage.GetRandomValue();
// return a random float value between 5 and 12

BaseDamage.Min
// return or set the minimum value of the BaseDamage
// The min/max values will be recalculated after any of BaseDamage values are edited
// In case the entered minimum value is bigger than the max value...

//Exampe
BaseDamage.Min = 15;
// now min will become 12 and max = 15..

BaseDamage.Max
// return or set the maximum value of the BaseDamage
// The min/max values will be recalculated after any of BaseDamage values are edited
// In case the entered maximum value is smaller than the max value...

//Exampe
BaseDamage.Max = 3;
// now min will become 3 and max = 5..

3) What You’ll See in the Inspector

Single line with two labeled float fields: Min | Max. Values auto-correct when swapped.

Image Here...


MinMaxSlider (Attribute)

1) Quick Definition

Draws a float range editor with numeric fields and a MinMaxSlider. Hard limits may be constants or resolved from sibling properties. require MOSTRange

2) Example

3) What You’ll See in the Inspector

A slider min/max with values clamped to the resolved hard limits.


MOSTRangeInt (Property)

1) Quick Definition

Serializable struct storing a Min/Max Int pair with built‑in order safety (Min ≤ Max) and GetRandomValue().

2) Example

3) What You’ll See in the Inspector

Single line with two labeled int fields: Min | Max. Values auto-correct when swapped.

Image Here...


MinMaxSliderInt (Attribute)

1) Quick Definition

Draws an int range editor with numeric fields and a MinMaxSliderInt. Hard limits may be constants or resolved from sibling properties. require MOSTRangeInt

2) Example

3) What You’ll See in the Inspector

A slider min/max with values clamped to the resolved hard limits.


BigHeader (Attribute)

1) Quick Definition

Draws a bold, colored section header (with underline). Great for organizing large inspectors.

2) Example

3) What You’ll See in the Inspector

A bold label in the chosen color with a thin underline above the property.


Line (Attribute)

1) Quick Definition

Adds a centered horizontal separator line with customizable thickness, width %, color, and vertical spacing

2) Example

3) What You’ll See in the Inspector

A simple divider line.


ReadOnly (Attribute)

1) Quick Definition

Shows a field disabled (non-editable) while preserving layout and height.

2) Example

3) What You’ll See in the Inspector

The field appears greyed out and cannot be edited.


ReadOnlyIf (Attribute)

1) Quick Definition

Conditionally disables a field based on a boolean or enum (optionally a second condition).

2) Example

3) What You’ll See in the Inspector

Field is visible but greyed out when the condition(s) match.


HideIfAll/Any (Attribute)

1) Quick Definition

Conditionally hides a field entirely (collapses layout space) based on boolean/enum comparisons.

2) Example

3) What You’ll See in the Inspector

Well, you will not see this time when the condition(s) match.


HelpBox (Attribute)

1) Quick Definition

Displays a HelpBox above the property with configurable message type and extra spacing.

2) Example

3) What You’ll See in the Inspector

A bold label in the chosen color with a thin underline above the property.


GUIColor (Attribute)

1) Quick Definition

Temporarily tints GUI colors while drawing a property (optionally applies to children for complex objects).

2) Example

3) What You’ll See in the Inspector

A bold label in the chosen color with a thin underline above the property.


Required (Attribute)

1) Quick Definition

For ObjectReference fields: overlays error icon + Inner-field message when the value is null.

2) Example

3) What You’ll See in the Inspector

Normal property field; if empty, shows an error icon and the message inside the input area.


InnerHint (Attribute)

1) Quick Definition

Displays a subtle inline hint inside an empty object reference field (non-blocking helper text).

2) Example

3) What You’ll See in the Inspector

Shows faint text next to Unity’s None (Type) caption when empty.


Group (Attribute)

1) Quick Definition

Displays a HelpBox above the property with configurable message type and extra spacing.

2) Example

3) What You’ll See in the Inspector

A shaded header with a foldout triangle; all fields with the same name appear inside when expanded.


HideScriptField (ClassOnly Attribute)

1) Quick Definition

When applied to a MonoBehaviour or ScriptableObject class, the top m_Script field is hidden by custom editors (for a cleaner look).

2) Example

3) What You’ll See in the Inspector

The script reference row is omitted only if all selected targets carry [HideScriptField].

If HideScriptField not added
If HideScriptField added

Last updated