Shader Wizard - the CG Shader Generator!
https://www.assetstore.unity3d.com/#/content/4549
More than 300 copies sold!
NEW VERSION 2.1 IS NOW AVAILABLE! Featuring…
- 28 NEW MultiTexturing shader functions
- Works with 2 to 16 texture layers
- Combine layers using Photoshop-style blend functions
- Can composite up to 16 layers in a single shader (texture units permitting)
- Support for ShaderModel 2 and 3 (3 is only to allow bigger shaders)
- WebPlayer-> NEW simple demo showing MultiTexture blend modes between two textures
- Shaders include animatable AlphaMask and AlphaFade
- Familiar Photoshop blends such as Overlay, Soft Light, Color Dodge, Linear Burn, etc
- All optimized for mobile performance - fastest/smallest data formats, efficient minimal shader code and no extraneous stuff you don’t need!
Stop writing shaders by hand!
If you find that creating the shaders you need is time consuming, complicated, prone to errors and hard to learn, then Shader Wizard is here to help!
At still only $20, Shader Wizard is a very easy-to-use interface that can automatically generate working shader code and materials dynamically. You won’t need to write complicated shader code ever again! Simply choose one of 33 shader functions, combine it with one of 26 blend modes, choose your culling/testing/output options, hit the Generate button and you’re done. Fully working shaders and materials will be output to your project! Over 850 unique shader outputs are supported, not including different combinations of MultiTexture layer blends!
Shader Wizard writes the code for you! ![]()
New simple multi-texturing demo added:
NB: ShaderWizard currently does not support lighting/shadows/bump/displacement/cube mapping.
Who needs this?
- Anyone who doesn’t know how to create custom shaders and doesn’t want to learn Shader Lab syntax or CG programming
- Anyone who doesn’t like programming in CG or working with Shader Lab
- Anyone who can’t remember all the proper syntax required for custom shaders and who have to keep referencing documentation
- Anyone who doesn’t know how to make efficient shaders and are plagued with syntax and formatting headaches
- Advanced developers who want a fast easy way to create templates for custom shaders
- Developers of 2D games who need lean 2D-focussed shader output that works well on mobile and desktop
- Developers of 3D games or GUIs/HUDs who need solid useful shaders that aren’t super advanced
- Anyone struggling with the time-consuming, difficult learning curve of creating your own shaders
- Anyone who feels daunted by the learning curve or complexity of visual shader editors/programming
- Artists who want to be able to play around with lots of shader variations without doing lots of programming
- Artists familiar with Photoshop blend modes who want to use similar blends in their projects
Major Benefits
- Save time by generating a new shader/material in seconds
- Save time generating batches of shaders in seconds/minutes (100’s or 1000’s per minute!)
- No need to figure out how to make the shader work, just choose textures and go
- Easy to use interface saves you a tonne of time - focus on artistic choices instead of figuring out code
- Avoid having to write complicated shader code by hand
- Create bug-free shaders without the headaches
- Removes the pain and time needed to learn how shaders work or how to write them
- Frees you from having to constantly cross-reference shader syntax/documentation
- Generate shaders not provided in Unity by default
- Create the kind of shaders needed in 2D games easily, and useful for 3D too!
- Great for compositing multiple photoshop-style layers in a single shader (up to 16 layers!)
Over 850 Unique Shaders!
Think of Shader Wizard as a shader package containing over 850 unique shaders for 2D and 3D games! Instead of storing every possible shader (and importing them, which takes time in Unity), Shader Wizard instead lets you select the type of shader you want and generates it dynamically - kind of like extracting them from a procedural archive. 33 functions each with 26 blend modes produces 850 different ways to modify pixels - 850 actual different outputs. Combine this with Z-testing, alpha testing, culling, masking etc and you can choose from thousands of unique shaders! But that’s not all, with 2 to 16 MultiTexture layers and any combination of 28 layer merges, you’re looking at literally millions of unique shader outputs!
33 Shader Functions
Shader Wizard currently includes 33 shader functions (28 new in version 2!) Each function is a way of processing inputs such as colors and textures, combining them and outputting them to the blender ready for blending with the background in a multitude of useful blend modes. At present Shader Wizard includes the following shader functions, with many more advanced and useful functionalities on the way:
- Color (input a fixed color only and output it)
- Vertex Colors (input vertex colors only, interpolate/gouraud shade and output them)
- Texture (input a single texture, filter and output it)
- Texture + Color (combination of Texture multipied by a fixed color)
- Texture + Vertex Colors (combination of Texture multiplied by interpolated vertex colors)
And these MultiTexturing shaders can be used in unlimited combinations based on the number of texture layers (up to 16, texture units permitting - ShaderWizard now supports Shader Model 2 or 3 output to support larger shaders). For example a 4-texture shader could Overlay the second texture, Screen a third, and Subtract a fourth. MultiTexture shader functions are:
- MultiTexture AlphaBlend (Photoshop
Normalblend between 2 textures) - MultiTexture AlphaBlendAdd (2 textures additively AlphaBlended together)
- MultiTexture AlphaBlendSubtract (2 textures subtractively AlphaBlended together)
- MultiTexture Add (Photoshop
Additive blend between 2 textures) - MultiTexture AddSoft (2 textures softly added together)
- MultiTexture Subtract (Photoshop
Subtractive blend between 2 textures) - MultiTexture SubtractSoft (2 textures subtracted softly)
- MultiTexture Multiply (Photoshop
Multiplyblend between 2 textures) - MultiTexture MultiplyDouble (2 textures multiplied together twice)
- MultiTexture Min (Photoshop
Darkenblend extracting the lowest values from 2 textures) - MultiTexture Max (Photoshop
Lightenblend extracting the highest values from 2 textures) - MultiTexture Screen (Photoshop
Screenblend between 2 textures) - MultiTexture AlphaMask (Uses animatable-threshold alpha testing to cross-fade 2 textures based on Alpha)
- MultiTexture AlphaFade (As AlphaMask but smoothly adjusts actual Alpha values rather than a hard cutoff)
- MultiTexture Difference (Photoshop
Differenceblend between 2 textures) - MultiTexture Negative (Photoshop
Negativeblend between 2 textures) - MultiTexture Exclusion (Photoshop
Exclusionblend between 2 textures) - MultiTexture Overlay (Photoshop
Overlayblend between 2 textures) - MultiTexture HardLight (Photoshop
Hard Lightblend between 2 textures) - MultiTexture SoftLight (Photoshop
Soft Lightblend between 2 textures) - MultiTexture ColorDodge (Photoshop
Color Dodgeblend between 2 textures) - MultiTexture LinearDodge (Photoshop
Linear Dodgeblend between 2 texures) - MultiTexture ColorBurn (Photoshop
Color Burnblend between 2 textures) - MultiTexture LinearBurn (Photoshop
Linear Burnblend between 2 textures) - MultiTexture VividLight (Photoshop
Vivid Lightblend between 2 textures) - MultiTexture LinearLight (Photoshop
Linear Lightblend between 2 textures) - MultiTexture PinLight (Photoshop
Pin Lightblend between 2 textures)
(future versions will include more Photoshop-style blends such as Color, Hue, Luminosity, HardMix etc. MultiTexture shaders currently do not provide an Opacity adjustment per layer - this would entail alphablending every layer on top of each other, a future improvement).
26 Useful Blend Modes
Shader Wizard currently features 26 ways to blend the output of every function (listed above) with the existing background pixels. That means for example that if you are using the Texture + Color function, you can output the combined result of the Texture multiplied by a fixed color and blend it with the background in 26 different ways. So effectively you have a Texture+Color shader which does alphablending, a Texture+Color shader that does soft additive blending, a Texture+Color shader that blends with a Multiply operation, a Texture+Color shader which does alphablending plus addition based on the destination alpha value, etc… all these interesting combinations of blend modes with processing functions adds up to 850 unique ways to render. This applies to MultiTexture shader functions also - once all layers are combined with Photoshop-style merges, the end result can be blended with the background in 26 ways. (Hint: Use AlphaBlend blend mode as the final step of a MultiTexture shader in order to implement a Photoshop-style opacity adjustment to the final output).Blend modes include:
- Solid (replaces destination pixel)
- Solid + Test (replaces destination pixel if alpha test passes)
- Alpha Blend (alphablends with destination pixel)
- Alpha Blend + Test (alphablends with destination pixel if alpha test passes)
- Alpha Blend Add (alphablends combined with an additive blend)
- Alpha Blend Add + Test (as above with alpha testing as well)
- Alpha Blend Subtract (alphablends combined with a subtractive blend)
- Alpha Blend Subtract + Test (as above with alpha testing as well)
- Add (additive blending)
- Add Soft (soft-additive blending, preserves color more)
- Subtract (subtract from destination pixel)
- Subtract Soft (softly subtracts from destination pixel, preserves color more)
- Subtract Reverse (subtracts destination pixel from shader output instead of the other way around)
- Multiply (multiplies output with destination pixel)
- Multiply Double (multiplies output with destination pixel twice and adds results together, ie Multiply 2x)
- Min (outputs the minimum of shader output and destination pixel values)
- Max (outputs the maximum of shader output and destination pixel values)
- Screen (performs a screen operation - like an inverse multiply that increase in brightness instead of decreases)
- Dest Alpha Blend (uses destination alpha value to alphablend - can be used for masking/drawing behind)
- Dest Alpha Blend Add (as above but also includes an additive blend)
- Dest Alpha Blend Subtract (as above but with a subtractive blend)
- Add to Dest Alpha (adds an alpha value to the destination alpha - use with color masking to output alpha channel only)
- Subtract from Dest Alpha (subtracts an alpha value from the destination alpha)
- Multiply Dest Alpha (multiplies an alpha value with the destination alpha)
- Dest Alpha Colorize Add (uses the destination alpha representing grayscale version of destination pixel to colorize using shader output additively)
- Dest Alpha Colorize Subtract (as above but with a subtractive blend)
More Features!
- Additional shader customizations: Set Culling Off/Front/Back, to set Z-Testing modes, to set Z-Write On/Off, to define a color channel Mask, setting an alpha test threshold (for
Testblend modes), setting up a default color and/or texture, and option of whether to allow Texture offset + tiling settings to be used. - Variety of generator options: Set the output folder, generate shaders in a hierarchy based on function/blend mode or combination thereof, automate or customize shader names, shader menu customization, automatic counters with offset, etc.
- Ability to generate every combination available for a given function, blend mode, or other option - can automatically generate millions of unique shaders and materials!
- Automatic shader and material generation: No need to code anything, all shaders are fully generated with the option to also generate a matching material. The material will auto-populate with the shader and any default color/texture. Batch generation can create 100’s of shaders per minute.
- Choose ShaderModel 2.0 or ShaderModel 3.0 output - longer shaders need 3.0, but only to support long programs - all shaders are still Shader Model 2. ShaderWizard also includes an option to exclude MultiTexture merge names from the automatically generated names if they get too long (e.g with 16 layers).
Modern, optimized shaders
Shader Wizard creates only Shader Model 2.0-compatible shaders, exclusively based on vertex and fragment shaders written in the CG shader programming language. Larger MultiTexture shaders may need Shader Model 3.0 to support their size only. ShaderWizard does not generate or include any fixed function pipeline support. The old fixed-function pipeline is being effectively dropped by Apple with the phasing out of 3G iPhones - requiring OpenGLES 2.0 to work on mobile devices. All shaders are optimized to use the most efficient possible number formats, sure to be as fast as possible on mobile and desktop. Generate super-lean efficient shaders in seconds.
Fully Customizable
Shader Wizard generates full Shader Lab/CG source-code which can be easily edited/modified/tweaked after being generated. Use the shaders as-is or as a quick way to generate templates you can modify to your own needs. Unity automatically takes care of compiling the shaders after they are generated, and after any changes you make to them, so you don’t need to worry about platform compatibility or being able to change things.
//Comments Included
Choose from several levels of commenting which includes none, header only, header + sections, every line, and verbose. Comments will be added to every line of the generated shader code if you want it! Comments even include all of the optional parameter values for major settings, allowing you to adjust the shaders at a glance without reverting to other documentation. And yet Shader Wizard can also generate completely clean comment-free code as well!
More to come!
Shader Wizard is still warming up with a long list of really useful and cool shader functions. These will include specialized shaders that are extremely useful for game development, shaders useful for 2D games in particular, shaders that make the most of alternative storage formats for optimizing mobile delivery, shaders that implement cool realtime special effects, shaders to combine and use multiple textures with exposed controls, and much more. Just $20 is all I ask for you to give it a try and enjoy the time-saving and pain-saving benefits of automated shader generation!
Check it out on the asset store today! https://www.assetstore.unity3d.com/#/content/4549 Only $20!






