Toony Colors Pro 2

Toony Colors Pro 2
Main Documentation
v2.9.17 - April 2025 (See changelog)
© 2023 Jean Moreno
jean.moreno.public+unity@gmail.com


Contents
(Top)

Contents

   

Welcome

Thank you for your interest in Toony Colors Pro 2!

This is the main documentation.
Other specific documents are available:


Toony Colors Pro 2 (abbreviated TCP2) is a collection of shaders and tools to help you give a stylized look to your Unity game or application.

There are currently two base shaders to choose from:

Advanced users will want to take a look at the Shader Generator 2 to generate their own shaders, adding more features and allowing further customization.
The Shader Generator 2 is the most complex and powerful tool included with TCP2: if you ever feel too constrained or limited by the default shaders, then this is the way to go!

Other tools are provided to help within your stylized pipeline: Shading Ramp Texture Editor, Smoothed Normals Utility...

 
Here are some examples of styles that you can achieve with Toony Colors Pro 2:

   

Upgrade Notes

   

Version 2.9.0

   

Quick Start

 
The easiest way to get started is to assign either shader to a material:

Toony Colors Pro 2 / Hybrid Shader 2 for full control over the stylized look
Toony Colors Pro 2 / Standard PBS for using a PBS pipeline with limited stylization (built-in render pipeline only)

...and start tweaking the values, that's it!


   

Hybrid or Physically-Based?

 
Choosing between the two workflows might not be as easy as it seems.

Physically-Based Shaders have been created to ease up artists' workflows: by setting up a material once, it is supposed to look good in any lighting and environment conditions by calculating a lot of light interactions automatically.
The TCP2 Standard PBS shader was built on top of Unity's Standard shader, thus it inherits those automatic calculations, and some of the constraints that come with it, while still allowing some degree of stylization on top of it.

Depending on your art style however, you might want to not have any constraints at all. In such cases, the Hybrid Shader 2 should be preferred.

Here is a pros/cons list that can help choosing between either workflow:

