Markup 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?
Give it a quick rating or leave a short review on the Unity Asset Store.
Your feedback helps us improve and add even more features!
Last updated