/ConfigurableShaders

Showing off the power of shader properties in Unity

Primary LanguageShaderLabMIT LicenseMIT

Configurable Unity Shaders

Configurable stencil shader inspector screenshot

Access otherwise hidden shader features to understand them

openupm Unity 5.6 or later Built-In Render Pipeline

Don't repeat yourself by writing the same shaders over and over again with little variation. You can expose a lot of different shader settings through attributes! Configurable Shaders does three main things:

  1. Provide unlit and lit shaders for Opaque, Cutout and Transparent RenderTypes with a lot of configuration.
  2. Provide new useful Material Property Drawers and Debug Shaders
  3. Document the hidden features of shaders, that are not that apparent from the Unity Docs.

Unity Thread

Installation

Simple Download

Latest Unity Packages

Unity Package Manager (UPM)

You will need to have git installed and set in your system PATH.

Find Packages/manifest.json in your project and add the following:

{
  "dependencies": {
    "com.supyrb.configurableshaders": "https://github.com/supyrb/ConfigurableShaders.git#0.7.1",
    "...": "..."
  }
}

OpenUPM

Install the package with OpenUPM through the commandline

# Install openupm-cli
$ npm install -g openupm-cli

# Enter your unity project folder
$ cd YOUR_UNITY_PROJECT_FOLDER

# Add package to your project
$ openupm add com.supyrb.configurableshaders

Wiki (Home)

Additional Support Notes

  • This project is for Unity's Built-In Render Pipeline, and not meant for usage in the Universal Render Pipeline (URP) or the High Definition Render Pipeline (HDRP)
  • Alpha 2 Coverage is supported in the Unlit Cutout Shader (More Information)
  • Easily Recreate Diablo BlendAdd by setting Blend to One OneMinusSrcAlpha (More Information)
  • Custom Material PropertyDrawers
  • Single Pass Stereo Rendering for VR
  • Shadows are also configured with the settings of the shader (which is great!)

Examples

Name Example
Overview Scene Overview Scene Screenshot
World Normal Shader WorldNormalShader
Depth01 Shader Depth01Shader
Standard Material Properties Depth01Shader
Custom Property Drawers Custom Material Property Drawers

Contribute

Let's make something great together!

  • If you find a problem, either create a PR or file an issue
  • Post your thoughts in the Unity Forum Thread
  • To get in touch send us a tweet
  • Support Supyrb by playing our games

Helping Hands & Contributors

License

Made by 💥Supyrb