Hybrid Shader 2 Standard PBS
PROS CONS PROS CONS
More control: you can precisely tweak all values to get the exact look wanted Longer material setup: more control means more parameters to adjust! Easier material setup similar to Unity's Standard shader, with additional stylization options Less stylization options: features are unified and you can't selectively enable or disable one
More Stylization: enable the features you need (specular, rim light, etc.) and tweak them however you want Less consistency: you may have to readjust material parameters so that they fit in each environment Works in all lighting settings: no need to do further tweaks to materials once they're properly configured Limited value ranges: you can't go too much outside the “physical” values and get extreme results (that's actually the whole point of PBS!)
Better Performance: that depends on the number of features enabled, but generally speaking the computation is less intense than a PBS shader Automatic mobile version: the best shader optimizations are loaded internally depending on the target platform Higher Cost: the Standard shader generally requires more GPU power than the Hybrid one
Shader Generator: more features to choose from, and get the ultimate stripped-down shader with just the code you need Stylization in 1 click: the shader will automatically inherit parameters already defined for a material using Unity's Standard shader

The TL;DR version:

   

Hybrid Shader 2

 
The Hybrid Shader 2 is the latest default shader included in TCP2, which works with both the Built-in and Universal Render Pipelines.
That means that the same shader file works with both pipelines, and thus your materials will automatically work if you change the render pipeline.

If you do change the render pipeline, you will have to manually reimport the “Toony Colors Pro/Shaders/Hybrid 2" directory for the shaders to be compiled and work for the current pipeline (right-click on the folder and click on Reimport).

This is because the shaders use a custom file format that will only compile the shader code relevant to the currently used pipeline.

You might still see differences when using a material with either pipelines, because they have some implementation differences in their architecture, for example:
- Point lights fall-off is calculated differently
- Shadow maps are calculated differently

   

Options Reference

Here is a reference of the available options with screenshots to quickly understand how they work.


   

Mobile Mode

The mobile mode will change the shader to make it faster for mobile devices, notably:

As such, some of the options in the material inspector will be disabled when mobile mode is enabled.

Note that high-end mobile devices should work fine without the mobile mode enabled.


   

Transparency

   

Rendering Mode

Defines whether the material should be opaque or semi-transparent.
If not opaque, the alpha value will control opacity, i.e. the main color alpha multiplied with the Albedo alpha, if any.
Opaque Alpha has no effect on opacity
Fade Alpha will control opacity of the full material
Transparent Alpha will control opacity of the diffuse parts, specular/reflections will still be fully visible to emulate physical semi-transparent materials (e.g. glass)

Example with specular, rim lighting, and alpha set at 0.3: (note: the difference is clearer in dark mode, see the button at the top-right hander corner)

Opaque

Fade

Transparent

Changing the rendering mode will:

   

Render Face

Defines which faces to render: front, back, both (Cull Back/Front/Off in ShaderLab).
This corresponds to the hardware face culling parameter.
Front Render the front faces, cull the back faces.
Back Render the back faces, cull the front faces. Rarely used.
Both Render both front and back faces.
Generally used with transparency or alpha clipping, so that the “interior” of a mesh can be seen; or with planar meshes (e.g. a flag).

The Hybrid Shader 2 automatically flips the normals for correct lighting calculation on the back faces when they are visible!

   

Depth Write

Toggles depth buffer writing (ZWrite On/Off in ShaderLab).
Generally disabled when using transparency to avoid sorting issues for semi-transparent pixels.
It does work with alpha clipping though, hence why alpha clipping is generally used to draw vegetation as the grass, leaves, etc. need proper sorting.

Depth Writing can also be important for some post-processing effects (e.g. Depth of Field).

   

Alpha Clipping

Toggles binary transparency at the pixel level: a pixel can either be opaque or fully invisible, based on the alpha value and a threshold.
Also knows as alpha testing, or cutout shaders in Unity.

Alpha Clipping


   

Base

   

Color

The main color, that will be multiplied with the Albedo texture, if any.

   

Albedo

The main texture. Although it's named “albedo”, the Hybrid Shader 2 is not a physically-based one, thus it doesn't expect textures that are only pure albedo in the physical sense of the term.

   

Highlight Color

This is an additional color for the lit parts of the material only, based on the ramp shading settings.

   

Shadow Color

This is an additional color for the unlit parts of the material only (including cast shadows), based on the ramp shading settings.
This is an easy way to change the tint of the shadowed parts, as commonly seen in 2D animation for example.

   

Shadow Albedo Texture

This is an optional texture that will be used in place of the main albedo one for the unlit parts of the material.
The shadow color is still applied on top of it.

There are multiple workflows possible with the Shadow Albedo Texture, notably:
- Use a shadow albedo texture that only changes the hues of the main texture, or hides some details, and use the shadow color to handle the luminosity
- Use a white shadow color, and thus the shadow albedo texture will contain the final color for shadowed parts of the material

Main Color

Highlight Color

Shadow Color

Shadow Albedo Texture


   

Ramp Shading

 
The Ramp Shading defines how the separation between lit and unlit areas will be handled visually.
The Hybrid Shader 2 provides multiple options for the Ramp Type, to achieve different kind of styles:

   

Ramp Type

Default Two parameters will define the ramp shading:
- Threshold will move the line between lit and unlit parts.
- Smoothing will vary blurring on that line.
Crisp Same as Default, without the “Smoothing” parameter.
- This can be thought as the Default type, with a smoothing of 0, but with additional calculation to make sure the line is always anti-aliased.
Bands Same as Default, but the gradient between the min and max value is quantized, visually resulting in clearly defined bands. The smoothing between each band can be adjusted.
Bands Crisp Same as Bands, without the “Bands Smoothing” parameter, but having anti-aliased lines between each band instead.
Texture A 1D ramp texture will define the ramp shading.
- This settings gives the most flexibility. If using a ramp generated with the Ramp Generator, you can even tweak the gradient in real time.
- You can use RGB colors in the texture.
- Offset and Scale values can be thought as Threshold and Smoothing values applied to the texture's UVs.

Default Ramp

Crisp Ramp

Bands

Bands Crisp

Texture Ramp


   

Specular

 
Type
Defines the specular lighting model to use.
└─ GGX GGX is the main technique used in PBR rendering for specular. It is energy conserving, roughly meaning that as the roughness increases, the specular intensity decreases.
└─ Stylized Stylized allows you to directly control the size and smoothing of the specular area.
└─ Crisp Crisp is the same as stylized, with a smoothing of 0 but with anti-aliasing applied.
Color A color multiplied with the specular area, to tint it or change its intensity.
Specular Map Enables the use of a specular map: with GGX, this will control the Roughness, whereas for Stylized/Crisp this will control the Size.

Specular GGX
 

Specular GGX
with map

Specular Stylized
 

Specular Stylized
with map

Specular Crisp
 

Specular Crisp
with map


   

Normal Mapping

 
Toggles tangent-space normal mapping.
Normal Map The normal map texture in tangent space (the classic blue-ish looking normal maps).
Scale Controls the strength of the normal map, also allowing you to reverse it by using negative values.

Checker
normal map

Scale at −1
The normals appear reversed

Scale at 0.25
 

Normal map with
specular and rim lighting


   

Emission

 
Toggles emission, which essentially represents colors not affected by lighting on top of everything else.
Texture Channel Enables the emission texture and selects which channel to use for it.
Color The emission color, multiplied by the emission texture if any.

Yellow Emission Color

Emission with texture mask

Emission from RGB texture


   

Rim Lighting

 
Adds a fake rim light around the model, based on the dot vector between its normals and the view direction.
This is an easy way to emphasize the silhouette of objects.
Color The color of the rim lighting effect, which also controls its strength since the effect is additive (i.e. black color = invisible rim lighting).
Min The minimum value of the view-based threshold.
Max The maximum value of the view-based threshold.
Light-based Mask Will add one rim effect per light affecting the material, and masked based on the ramp shading options.

Default Rim Lighting

Min 0.5 / Max 1.0

Light-based Mask

Min 0.5 / Max 1.0

Light-based Mask
with an orange point light
Min 0.5 / Max 1.0

Close min/max values will
result in a crisp looking rim
Min 0.7 / Max 0.75

Inverting the values will
make an inner glow effect
Min 0.65 / Max 0.0


   

MatCap

 
Toggles matcap shading on top of the regular shading.
“MatCap” is a technique that uses a single small texture to define a view-dependent shading model: for each pixel on the material, its view-space normal will define where to sample the provided matcap texture.
It is a very cheap and effective technique to add some reflectivity to a material.
The word is an abbreviation for “Material Capture”.
MatCap Blending How the MatCap colors will be blended with the rest: additive will add the colors, replace will replace the albedo color entirely.
Texture The MatCap texture. Some are included in the Textures/MatCap folder.
Color An HDR color multiplied with the MatCap colors, that can also increase its brightness if set to values over 1.0.
Enable Mask An HDR color multiplied with the MatCap colors, that can also increase its brightness if set to values over 1.0.
└─ Texture Channel An HDR color multiplied with the MatCap colors, that can also increase its brightness if set to values over 1.0.

MatCap
Additive

MatCap
Additive with Mask

MatCap
Replace

MatCap
Replace with Mask

MatCap applied
to another mesh


   

Global Illumination

 
Provides parameters to control how global illumination affects the material.

There are two main sources for global illumination:
Indirect Diffuse Also called ambient or environment lighting, physically corresponds to light bouncing around surfaces and thus providing indirect lighting.
In Unity, this is generally provided by lightmaps for static objects, and light probes for dynamic/moving objects.
Indirect Specular Corresponds to the reflections from the environment around an object.
In Unity, this is generally provided by reflection probes.

   

Indirect Diffuse

 
Strength
How much should indirect diffuse affect the material. Set to 0 to disable indirect diffuse entirely.
Single Indirect Color Use the view vector instead of the normals to sample the indirect diffuse/ambient color, so that it is the same for the whole material.

The Single Indirect Color option can help to maintain a flat appearance on objects when using Skybox or Gradient as the Environment Lighting Source in the Lighting Settings.
It has no effect when using a single color as the environment lighting source.

Indirect diffuse
Strength set to 1

Indirect diffuse
Strength set to 0

Indirect diffuse set to 0
with a black shadow color

Env. Lighting set to Skybox
Regular

Env. Lighting set to Skybox
Single Indirect Color

   

Indirect Specular

 
Color
A color multiplied with the indirect specular colors, which can also be used to decrease its intensity when using values towards black.
Smoothness Defines how smooth the surface is, and thus how clear should the reflections appear: the lower the value, the blurrier reflections will look.
Reflection Map Toggles a smoothness map, which will multiply the smoothness value based on the selected texture and relevant color channel.
Fresnel Reflections Toggles Fresnel reflections, meaning that the edges of the object will be more reflective than its center, based on the view.
This is a natural effect in the real world, but the calculation used here is not physically accurate. It is based on the same calculations done for rim lighting, and you can tweak the min/max values.
└─ Fresnel Min The minimum value of the view-based threshold, similar to the rim lighting parameters.
└─ Fresnel Max The maximum value of the view-based threshold, similar to the rim lighting parameters.

Indirect Specular
Smoothness set to 1
 

Indirect Specular
with Reflection Map
 

Indirect Specular
with Fresnel Reflections
 

Indirect Specular
with Fresnel Reflections
and Reflection Map

   

Occlusion

 
The occlusion texture is meant to control the small shadowing caused by a model onto itself.
This can be thought as a mask for the global illumination (thus it affects indirect diffuse and indirect specular).
Most DCC/3D authoring softwares provide a way to generate an occlusion map, preferably from a high-resolution 3D model.
Strength Defines the strength of the occlusion. 0 is effectively the same as turning occlusion off.
Texture The occlusion texture.
Texture Channel Defines which color channel to use as the occlusion map. Also allows using the albedo alpha channel as the occlusion source.

Occlusion Map
applied to
indirect diffuse

Occlusion Map
applied to
indirect specular

Occlusion Map
applied to both indirect
diffuse and specular


   

Outline

 
Toggles rendering an outline for the material.

The technique used is the classic “inverted hull” outline, which is based on rendering the object in an additional shader pass with front-face culling and then rendering the object regularly on top of it.

Since this is merely an illusion rather than a screen-space outline, some artifacts can show depending on the cases.
One common artifact is the outline mesh appearing broken when using hard edge shading. TCP2 provides the Smoothed Normals Utility to solve that particular problem.
Color The main color of the outline, which will be multiplied with the rest.
Texture Toggles sampling the albedo texture for the outline color:
- Vertex Shader: will sample the texture at the vertex level, faster but loses a lot of precision (dependending on the vertex count)
- Pixel Shader: will sample the texture for each pixel, which can show all the texture's details depending on the Texture LOD value.
└─ Texture LOD Defines the mip level at which to sample the texture. Useful if you want the outline color to vaguely look like the albedo texture without showing all its details.
Width Defines the base size of the outline.
Pixel Size Defines how the outline size should behave in screen-space:
- Disabled: don't apply any correction
- Constant: the outline will always have the defined width in pixels on the screen
- Minimum: the outline will have a minimum pixel size on screen. This ensures that it will always encompass the object even when viewed from far away
See the video below for a visual example.
- Min Max: the outline will have a minimum and maximum pixel size on screen
Outline Normals Source Defines which data to use as normals when expanding the outline mesh.
Should be set according to the settings used in the Smoothed Normals Utility.
└─ UV Data Type Defines how the normal data is encoded when using an UV channel as the normals source.
Should be set according to the settings used in the Smoothed Normals Utility.
Lighting Enables lighting on the outline:
- Main Directional Light: outline will be lit by the main directional light and the indirect diffuse from global illumination
- All Lights: outline will be lit by all real-time lights and the indirect diffuse (Universal Render Pipeline only)
- Indirect Only: the outline will only receive lighting from indirect diffuse
└─ Direct Strength Defines the intensity from direct lighting.
└─ Indirect Strength Defines the intensity from indirect lighting (ambient/indirect diffuse from global illumination).

Because the outline is an illusion using front-face culling in another shader pass, the lighting received might not look like what you would expect from a 2D drawing.

Simple black outline
 

Vertex Texture enabled
 

Pixel Texture enabled
 

Lighting enabled with
Main Directional Light

   

Pixel Size examples:

Same comparison without the video artifacts


   

Options

 
Receive Shadows
Defines whether this material will receive shadows from shadow maps or not.
Note that this option also exists on the Renderer component.
Render Queue Defines when to render this material. See Unity's documentation for more information about the render queue.
Enable GPU Instancing As its name implies, enables GPU instancing support.


   

Features Stripping

 
The Hybrid Shader 2 allows you to strip out certain parts of the code entirely, mainly to reduce the number of shader variants compiled in your builds, and also to hide in the user interface anything you know you won't use in your project.
Just select the “TCP2 Hybrid Shader 2" and/or “TCP2 Hybrid Shader 2 Outline” files, and this interface will show up:

You can uncheck any option here to entirely exclude it from the shader (make sure to hit “Apply” after your changes).
The statistics at the top will indicate how many variants the shader will compile into (the “currently used” number excludes any unused shader_feature keywords).

Reducing the number of variants can improve build times, file sizes, runtime memory usage, and loading times.

By default, Lightmap support is disabled because it dramatically reduces the number of shader variants (from ~400k to ~25k).
If you need lightmap support with the Hybrid Shader 2, you will have to enable it back here.

By default, DOTS Instancing (Entities Graphics) support is disabled, you need to enable it explicitly to get support for DOTS/Entities rendering.


   

Specific notes / Troubleshooting

   

1. Main texture and color variables

 
The main texture and color variables are named _BaseMap and _BaseColor as in URP, instead of being named _MainTex and _Color as it historically was the case for Unity shaders.
This means that C# APIs like material.mainTexture will not work properly when using Unity 2019.2 or lower (a fix was introduced for that in 2019.3+).

   

2. Outline in URP

 
The Universal Render Pipeline requires an additional step to render the outline, when enabled in the material, because URP - by design - won't render additional passes within a same shader file.

Simply edit the URP Renderer Asset that is linked to your main URP Asset:

I recommend setting the Event to "After Rendering Opaques", although other values might suit your situation better.
You can also easily change which objects will use an outline by using the Layer Mask setting and placing GameObjects in the appropriate layer(s).

   

Standard PBS Shader

 
The Standrad PBS shader is based on Unity's Standard shader, with additional stylization options.

The Standard Properties are the same that you will find on the Standard shader:

Please refer to the Unity manual for more information about the Standard Properties.

Toony Colors Pro 2 adds the following stylization properties:

   

Options Reference

Here is a reference of the available options with screenshots to quickly understand how they work.

All examples have two additional point lights (blue and orange) to better highlight how some settings affect each light.

   

Base Properties

   

Highlight/Shadow Color

 
Additional color tints for the lit and unlit parts of the material respectively.

Highlight Color
 

Shadow Color
 

Shadow Color
without additional lights

For historical reasons (read: I wasn't doing things properly years ago), you will notice that when additional lights are active, the shadow color will also affect lit parts of the model!

   

Ramp Style

 
The Ramp Shading defines how the separation between lit and unlit areas will be handled visually.
The Standard PBS shader uses a threshold/smoothing based ramp by default, or you can toggle the texture ramp option.
Disable Wrapped Lighting Disables light wrapping, i.e. light that encompass the whole model rather than stopping at a 90° angle between the light and normal vectors.
This setting exists for historical and backward compatibility reasons.
I recommend leaving it on and using the threshold setting to change how lights wraps around the model instead.
Use Ramp Texture Enables the texture ramp to calculate the ramp shading.

Sliders Ramp
 

Texture Ramp
 

Wrapped Lighting
Enabled

Wrapped Lighting
Disabled (recommended)

   

Main and Additional Lights Ramp Control

 
When not using a ramp texture, you have an additional setting to define a separate smoothing for the additional lights.
Threshold Defines the separation between shadows and highlights.
Main Light Smoothing Smoothing of the separation between shadows and highlights for the main directional light.
Other Lights Smoothing Smoothing of the separation between shadows and highlights for additional lights.

Main Light = 0.1
Additional Lights = 0.1

Main Light = 1.0
Additional Lights = 0.1

Main Light = 0.1
Additional Lights = 1.0

   

Stylization Options

   

Stylized Specular

 
Will add a smoothing value allowing to get a crisper specular term. You can also blend between the regular and the stylized specular to get an hybrid look.
Specular Smoothing Defines how crisp the specular highlights should look.
Specular Blend Blending value between the Standard and Stylized specular visuals.

Stylized Specular disabled

Stylized Specular enabled

Stylized Specular with 0.5 blending

   

Stylized Fresnel

 
Will add an enhanced Fresnel effect linked to lights around the model.
Fresnel Strength Defines how visible is the enhanced Fresnel effect (note that the strength is also dependent on the Smoothness of the material)
Fresnel Min/Max Defines the threshold values for the Fresnel effect (similar to the Rim effect)

Stylized Fresnel disabled

Stylized Fresnel enabled

   

Outline

 
Enables the additional shader pass to render an outline.
See the Hybrid Shader 2 outline section to learn more about the technique used and its caveats.

Black Outline
 

Blended Outline
with 50% opacity

Outline Color The main outline color.
Outline Width The outline size.
Textured Outline Toggles sampling the albedo texture for the outline color, in the vertex shader.
└─ Texture LOD Defines the mip level at which to sample the texture.
Constant Screen Size Scales the outline's width based on the distance from camera, so that it always appears at the same size on the screen.
Z Smooth Provides parameters to slightly change the Z position of the vertices to try and correct outline artifacts that could appear.
Blended Outline Enables blending for the outline pass, so that it can be blended with the scene. It might cause sorting issues though.
Outline Normals Defines which data to use as normals when expanding the outline mesh.
Should be set according to the settings used in the Smoothed Normals Utility.

   

Tools

   

Shader Generator 2

 
The Shader Generator 2 is the most complex and powerful tool included with TCP2.
It allows you to generate your own stylized shaders, using exactly the features you need.

It provides many more options than the Hybrid or Standard PBS shaders, and allows further customization (e.g. optimizing and re-arranging your data texture to not waste GPU memory, applying UV scrolling to any texture used, etc.).

There are a lot of features available, and its customization system using the Shader Properties is quite deep, so there is a dedicated documentation for it:
See the Shader Generator 2 Documentation.

You can also take a look at the tutorials page to see what it can achieve.

The Shader Generator 2 doesn't have feature parity with the old Shader Generator 1 yet, e.g. the PBS template is missing.
You can still use and read the Shader Generator 1 documentation here.


   

Smoothed Normals Utility

Hard edges break the
outline effect

Smoothed normals stored in UV2
(hard edge shading is preserved)

   

How it works

The outlining technique is based on the mesh normals. When a vertex has multiple normals (aka hard edge shading), it can break the outline as shown above.
The Smoothed Normals Utility will calculate the average normals (i.e. smooth normals for the whole mesh) for each vertex of your mesh, and assign them to an unused part of your mesh data (vertex colors, tangents, or other UV coordinates).

By enabling the corresponding option in the Outline Normals Source property in the material inspector of your TCP2 shader, the shader will take this data as the new normals to draw the outline.
This way you get a correctly outlined mesh with hard edge shading preserved, as pictured above.

   

Usage

 
Open the utility via the menu:

Tools > Toony Colors Pro 2 > Smoothed Normals Utility

In Unity, select:

The list of meshes ready to be processed should then appear in the Smoothed Normals Utility window.

Select the vertex data target to stored the smoothed normals:

If using UV data, you can select how to store the smoothed normals:

Using compressed types loses precision, but it can be handy to optimize storage.
For example, you could keep the regular texture coordinates in UV1.xy, and store smoothed normals in UV1.zw, and thus not need any extra TEXCOORD in the vertex data (or keep them free for other usages).

Click on Generate Smoothed Mesh to generate a copy of the mesh with smoothed normals in the selected mesh data.
The new mesh will automatically be assigned if you had MeshFilters or SkinnedMeshRenderers selected.

You will then have to select the correct option in the Outline Normals Source of the Material Inspector so that the shader knows where and how to interpret the outline normal data.

Smoothed Normals will only be stored in tangents for skinned meshes.
This is because normals need to be affected by bones, and in the 3 options available only tangents are affected by bones (vertex colors and UV data are not).
This means that smoothed normals can't work with normal map, anisotropic specular, or other features requiring tangent data on skinned meshes.

If a copy of the mesh has already been made, it will be overwritten with the new settings defined.
You can recognize the generated meshes with the [TCP2 Smoothed] suffix, and they are all stored in the 'Smoothed Meshes' folder by default.
You can customize the suffix in the tool.

   

Smoothing normals with other tools

 
You can also calculate the smooth normals directly in your DCC or another software.
Here is an example using Geometry Nodes in Blender, provided by one user:

Smoothed Normals in the Vertex Colors through Blender's Geometry Nodes

As long as the data is there, it doesn't matter from where the mesh has been processed.


   

Ramp Generator

 
The Ramp Generator allows you to create a ramp texture (to be used with the texture ramp feature) very easily from a gradient.
Simply edit the gradient and set a texture width size. The texture height will always be 4 pixels tall.

Ramp Generator

The Ramp Generator can also edit ramps generated with it, allowing you to edit the gradient and see the results in real-time on your models/materials.

You can edit a gradient ramp either by:

If your ramp is grayscale, then it is useless to set a width higher than 256, because an 8-bit image can only represent at most 256 shades of gray.

   

Render Pipelines Information

TCP2 supports the Built-in and Universal render pipelines.
Here are the supported shaders/tools for each pipeline:

   

Third-Party Plugins

TCP2 supports a few third-party plugins, using the Shader Generator 2:

You just have to enable the relevant options in the THIRD PARTY PLUGINS section of the Shader Generator 2.

When using either plugin with the Built-in render pipeline, make sure to also enable Add Shadow/Depth Pass in the OPTIONS for the shadow maps to work properly!

   

Contact

If you have questions, bug reports or suggestions please contact me by email at: jean.moreno.public+unity@gmail.com

I'll do my best to answer as quickly as possible.

formatted by Markdeep 1.04  
, modified by Jean Moreno