book-openMarkup Shader GUI

Overview

Markup Shader GUI makes building shader inspectors as easy as writing HTML.

  • Tag-based syntax: Define layouts, controls, and conditional logic in a clean, readable way.

  • Faster workflow: Less boilerplate, more focus on your shader design.

  • Flexible & powerful: Supports multiple property types, multi-property lines, and conditional visibility.

  • Consistent look: Keep all your shader inspectors neat and uniform.

With Markup Shader GUI, creating complex shader inspectors is simple, structured, and intuitive.

Features

  • Foldout – Collapsible section

  • Separator – Horizontal divider

  • EnableIf – Conditional enable

  • ShowIf – Conditional visibility

  • MiniTexture – Compact texture field

  • MiniTextureWithColor – Texture and color in one line

  • FloatRange – Enhanced range slider

  • MultiLineVector – Vector in multiple lines

  • Label – Text label

  • Tooltip – Property tooltip

  • HelpBox – Message box

Deployment

  • Add a placeholder property at the end of Shader Properties, otherwise MarkupShaderGUI will not work properly.

  • Add CustomEditor "GraphicsCat.MarkupShaderGUI" at the end of the Shader.

Usage of Tags

Foldout

Syntax:

Example:

EnableIf

Syntax:

Supported comparison operators: Equal, Less, Greater, LessEqual, GreaterEqual.

Example:

ShowIf

Syntax:

Supported comparison operators: Equal, Less, Greater, LessEqual, GreaterEqual.

Example:

Separator

Syntax:

Example:

Label

Syntax:

Supported styles: Normal, Bold, Italic, BoldAndItalic

Example:

MiniTexture

Syntax:

Example:

MiniTextureWithColor

Syntax:

Example:

FloatRange

Syntax:

Example:

Note:

FloatRange provides a better slider. Unity's Range slider may disappear when the inspector width is small.

MultiLineVector

Syntax:

Example:

Tooltip

Syntax:

Use square brackets [ ] in the property display name to specify tooltip text.

Example:

HelpBox

Syntax:

Example:

Enjoying this package?

Last updated