KDT (Keos Developer Tools)

Enhance your Unity development workflow with powerful features

AnyTag

AnyTag is a type of string that shows all of the Tags currently available in your project. The usage is just like a string, making it incredibly simple to work with Tags in your Unity project without memorizing them all.

This powerful feature allows you to quickly select from existing tags and ensures you're always referencing valid tags in your code.

AnyTag Example

BoxGroup

BoxGroup lets you visually group related fields in the Unity Inspector inside a labeled box. Use the [BoxGroup("Group Name")] attribute to organize your fields, making complex scripts easier to navigate and understand.

BoxGroup Example

Colorize

Colorize highlights fields in the Inspector with a background color. Use [Colorize("colorNameOrHex")] to quickly draw attention to important fields or visually categorize them. Supports color names like "red", "green", or hex codes.

Colorize Example

ColorPreview

ColorPreview displays a color swatch next to color fields in the Inspector. Use [ColorPreview] to instantly see the color value, making it easier to pick and compare colors visually.

ColorPreview Example

DebugOnly

DebugOnly disables fields in the Inspector, making them read-only. Use [DebugOnly] to prevent accidental changes during play mode or debugging, ensuring critical values remain unchanged.

DebugOnly Example

DropDown

DropDown turns a string field into a dropdown menu in the Inspector. Use [Dropdown("optionsFieldName")] to select from predefined options, reducing errors and speeding up data entry.

DropDown Example

EditorOnly

EditorOnly shows fields only in the Unity Editor and hides them during play mode. Use [EditorOnly] for fields that are only relevant during editing, keeping your Inspector clean during runtime.

EditorOnly Example

Foldout

Foldout groups fields under a collapsible header in the Inspector. Use [Foldout("Group Name")] to organize fields and reduce clutter, making large scripts easier to manage.

Foldout Example

HorozontalGroup

HorizontalGroup arranges multiple fields on the same line in the Inspector. Use [HorizontalGroup] to save space and group related fields together for a more compact layout.

HorizontalGroup Example

IfNullWarning

IfNullWarning displays a warning message in the Inspector if a field is left empty or null. Use [IfNullWarning("Message")] to remind yourself or your team to assign important references.

IfNullWarning Example

Link

Link creates a clickable link in the Inspector. Use [Link("url", "Display Text")] to quickly access documentation, web pages, or Unity menu items directly from your scripts.

Link Example

QuickButton

QuickButton adds a button to the Inspector that calls a method when clicked. Use [QuickButton("Button Name")] above a method to quickly trigger actions for testing or debugging.

QuickButton Example

RangeWithSteps

RangeWithSteps creates a slider in the Inspector with custom step increments. Use [RangeWithSteps(min, max, step)] to precisely control numeric values and prevent invalid input.

RangeWithSteps Example

SceneName

SceneName turns a string field into a dropdown of all scenes in your build settings. Use [SceneName] to avoid typos and ensure you always reference valid scene names.

SceneName Example

ShowCondition

ShowCondition (ShowState) displays a field only if a specified boolean field is true. Use [ShowState("boolFieldName")] to conditionally show fields in the Inspector based on other values.

ShowCondition Example

ShowWhenEnum

ShowWhenEnum (ShowWhenEnumIs) displays a field only when an enum field matches a specific value. Use [ShowWhenEnumIs("enumFieldName", EnumValue)] to show fields conditionally based on enum selection.

ShowWhenEnum Example

Warning

Warning displays a custom warning, info, or error message above a field in the Inspector. Use [Warning("Message", CustomMessageType.Warning)] to communicate important information to users of your scripts.

Warning Example