Organized Shader GUI

This GUI for Unity shaders provides a material inspector with automated shader properties grouping.

Features:

  • Automatically organize ungrouped material properties by their underlying type (Eg. Textures, Ranges, Floats, etc.)
  • Group properties together that follow the convetion [Group GroupName].
  • Search for properties
  • Display enabled passes.
  • “Edit Shader” button that also works with Amplify Shader Editor.

Really useful for Node-based or AI-generated shaders that have a lot of properties exposed.

Adding it to your shaders

The name of the Shader GUI is “KrisDevelopment.OrganizedShaderGUI”. Placing this string in the Custom Shader GUI field of Amplify or as CustomEditor in your HLSL code will draw the shaders with it.

HLSL Example:

Amplify Example:

Shader Graph Example:

Custom grouping

Groups are defined directly in the property’s public name. For example, a property named [Group World-Blend-Options] "World blend enabled" will appear as part of a new World-Blend-Options group. Supports only one word for the group name, deeming hyphens necessary if the words are compound.

HLSL example with adding properties to a Base-Properties group:

The same approach can be applied for all types of shader tech, that expose the display name.

Search

This Unity shaders GUI also supports searching for properties. Here’s an example:

Leave a Reply