**Toony Colors Pro 2** **Changelog** v2.9.16 - December 2024 © 2023 Jean Moreno jean.moreno.public+unity@gmail.com ================================================================================================================================ Changelog ========= ### 2.9.16 #### Fixed - [Hybrid Shader 2] (BIRP) Fixed Hybrid Shader 2 not compiling for the built-in render pipeline - [Hybrid Shader 2] (URP) Fixed Reflection Probes when using "Forward+" and probes blending ### 2.9.15 #### Added - [Hybrid Shader 2] (URP) Added support for "GPU Resident Drawer" - [Hybrid Shader 2] [Shader Generator 2] (URP) Added support for "Adaptive Probe Volumes" #### Modified - [Shader Generator 2] (URP) Renamed "DOTS Instancing" feature to "BRG Instancing" (for 'Batch Renderer Group') as it also enables support for GPU Resident Drawer - [Shader Generator 2] (URP) "Forward+" and "Depth Normals Pass" support is now enabled by default in Unity 6 #### Fixed - [Shader Generator 2] (URP) Fixed "DOTS Instancing" object and world matrices compilation errors ### 2.9.14 #### Fixed - Fixed compilation error when URP is not installed in the project (for real this time) ### 2.9.13 #### Fixed - Fixed compilation error when URP is not installed in the project ### 2.9.12 #### Added - [Shader Generator 2] Added an option to convert vertex colors to linear space - [Shader Generator 2] Added a menu option to update all selected shaders with the Shader Generator 2 (useful if you manually changed the template, or updated TCP2 and want to apply all latest fixes in your generated shaders) - URP version of the Material Layers demo scene #### Modified - Demo Scenes reorganization: each render pipeline-specific scene has been included in a corresponding package - Cat Demo Scene (BIRP): converted all shaders so that they use the Shader Generator 2 (they used the legacy SG1 previously) #### Fixed - Fixed "Planar Reflections" with Unity 6 (Built-in and URP) - "Planar Reflections" blurring size is now resolution-independent - [Shader Generator 2] Fixed console error when copying a shader that is at the root of the "Assets" folder - [Shader Generator 2] Only calculate contrast and/or noise modifiers once for Material Layers ### 2.9.11 #### Fixed - [Hybrid Shader 2] (URP) Fixed compilation error when using Outline with lighting while light layers are disabled - [Hybrid Shader 2] (URP) Fixed cascaded shadow map not working when using URP 10 or lower - [Hybrid Shader 2] [Shader Generator 2] (URP) Fixed view direction calculation when camera is orthographic which caused incorrect visuals for view-dependent features (e.g. specular reflections) - [Shader Generator 2] Fixed compilation error when "Terrain" shader is enabled and no layer has texcoord0 set as UV - [Shader Generator 2] Fixed compilation error when "Terrain" and "Lightmaps" are enabled, but lightmap isn't enabled in the current Scene ### 2.9.10 #### Fixed - [Shader Generator 2] Fixed error when updating a shader generated with a version prior to TCP2 2.9.7 - [Shader Generator 2] Fixed compilation errors when Vertex UV is used outside the XY channels as general data ### 2.9.9 #### Added - [Shader Generator 2] (URP) Added DOTS instancing support: enable it in the OPTIONS section of the FEATURES tab, and then enable "DOTS Instanced" on the properties you want in the SHADER PROPERTIES tab ### 2.9.8 #### Added - [Hybrid Shader 2] (URP)(BIRP) Added/fixed support for Realtime Global Illumination (Enlighten) for both render pipelines - [Shader Generator 2] (URP) Added support for Realtime Global Illumination (Enlighten) #### Fixed - [Shader Generator 2] Fixed Shader Generator 2 broken with URP template in last update ### 2.9.7 #### Added - [Shader Generator 2] Added the ability to change the default blending of "Material Layers", which use linear interpolation (lerp). Custom blending formulas are also possible, see the documentation. - [Hybrid Shader 2] Added DOTS instancing support for the "Hybrid Shader 2" (needs to be explicitly enabled in the shader inspector) #### Fixed - [Shader Generator 2] (URP) Fixed a specular bug with "Visible over shadows" option enabled, where specular could pop out when going out of an additional light's volume - [Shader Generator 2] Prevent NaNs on some platforms when using "Anisotropic Specular" feature - [Shader Generator 2] Code Injection: fixed parsing line breaks for the replacement blocks (multi-line replacements) - [Hybrid Shader 2] [Shader Generator 2] Fixed possible precision issues with specular on mobile or low-precision platforms ### 2.9.6 #### Fixed - [Shader Generator 2] Fixed "Vertex Displacement" in the shadow, outline and depth passes when "Make Optional" is enabled - [Shader Generator 2] Fixed compilation when using "Texture Blending" with normal map blending enabled - [Shader Generator 2] Fixed Light Layers support for additional lights - [Hybrid Shader 2] Fixed SSAO issues with URP 12+ - [Hybrid Shader 2] Fixed "Fade" transparency mode not affected by color or texture alpha - [Hybrid Shader 2] (URP) Fixed compilation error when using Forward+ with SSAO ### 2.9.5 #### Fixed - [Hybrid Shader 2] [Shader Generator 2] Fixed shadows on mobile when only using one cascade (and possibly fixed other shadow-related issues) - [Shader Generator 2] Fixed "Sample Normal Map First" option for BIRP and added it for URP - [Shader Generator 2] Added epsilon to "Blinn-Phong Specular" calculation to prevent NaN results - [Shader Generator 2] Fixed "Albedo HSV: Saturation Only" option not working - [Shader Generator 2] Fixed template issue when enabling Forward+ support - [Shader Generator 2] (URP) Fixed "Parallax Mapping" causing a compile error - [Shader Generator 2] Fixed issue where enabled GPU instanced properties in a layered property wouldn't actually be included (and cause a compile error) ### 2.9.4 #### Added - [Hybrid Shader 2] Added support for "Forward+ Renderer" (URP 14+) - [Hybrid Shader 2] Added support for "Rendering Debugger" modes (URP 14+) - [Hybrid Shader 2] Added support for "Rendering Layers" (URP 14+) _(note: the feature is broken for lights in Unity 2022.2.0 but works for decals)_ - [Shader Generator 2] (URP) Added options to support "Light Layers" (URP 12+), "Forward+ Renderer" & "Rendering Layers" (URP 14+) #### Fixed - [Hybrid Shader 2] Fixed compilation errors in URP 14 - [Shader Generator 2] (URP) Fixed compilation errors in URP 14 - Fixed glass material rendering queue in scene "Demo TCP2 Hybrid Shader" ### 2.9.3 #### Fixed - [Shader Generator 2] (BIRP) Fixed compilation errors related to TRANSFER_SHADOW (built-in render pipeline) - [Shader Generator 2] (URP) Fixed "Depth Normals Pass" (and related effects like SSAO) not working with terrain shaders - [Shader Generator 2] (URP) Fixed baked lighting not working with terrain shaders ### 2.9.2 #### Added - [Shader Generator 2] (URP) Added "Enable Decals" option to add support for decals in the shader (URP 12+) - [Shader Generator 2] (URP) Added "Enable Light Cookies" option to add support for light cookies in the shader (URP 12+) #### Fixed - [Hybrid Shader 2] Fixed compilation errors related to TRANSFER_SHADOW macro which could prevent builds on some platforms - [Hybrid Shader 2] Fixed issue with newer URP features not necessarily being taken into account - [Shader Generator 2] (URP) Fixed compilation error when enabling "Depth Normals Pass" - [Shader Generator 2] (URP) Fixed depth-based effects with an orthographic camera - [Shader Generator 2] Fixed compilation error when using texcoords in fragment shader for Material Layer properties only - [Shader Generator 2] Auto-detection of used Custom Material Properties in Custom Code, so that they are properly included in the generated shader - [Shader Generator 2] Fixed generated shader sometimes incorrectly identified as manually modified ### 2.9.1 #### Modified - [Shader Generator 2] Always serialize the current TCP2 version rather than the very first one the shader has been generated with. #### Fixed - [Standard PBS] Restored Outlines that were broken in the last update - [Standard PBS] Fixed Outline option not working in Unity 2021.2+ - [Standard PBS Demo] Restored Normal Map on Robot model for PBS Demo - [Shader Generator 2] (Default) Fixed "no tile" sampling when using the built-in render pipeline. ### 2.9.0 #### Added - [Hybrid Shader 2] Added the "Hybrid Shader 2", which changes the way the shader handles render pipelines internally. This will improve compatibility and maintainability with future URP versions, and allow easier shader variants stripping. You can also now entirely exclude features you don't use from the shader code, to reduce the total variants count, build filesize and runtime memory usage. Please [read the documentation to know more](+https://jeanmoreno.com/unity/toonycolorspro/doc/shader_generator_2#hybridshader2/featuresstripping). - **NOTE 1:** Your materials using the old "Hybrid Shader" will need to be updated, a script will propose to do that automatically when you update TCP2, or you can use the menu option in "Tools/Toony Colors Pro/Upgrade materials". - **NOTE 2:** Lightmap support is now disabled by default because it dramatically reduces the number of shader variants; select the shader file and toggle "Lightmap" in the options to enable it back. - [Hybrid Shader] Added support for URP 12 features: "Decals", "Light Layers", "Light Cookies" - [Shader Generator 2] (Default) (URP) Added options to enable LOD Crossfading for both render pipelines - [Shader Generator 2] (Default) (URP) Added procedural dithering pattern options when using "Dithered Transparency" #### Modified - Legacy "Desktop" and "Mobile" shaders have been removed. You can use the menu option "Tools/Toony Colors Pro/Upgrade materials/From Legacy Desktop-Mobile to Hybrid Shader 2" to upgrade your legacy materials to using the "Hybrid Shader 2" - Removed "TCP2_BuildShaderPreprocessor" script that was used to strip out Hybrid Shader variants ("Hybrid Shader 2" does a better job at stripping out of the box) - Minimum Unity version for TCP2 is now Unity 2019.4.12 #### Fixed - [Shader Generator 2] "Other Shader Property" references should now accept the same as the Base property with properties from Material Layers - [Shader Generator 2] Reloading a template will not clear the Shader Properties settings anymore - [Shader Generator 2] (Default) (URP) Fixed "Wind" and "Dissolve" features not working with the "Outline" pass - [Shader Generator 2] (Default) (URP) Fixed "Curved World 2020" not working for the "Outline" pass - [Shader Generator 2] (URP) Fixed console error about "PROP:Occlusion" when "Alpha Testing" was enabled - [TCP2_PlanarReflection] Fixed script complaining about the blur shader in a build even if blur is disabled - [TCP2_PlanarReflection] Made the blur shader reference explicit so that Unity knows to include it in builds ### 2.8.1 #### Fixed - [Shader Generator 2] (Default) (URP) Holes should now work in Terrain shaders - [Shader Generator 2] (Default) Fixed triplanar and no-tile texture sampling - [Shader Generator 2] (URP) Fixed reflection color not working with reflection probes - [Shader Generator 2] (Default) Prevent selecting invalid texture samplers (e.g. when they use triplanar or no-tile UVs) - [Shader Generator 2] (Default) (URP) Fixed some possible compilation errors when using Material Layers - Prevent possible asmdef conflict with "[Cartoon FX Remaster](+https://u3d.as/3bX)" ### 2.8.0 #### Added - [Shader Generator 2] Added ability to generate *Terrain-compatible shaders*, with the flexibility of the Shader Properties system (see documentation and tutorials) - [Shader Generator 2] Added option to use a "Custom Material Property" as the UV source for a "Material Property/Texture" (e.g. allowing gradient remapping effects) - [Shader Generator 2] Added ability to reuse samplers for texture properties (Unity 2019.4+) - [Shader Generator 2] Added "Transparency Dithering" option for the "Alpha Testing" feature with 4 included dithering pattern textures - [Shader Generator 2] Triplanar: added "Bump Scale" option when Normal Map is enabled - [Shader Generator 2] Triplanar: added "Ceiling Smoothness" shader property when using "Min Max Threshold" ceiling mode - [Shader Generator 2] Triplanar UV: added "Scale" field to easily change the order of magnitude when needed (e.g. to avoid using very small UV tiling values for Terrain textures) - [Shader Generator 2] Vertical Fog: added new options (space, make optional) #### Modified - [Shader Generator 2] (URP) Force normals normalization per-pixel for all platforms (was per-vertex on mobile previously). Use Code Injection if you really need to optimize things this much. - [Shader Generator 2] (Default) Using "Alpha Testing" now also works with "Outline" pass (but is unlikely to work nicely visually due to the outline technique used) - [Shader Generator 2] Generated shaders now use "shader_feature_local" and their "fragment/vertex" versions when relevant, if supported by the running Unity version (reduces global shader keyword count and compiled shader variants count) #### Fixed - [Hybrid Shader] [Shader Generator 2] (URP) Fixed shadow casting for point lights (URP 11+) - [Shader Generator 2] (Default) (URP) Rim effects correctly use triplanar normal maps if they exist - [Shader Generator 2] (Default) (URP) Fixed channels swizzle not taken into account when using "Triplanar" UV mapping on "Material Property/Texture" - [Shader Generator 2] (Default) Fixed normal map with triplanar UV when using "Sample Normal Map First" option - [Shader Generator 2] (Default) Fixed bug where dithered shadows wouldn't work - [Shader Generator 2] (Default) Fixed alpha clipping in depth pass when using "Alpha to Coverage" option - Restored Water shader and material example in the "Shader Generator 2" demo scene ### 2.7.3 #### Added - [Hybrid Shader] Added automatic stripping of shader variants at build time, based on if the project is using URP or not #### Fixed - [Shader Generator 2] Fixed material inspector UI when using Material Layers - [Shader Generator 2] Fixed UI issue with Material Layers tab - [Shader Generator 2] Fixed small UI issues ### 2.7.2 #### Added - [Shader Generator 2] Added "Progressive Sketch" option for "Sketch" stylization feature, inspired by the Tonal Art Map technique - [Shader Generator 2] Added "Maximum Pixel Size" option for "Outline" feature when using "Clip Space" mode - [Shader Generator 2] Added "Global Variable" option for Material Property implementations, so that they can be changed with scripts (using "Shader.SetGlobal*" methods) - [Hybrid Shader Outline] Added a "Min Max" pixel size option for outline #### Modified - Updated the "TCP2 Demo Shader Generator 2" scene shaders with the latest SG2 version - [Shader Generator 2] Changed "View Dir Ambient Sampling" label to "Single Indirect Color", so that it's the same as in the Hybrid Shader - [Shader Generator 2] Typing a single letter in a swizzle input will expand it if necessary (e.g. typing "A" in a texture swizzle will expand it to "AAA" for a color property instead of discarding it) - [Shader Generator 2] Now using a monospace font for "Custom Code" and Material Property "Variable" text fields - [Shader Generator 2] Added a lot of help buttons in the FEATURES tab #### Fixed - [Hybrid Shader Outline] Fixed outline size that was dependent on screen resolution: this is now only the case with pixel sizes options (constant, minimum, maximum) *NOTE: this may change the outline size of your existing materials using the Hybrid Shader Outline!* - [Shader Generator 2] Fixed outline size that was dependent on screen resolution when in clip space: this is now only the case with pixel sizes options (constant, minimum, maximum) - [Shader Generator 2] Fixed "Reflection Color" shader property only being applied when "Planar Reflections" was enabled - [Shader Generator 2] Fixed errors with "Code Injection" when the referenced injection file of a shader has been modified and the shader loaded again ### 2.7.1 #### Added - [Shader Generator 2] (URP) Added point lights shadow support (URP 11+) - [Shader Generator 2] "Sine Distortion" UV animation: added "Global" option to make the calculation global to the selected texcoord channel - [Hybrid Shader] (URP) Added point lights shadow support (URP 11+) - [Hybrid Shader] (Default) Added cast shadows support for additional point/spot/directional lights (built-in render pipeline) #### Modified - [Shader Generator 2] Removed LWRP template #### Fixed - [Hybrid Shader] Fixed "Fade" transparent mode - [Hybrid Shader] Fixed "Shadowmask" lightmap mode - [Hybrid Shader] Fixed compilation issue in shadow pass when compiling for certain platforms - [Shader Generator 2] Fixed global UV settings being applied multiple times with Custom Material Properties - [Shader Generator 2] Fixed compilation error when using a different texcoord channel for layered properties - [Shader Generator 2] Fixed some UV issues when using Custom Material Properties in layered properties - [Shader Generator 2] (Default) Fixed compilation error when a Custom Material Property is used for a hook in the Lighting function of a surface shader - [Shader Generator 2] (Default) Fixed worldPos and other sepcific data not being computed when they are only used in a "#if defined(UNITY_PASS_FORWARDBASE)" block - [Shader Generator 2] (URP) Fixed spotlight shadows (URP 10+) - [Shader Generator 2] (URP) Fixed "Shadowmask" lightmap mode (URP 10+) - [Shader Generator 2] (URP) Fixed depth texture sampling in URP for depth effects, depending on the clipping planes values - [Standard PBS] Fixed compilation issue on PlayStation platforms - [Standard PBS] Fixed a different compilation issue on Switch and Xbox platforms ### 2.7.0 #### Added - [Shader Generator 2] Added a new "[Material Layers](shader_generator_2#materiallayers)" system to the Shader Generator, allowing to add any number of layers in a single shader.
This can be used to make effects from simple texture blending to snow accumulation, procedural moss and more! Please read the [documentation about it](+https://jeanmoreno.com/unity/toonycolorspro/doc/shader_generator_2#materiallayers)! - Added "Material Layers" section in the documentation - Added "Demo TCP2 Material Layers" to show Material Layers examples - [Shader Generator 2] (Default) (URP) Added "Minimum Pixel Width" option for the "Outline" feature when "Clip Space" is selected (acts like the existing option in the "Hybrid Shader") - [Shader Generator 2] (Default) Added "Sample Normal Map first" option to make sure the normal map is sampled before using world normal elsewhere (e.g. for Material Layers) - Added texture "TCP2_SketchG_Hatches" for sketch effects #### Modified - [Shader Generator 2] The "Code Injection" system has been updated: - An injection file that is updated externally (i.e. in a text editor) will automatically be reloaded when going back in Unity - Replace blocks now need to have a name defined, and will be listed alongside other blocks - All blocks can now be easily disabled (e.g. using a single injection file for multiple shaders) - Planar Reflections script now allows changing the reflection Render Texture format #### Fixed - [Hybrid Shader] Fixed shader compilation errors when building for some platforms - [Shader Generator 2] (URP) Fixed "Dissolve" effect with the "Outline" pass in URP - [Shader Generator 2] (Default) (URP) "Triplanar" now works nicely with "Texture Blending" - [Shader Generator 2] (Default) Fixed wrong attenuation value when using Lightmaps with shadow masks in Mixed Lighting setups - Fixed the shadow color on materials in the "Demo TCP2 Hybrid Shader" scene - [Shader Generator 2] "Outline": Correctly perform screen aspect ratio correction when outlines are in Clip Space ### 2.6.4 #### Fixed - [Shader Generator 2] (URP) Fixed "Vertex Displacement" error when loading the URP template - [Shader Generator 2] Removed serialization debug log ### 2.6.3 #### Added - [Hybrid Shader] (Default) (URP) Added "Main Light affects Shadow Color" option to have the main light color affect the shadow color (enabled by default, this was the old behavior before v2.6.1) - [Hybrid Shader] (Default) (URP) Added "Golbal Illumination" material flags options in the material inspector UI - [Hybrid Shader] (Default) (URP) Added "Meta Pass" to allow baking lighting when using the Hybrid Shader - [Hybrid Shader] (URP) Added support for SSAO and Depth Normals pass - [Shader Generator 2] (URP) Added support for SSAO ("Enable SSAO" in the "OPTIONS" section) - [Shader Generator 2] (URP) Added support for the Depth Normals pass ("Enable Depth Normals Pass" in the "OPTIONS" section) - [Shader Generator 2] (Default) (URP) Added "Vertex Displacement" feature in the "SURFACE" section (should be easier to use than the existing "Vertex Position" Hook) - [Shader Generator 2] "Sine Distortion" UV animation: added ability to use another texture's parameters for the animation, to synchronize both textures - [Shader Generator 2] Added "Reflection Color" Shader Property when using "Planar Reflections" #### Modified - [Shader Generator 2] (Default) (URP) Exposed "Triplanar Parameters" in Shader Properties, and added "Triplanar Normal" hook - [Shader Generator 2] (Default) (URP) "Dissolve" effect now works in the "Outline" pass as well (but it will likely have artifacts) - [Shader Generator 2] Overwrite prompt will always be called when generating a new shader over an existing path, even if the "don't prompt" option is enabled #### Fixed - Fixed possible null reference error in TCP2_PlanarReflection script - Fixed UI issue in the "Hybrid Shader Demo" at 1080p resolution (text was cropped) - Fixed serialization issue for vectors for environments where decimals separation is a comma - [Hybrid Shader] (Default) (URP) Fixed cast shadows when using "Alpha Clipping" - [Shader Generator 2] (URP) Fixed "VertExmotion" support for URP - [Shader Generator 2] (URP) Fixed "Directional Ambient" on mobile builds for URP ### 2.6.2 #### Fixed - Fixed TCP2_PlanarReflection script compilation error in some Unity versions when URP isn't installed ### 2.6.1 #### Added - [Shader Generator 2] (Default) (URP) Added "Planar Reflections" option that works with the eponymous script - [Shader Generator 2] Added vertex "Local Position", "Local Normal" and "World Normal" implementations for the "Shader Properties" system - Planar Reflection script now has an option to blur the reflection texture #### Modified - [Shader Generator 2] Reorganized vertex-based implementations into their own sub-menu ("Shader Properties" system) - [Shader Generator 2] Disabled "Aura 2" third party support as it's not actually needed for compatibility - Planar Reflection script now works with URP - Improved UI readability for Material Inspectors: using orange labels for headers, better spacing after certain headers #### Fixed - [Hybrid Shader] Fixed main directional light color/intensity affecting unlit parts too when it shouldn't - [Hybrid Shader] Fixed Occlusion being applied twice for the built-in rendering pipeline - [Shader Generator 2] (Default) (URP) Fixed shadow casting when using "Curved World 2020" support - [Shader Generator 2] (URP) Fixed "Sine Distortion" UV animation in the shadow pass when used with "World Position" UVs - [Shader Generator 2] Copying a shader now copies "Code Injection" settings - [Shader Generator 2] Fixed minor issues with the undo/redo system ### 2.6.0 #### Added - [Shader Generator 2] (Default) (URP) Added Water Effects in the default templates: vertex-based waves animation & depth-based effect (color, foam, transparency) - [Shader Generator 2] (Default) (URP) Added "Auto Optional Transparency" feature: it will add a "Rendering Mode" option in the material inspector to select *opaque*, *fade* or *transparent mode* (as in the Hybrid Shader) - [Shader Generator 2] (Default) (URP) Added "Custom Time" option in the "Special Effects" section: this will override the built-in shader `_Time` value with a custom vector, controlable with scripts - [Shader Generator 2] (Default) (URP) Added support for "Curved World 2020" third party asset - [Shader Generator 2] Added "Sine Distortion" UV animation for "Material Property/Texture" properties: use this water-like animation for almost any texture in your shader! - "TCP2_PlanarReflection" script: added option to define a custom background color, instead of inheriting the one from the main camera - [Documentation] Added sections about the aforementioned new features #### Modified - [Shader Generator 2] (Default) N.V-based effect like Rim Lighting now looks a bit better (less visible vertices artefacts in some cases) #### Fixed - [Shader Generator 2] (Default) (URP) Wind: fixed Wind Texture being sampled twice - [Shader Generator 2] (Default) (URP) Fixed N.V (e.g. rim effects) calculation for back faces - [Shader Generator 2] Performance optimizations when parsing template conditions (which happens every time an option is changed) ### 2.5.4 #### Added - [Shader Generator 2] Added "Code Injection" tab: this is a new system allowing to insert arbitrary code at various points in the shader file, for even more control over the resulting file. See the [documentation](shader_generator_2#codeinjection) to learn more! #### Modified - [Hybrid Shader] Optimizations and readability #### Fixed - [Shader Generator 2] (URP) Fixed compilation error with 'vertexNormalInput' - [Shader Generator 2] Fixed "Vertex UV" implementation sampling - [Hybrid Shader] Shadow and depth passes now respect the culling mode set in the material inspector - [Hybrid Shader] Fixed fog calculations for mobile platforms - [Demo] Updated the Cat Demo URP shaders with the latest template version (fixes compatibility with latest URP, notably shadows and VR) ### 2.5.3 #### Added - "Animated Dissolve" example shader in the "Demo TCP2 ShaderGenerator 2" scene - Added a tutorial about the creation of the "Animated Dissolve" shader in the documentation - [Shader Generator 2] Added "Triplanar" UV option for "Material Property/Texture" properties: use triplanar mapping for almost any texture in your shader! #### Modified - [Shader Generator 2] Improved "Shader Properties" UI, notably for Unity 2019.3+ #### Fixed - "Hologram" demo shader is now in "Toony Colors Pro 2/Examples/SG2/Hologram" instead of the root of the shaders menu - [Shader Generator 2] (Default) (URP) Fixed compilation error where some features would miss variable declaration (e.g. Triplanar) ### 2.5.2 #### Added - Added back the "Cat Demo URP" package that wrongly disappeared, and removed the LWRP one - [Shader Generator 2] GPU Instancing options are now available in the OPTIONS section - [Shader Generator 2] (Default) (URP) Added "Apply Shadows before Ramp" feature #### Modified - [Shader Generator 2] Shader output is different and simplified: all variables for all passes will always be declared in an include block at the top now #### Fixed - [Hybrid Shader] Fixed compilation error for outline version when using UV2 as normals and textured outline - [Hybrid Shader] Fixed harmless GUI error when assigning Hybrid Shader Outline to a new material - [Hybrid Shader] Fixed [MainTexture] tag to identify _BaseMap as the main texture in the shader (Unity 2019.1+) - [Hybrid Shader Demo] Fixed UI issue when resolution isn't 720p - [Shader Generator 2] Fixed Shader Properties marked as "GPU Instanced" - [Shader Generator 2] "Silhouette Pass" now works with GPU Instancing - [Shader Generator 2] Fixed error when selecting an invalid shader in the "Current Shader" field - [Shader Generator 2] (URP) Fixed compilation errors with strict compilers (e.g. PS4) - [Shader Generator 2] (URP) Fixed "Affect Ambient" option for "Sketch" stylization feature - [Shader Generator 2] (URP) Fixed "View Dir Ambient Sampling" option - [Shader Generator 2] (URP) "SRP Batcher" option is removed and now always enabled, and it also fixes some compilation errors that could happen without it ### 2.5.1 #### Added - [Shader Generator 2] Check-boxes can now be toggled by clicking on their label #### Modified - [Hybrid Shader] Changed specular calculation for Stylized/Crisp types, so that it's visually more intuitive to change size/smoothness - [Documentation] Updated layout and added missing "Specular" section for "Hybrid Shader" #### Fixed - [Hybrid Shader] Added lightmap support for URP and Built-in - [Hybrid Shader] Reduced number of variants to compile when building when using the Outline version - [Shader Generator 2] Fixed placement of modules functions block after variables declaration; fixes "No Tile" option for textures and possibly other modules - [Shader Generator 2] (Default) (URP) Fixed "Unlit" ramp option that still needed a main directional light in the scene to work properly - [Shader Generator 2] (URP) Fixed compilation error when using "VertExmotion" option ### 2.5.0 #### Added - [TCP2 Hybrid Shader]: this is a new ubershader to replace the old Desktop/Mobile ones.
It adds a few options that were lacking, e.g. transparency, and is compatible with both the *Built-In* and *Universal render pipelines*.
Please read the [documentation](documentation#hybridshader) to know more! - Added new demo scene: "Demo TCP2 Hybrid Shader" - [Documentation] New [updated documentation](documentation) using the same format as the Shader Generator 2 documentation.
Some parts have been rewritten, and some have been added (e.g. Hybrid Shader). - [Smoothed Normals Utility] Updated the tool, now supporting "UV1", "UV3", "UV4" targets to store the normals, as well as storing them as "Full XYZ", "Compressed XY", "Compressed ZW" for UV targets. - [Shader Generator 2] (Default) (URP) Added "Bands" options for the "Ramp Style" feature in "Lighting" #### Modified - `Desktop` and `Mobile` shaders have been moved into the "Shaders/Legacy/" folder, as well as their shader path ("Toony Colors Pro 2/Legacy/") - `Standard PBS` shaders have been moved into the "Shaders/Standard PBS/" folder ### 2.4.5 #### Added - [Shader Generator 2] (Default) (URP) Added "Wrapped Lighting" feature in "Lighting" - [Shader Generator 2] (Default) (URP) Added "Shadow Line Strength" property for "Shadow Line", to help make larger lines - [Shader Generator 2] (Default) (URP) Exposed sine parameters as Shader Properties for "Wind" animation #### Fixed - [Shader Generator 2] (Default) (URP) Fixed fog and vertical fog when used with "Outline" - [Shader Generator 2] (Default) (URP) Fixed "Texture Splatting/Blending" error when using non-Linear blend and normal map - [Shader Generator 2] (URP) Fixed compilation error when "Outline" and "Silhouette Pass" are both enabled without "SRP Batcher Compatibility" - [Shader Generator 2] (URP) Fixed compilation error with "Hair Anisotropic" specular ### 2.4.4 #### Added - [Shader Generator 2] (Default) (URP) Added "Wind Animation" feature in "Special Effects" - [Shader Generator 2] (Default) (URP) Added "Hair Anisotropic" option for "Specular" feature - [Shader Generator 2] (Default) (URP) Added "Fresnel Reflections" option for Reflections features - [Shader Generator 2] (Default) (URP) Added "Unlit" option for "Ramp Style" feature - [Shader Generator 2] (Default) (URP) Added "Fresnel Reflections" options for "Reflections" - [Shader Generator 2] (URP) Added "Clamp Light Intensities" option when using "All Lights" shadow color shading: prevent received light from exceeding a defined value - [Shader Generator 2] (URP) Added "View Dir Ambient Sampling", allowing to have a solid color with no gradations on the whole mesh when sampling ambient color/light probes - [Shader Generator 2] (URP) Added "Special Implementation/Ambient Color" and "Indirect Diffuse" to sample those in other properties - [Shader Generator 2] Added "Other Shader Property" UV option for textures: use any other property as the UV source of a texture; this can allow more complicated UV calculations, or use the same source for multiple textures - [Shader Generator 2] Added "Constant Float" implementation for "Shader Properties" - [Shader Generator 1] Added "Shadow Color Texture" feature for the "Surface PBS" template - Added wind animation example in "Demo TCP2 ShaderGenerator 2" scene - Updated the "Features Reference" part of the documentation #### Fixed - [Shader Generator 2] (URP) Fixed main light culling layers - [Shader Generator 2] (URP) More SRP Batcher fixes - [Shader Generator 2] (URP) Compilation error when using "World Position" UV - [Shader Generator 2] (Default) (URP) Fixed Texture Blending with Normal Maps - [Shader Generator 2] Fixed missing text in some dynamic tooltips - [Shader Generator 2] Removed the "Fresnel" word from the Rim Lighting feature, as both words actually describe different things - Added a warning regarding mesh orientation for TCP2_PlanarReflection script - Fixed console warning because of a Font import settings ### 2.4.33.2 #### Fixed - [Shader Generator 2] (URP) Fixed possible compilation errors because of new "SRP Batcher Compatibility" option - [Shader Generator 2] Minor UI fixes ### 2.4.33.1 #### Fixed - [Shader Generator 2] (URP) Fixed broken additional passes because of new "SRP Batcher Compatibility" option ### 2.4.33 #### Added - [Shader Generator 2] (Default) (URP) Added "Shadow Line" feature in Stylization, to create a crisp line between highlighted and shadowed part. Can be used to create comic-book style shadows for example. - [Shader Generator 2] Added "World Position" UV option for textures: use the vertex world position as texture UV. This can allow different effects, like using a world-space texture blending map to control multiple objects (ground, grass), or add a scrolling clouds shadow map for example. - [Shader Generator 2] (URP) Added "SRP Batcher Compatibility" in the Options (experimental, let me know if it doesn't work!) - [Shader Generator 2] Modified Shader Properties are now retained when changing template; this should make it easier to convert a shader from the built-in pipeline to URP for example. - Added a few Sketch textures - [Shader Generator 2] Added ability to use a custom font in the Options #### Modified - [Shader Generator 2] Improved UI and readability, especially in Unity 2019.3+ #### Fixed - [Shader Generator 2] (URP) Fixed shadow coordinates calculation changes introduced in URP 7.2.0 - [Shader Generator 2] (URP) Fixed Meta Pass - [Shader Generator 2] Fixed possible unwanted variable name changes when changing template on an existing shader. ### 2.4.32 #### Added - [Shader Generator 2] (Default) (LWRP/URP) Added "Shading Ramp" hook - [Shader Generator 2] (URP) Added options for "Silhouette" and "Outline" to make them explicitly use the "URP Render Features" and updated documentation about it #### Fixed - [Shader Generator 2] (Default) (LWRP/URP) Changed "smoothness" to "roughness" for Specular PBR/GGX - [Shader Generator 2] (LWRP/URP) Added GPU instancing and stereo rendering support - [Shader Generator 2] (LWRP/URP) Fixed error when using "Vertical Fog" and "Enable Fog" in the same shader - [Shader Generator 1] Fixed visual bug with spot light falloff bypass ### 2.4.31 #### Added - Added `Cat Demo URP` scene (extract it from the `Cat Demo URP.unitypackage` file) #### Fixed - [Shader Generator 2] (LWRP/URP) Fixed compilation error when using Specular GGX along with Reflection Probes - [Shader Generator 2] Fixed frequent compilation errors due to the new custom code prepend option - [Shader Generator 2] Reloading shaders from the current output directory now works - [Shader Generator 2] Fixed bug that was showing all Shader Properties as modified when copying a shader - [Shader Generator 2] Performance optimizations in the UI - Hopefully fixed mesh references that get lost when importing unitypackage in Cat demo scene ### 2.4.3 #### Added - [Shader Generator 2] Added 'Prepend Code' option for [Custom Code implementation](documentation#shaderproperties/implementationsreference/special/customcode): add arbitrary code before the implementation to allow for more complex code insertion - [Shader Generator 2] (Default) (LWRP/URP) Added "Alpha to Coverage" option for "Alpha Testing" - [Shader Generator 2] (Default) Added "[Aura 2](https://assetstore.unity.com/packages/tools/particles-effects/aura-2-volumetric-lighting-fog-137148)" third-party support (experimental) - [Shader Generator 2] Add Unity version on generated shaders, will be useful for support #### Changed - [Shader Generator 2] Changed how hash is calculated: old shaders opened in the tool will show a warning that they are modified externally, even though they are not. The warning will disappear once the shader is updated. #### Fixed - [Shader Generator] (Water) Enabled 'Add Shadow Pass' option to enable shadow receiving for water shaders (note: not compatible with depth-buffer effects) - [Shader Generator 2] Fixed UI bug that prevented some options from showing if `Show disabled fields` was disabled - [Shader Generator 2] Fixed possible compilation error with texture coordinates - [Shader Generator 2] Fixed "Vertical Fog" that was reapplied when using additional lights - (LWRP) "Demo TCP2 Cat LWRP" scene: water shader now also works with orthographic cameras - Fixed possible corrupted shaders when unpacking from the menu ### 2.4.2 #### Added - [Shader Generator 2] (Default) (LWRP/URP) Added "Vertical Fog" special effect #### Fixed - [Shader Generator 2] (LWRP/URP) Fixed shader compilation error when using features with world-space view direction (e.g. "Specular") - [Shader Generator 2] Fixed compilation error when using `Min Max Threshold` ceiling mode with "Triplanar Mapping" - [Shader Generator 2] `Custom Code` implementation: fixed reference bug and improved UI on referenced implementations - [Shader Generator 2] Fixed tiling and scrolling calculation order which could result in animation pops for Texture implementations - [Shader Generator 1] Fixed issues with non-US culture when using C# 4.x (when using constant float values in Shader Generator 1) - [Shader Generator 2] Fixed issue that produced a warning for generated shaders - Cat Demo Scene: fixed mesh references in Unity 2019.1+ ### 2.4.1 #### Notes - As of version 2.4.0, the "Shaders 2.0" folder has been renamed to "Shaders".
Any shaders and files in "Shaders 2.0" or a sub-folder (e.g. "Variants") has to be moved there for the shaders to compile properly. #### Added - Added HTML formatted changelog (which you are currently reading!) #### Fixed - Fixed packed shaders that were unpacking in the wrong folder, causing an `#include` error ### 2.4.0 #### Notes - Please delete the old LWRP experimental files when using this new version: - `TCP2_MaterialInspector_LWRP_SG.cs` - `TCP2_ShaderTemplate_SRP_Lightweight.txt` #### Added - Added "Shader Generator 2 (beta)": more flexible tool, with a fully-featured Lightweight/Universal Pipeline template
See the [documentation](documentation) to learn more! - Added `Cat Demo LWRP` scene (extract it from the `Cat Demo LWRP.unitypackage` file) - Added 26 MatCap textures - Added namespaces for all TCP2 classes (except material inspectors for compatibility) - Added .asmdef files for TCP2 scripts (Unity 2019.1+) - [Shader Generator] Added "VertExmotion" support #### Changed - [Shader Generator] Enabled Dithered Shadows when using Alpha Testing with Dithered Transparency - Reorganized the Textures folder - Renamed the "Shaders 2.0" folder to "Shaders" #### Fixed - [Shader Generator] fixed Outline in Single-Pass Stereo rendering mode (VR)

Old changelog format: --- ### 2.3.572 - Fixed compilation error on MacOS - Fixed issues with non-US culture when using C# 4.x - Regression fixed: Shader Generator: "Constant Size Outline" was broken, will take objects' scale into account again ### 2.3.571 - Shader Generator: "Default" template: fixed Specular Mask when using PBR Blinn-Phong or GGX models - Shader Generator: "PBS" templates: fixed compilation issues on builds when using outlines - Shader Generator: "Surface PBS" template: fixed Emission feature - Shader Generator: "Water" template: fixed precision issue causing artifacts on some mobile platforms - Shader Generator: fixed "Constant Size Outline" option so that it ignores objects' scale - Shader Generator: UI fixes with inline features ### 2.3.57 - Shader Generator: upgraded "SRP/Lightweight" template to latest version (4.1.0-preview with Unity 2018.3.0b9) - Shader Generator: "Default" template: fixed "Pixel MatCap" option when using a normal map with skinned meshes - Shader Generator: always start with a new shader when opening the tool (don't load the last generated/loaded shader anymore) - Added example MatCap textures - Removed 'JMOAssets.dll', became obsolete with the Asset Store update notification system ### 2.3.56 - Shader Generator: added "Texture Blending" feature for "Surface PBS" template - Shader Generator: fixed non-repeating tiling for "Texture Blending" in relevant templates - Shader Generator: fixed masks for "Surface PBS" template (Albedo Color Mask, HSV Mask, Subsurface Scattering Mask) - Added default non-repeating tiling noise textures ### 2.3.55 - Shader Generator: added "Silhouette Pass" option: simple solid color silhouette for when objects are behind obstacles - Shader Generator: fixed fog for "Standard PBS" shaders in Unity 2018.2+ - Reorganized some files and folders ### 2.3.54 - Shader Generator: added more Tessellation options for "Default" template: Fixed, Distance Based and Edge Length Based - Shader Generator: added Tessellation support for "Standard PBS" template - Desktop/Mobile shaders: removed Directional Lightmap support for shaders, so that all variants can compile properly (max number of interpolators was reached for some combination in Unity 2018+) - Mpbile shaders: disabled view direction calculated in the vertex shader, will be calculated in the fragment instead, so that all variants compile properly (slightly slower but it frees up one interpolator) - Shader Generator: restored 'VertexLit' fallback for Surface PBS template, so that shadow receiving works by default ### 2.3.53 - Shader Generator: added "Shadow Color Mode" feature with "Replace Color" option to entirely replace the Albedo with the shadow color - Shader Generator: updated GGX Specular to be more faithful to the Standard shader implementation - Shader Generator: fixed GGX Specular when using Linear color space - Shader Generator: updated Lightweight SRP template to work with Unity 2018.2 and lightweight 2.0.5-preview - Shader Generator: Lightweight SRP template still works with Unity 2017.1 and lightweight 1.1.11-preview ### 2.3.52 - Shader Generator: added "Vertical Fog" option for "Default" template - Shader Generator: fixed wrong colors and transparency in "Fade" mode with "Surface Standard PBS" template - Shader Generator: fixed disabling depth buffer writing mode depending on transparency mode with "Surface Standard PBS" template - Shader Generator: reorganized templates UI in foldout boxes for clarity - Shader Generator: updated UI for clarity - Shader Generator: harmonized UI colors for Unity Editor pro skin ### 2.3.51 - Shader Generator: fixed issue with "Sketch" option in "Surface Standard PBS" template - Shader Generator: fixed "Bump Scale" option in "SRP/Lightweight" template ### 2.3.5 - Shader Generator: added experiment "SRP/Lightweight" template with limited features (Unity 2018.1+) - extract "Lightweight SRP Template.unitypackage" for it to work - Shader Generator: added "LOD Group Blending" feature (dither or cross-fade) - script warning fix ### 2.3.41 - Shader Generator: "Standard Surface PBS" template: fixed "Occlusion" and added occlusion map color channel selection - Shader Generator: "Standard Surface PBS" template: fixed "Backface Lighting" and "Shader Target" features - Shader Generator: "Standard Surface PBS" template: fixed transparent modes (Cutout, Fade, Transparent) - Shader Generator: "Standard Surface PBS" template: added surface shader flags ### 2.3.4 - Shader Generator: new template "Standard Surface PBS" to replace the previous "Standard PBS" - now uses Unity's surface shader system - simpler and more flexible shader code - all base Standard shader options are now optional (better stripping and faster compilation times) - now embeds the outline code as in the "Default" template (use "Legacy Outline" option for old behavior) - all outline options from the "Default" template are now available for the "Standard Surface PBS" template - previous template still available as "Legacy/Standard PBS" - Updated "Demo TCP2 Cat" scene so that it looks good in both Gamma and Linear color space mode - Updated "Demo TCP2 ShaderGenerator" PBS shaders to use the new template - 2018.1 scripts compatibility ### 2.3.391 - Shader Generator: fixed "Backface Lighting" for Standard PBS template (it was only flipping the normal Z axis, now it flips all XYZ axis) - Shader Generator: fixed error when using Triplanar mapping and other features using the main texture UVs - Shader Generator: fixed compilation error when using lightmaps with some shaders - dropped support for Unity 5.4 and lower (older versions still available to download) ### 2.3.39 - Shader Generator: added "Snow Accumulation" layer feature with color, vertex displacement and other options - Shader Generator: added options for the "Occlusion Map" feature: - Color channel selection - RGB Occlusion - Intensity slider - Shader Generator: added ZWrite and Cull Mode options - Shader Generator: added "Disable Dynamic Batching" flag ("Default" and "Water" templates) - Shader Generator: added "Backfaces Color" option for "Water" template - Shader Generator: added "Hide Foam on Backfaces" option for "Water" template - Shader Generator: fixed "Occlusion Map" in "Default" template - Shader Generator: fixed "Curved World" template - Shader Generator: fixed some shaders not compiling for OpenGL ES 2.0 with PBS template - Shader Generator: fixed 'Transparent' Rendering Mode broken with PBS template ### 2.3.382 - Shader Generator: added "Emission Texture (RGB)" feature - Shader Generator: added 3 optional masked colors - Shader Generator: added "Phong Tessellation" feature (warning: does not work with vertex-based features) - Shader Generator: added "Dithered Transparency" option under "Alpha Testing (Cutout)" feature (enables transparency similar to Super Mario Odyssey) - Mobile: fixed Specular shaders not compiling when building and thus failing the build process - Desktop/Mobile shaders: disable baked lightmaps support for shaders that run out of vertex interpolators (instead of disabling fog) - Removed some unused shader keywords ### 2.3.381 - Shader Generator: fixed "Standard PBS" template ### 2.3.38 - added GPU Instancing support for Outline passes (all shaders) - fixed GPU Instancing for PBS shaders (both regular and generated) - Shader Generator: added "Shadow/Depth Pass" option for outline, so that its thickness is included in cast shadows, and also in the depth texture (e.g. for post effects like depth of field) - Shader Generator: Specular shader and terminology fixes ("roughness"/"smoothness") ### 2.3.371 - Shader Generator: fixed roughness mask for all specular models - Shader Generator: improved GGX specular (more alike PBS shaders) ### 2.3.37 - New demo scene "Demo TCP2 Cat" showcasing features from the Shader Generator - Shader Generator: added different specular models option: - Legacy (Blinn-Phong) - PBR Blinn-Phong (new one where the smoothness affects the intensity) - GGX (different look for the highlights, also PBR) - Shader Generator: added different cartoon specular options: - Smoothstep (existing one) - Banded (new one that divides the specular highlights into bands) - Shader Generator: added "Triplanar Normal Maps" option - Shader Generator: added "Shadow HSV" option (control HSV values on shadowed areas) - Shader Generator: added "Final HSV" option (control HSV values on final pixel color, after lighting has been applied) - Shader Generator: added "Saturation only" option to HSV control (faster, and preserves luminosity better) - Shader Generator: added "Diffuse Tint Mask" option - Shader Generator: fixed Point & Spot falloff texture bypassing for Unity 5.6+ - Shader Generator: fixed "Rim: Light-based Mask" not working with fog (moved out of Final Color function to Lighting function) - Shader Generator: fixed saturation not being really grayscale when at -1 (with HSV controls) ### 2.3.36 - Outline Shader update: * fixed Z Correction not working properly compared to previous Unity versions * Shader Generator: embed outline shader code directly in the generated shader: -> no more dependencies to "TCP2_Outline_Include.cginc" -> will make it easier to add outline features -> added "Legacy Outline" option to revert to old behavior * Shader Generator: outline width is now more consistent with Z Correction - Shader Generator: added "HDR Outline Color" option - Shader Generator: added "Outline as fake rim" option (simulate a crisp rim light) - Shader Generator: added "Vertex Color Width" option (modulate outline width with a vertex color) - Shader Generator: added "Gamma to Linear Space" option for Vertex Colors feature - Shader Generator ("Water" Template): reduce depth-buffer bleeding for objects in front of water (especially when a normal map is used) - minor bug fixes in Shader Generator ### 2.3.35 - Smoothed Normals Utility: * added option to save meshes to custom directory * fixed error when original mesh name has invalid filename characters - added "Sharpen Alpha-to-Coverage" option to enhance alpha testing when using MSAA and alpha-to-coverage - fixed "Vertex Colors" option not working when selected as a mask ### 2.3.341 - added Textured Threshold option for Terrain template - Terrain template lighting isn't wrapped by default anymore ("Enable Wrapped Lighting" option) - fixed alpha transparency used with specular in "Default" template - fixed vertex function not working for generated shaders in Unity 5.4 ### 2.3.34 - updated "Curved World Water" template to match "Water" template - added 'Shadowmask Support' option for "Default" templates - fixed GPU instancing for generated shaders using the vertex function - fixed Curved World template - fixed sketch effect for Standard PBS template: it will now properly take cast shadows into account ### 2.3.33 - added 'Blending' option for the 'Color Mask' feature: set the blending of the masked color (replace, multiply or add) - also added to 'Standard PBS' template ('Color Mask' now always uses a separate color for this template) - added 'Shadow Color Texture' feature: use a texture to define the shadow color - added 'Specular Color Texture' feature: use a texture to define the specular color - added 'Rim Color Texture' feature: use a texture to define the rim effects color - added 'Non-Repeating Tiling' options for textures (main and terrain textures, prevents repeating pattern for tiling textures) - added 'Stencil Buffer' option for the 'Outline Behind' feature: different technique that can prevent certain artifacts - added 'Enable Instancing' option in material inspectors (Unity 5.6+) - updated the 'Backface Lighting' option for double-sided materials: choose between flipping the Z or XYZ components of the normal for backfaces - fix: generated transparent shaders should now work properly with secondary lights - fix: outline normals selection UI now shows for shaders made with 'Standard PBS' template - TCP2_GetPosOnWater update: - fixed position calculation when using 1 sine function - added ability to calculate the wave normal based on a position - removed API upgrade prompt when importing in Unity 2017.1+ projects ### 2.3.32 - Shader Generator: added Triplanar feature for Terrain template - Shader Generator: HSV control should now work properly with HDR values - fixed Terrain template when height-based blending and normal maps were both enabled ### 2.3.31 - disabled debug mode in Shader Generator (was mistakenly left enabled in the previous update) ### 2.3.3 - Shader Generator: updated template to use Unity 5's surface shader model by default * this will improve compatibility with built-in features (e.g. Light Probe Proxy Volumes) * visuals should stay the same as they were, but you can use Unity 4 model if that's not the case * please send me a bug report if you notice something wrong - Shader Generator: major update to the Texture Blending feature: * now based on vertex colors or texture map * can blend up to 5 textures using RGBA + black color * height-based blending for more realistic transition between textures (also added to Terrain template) - Shader Generator: added Triplanar mapping option - Shader Generator: added "Ramp Control" and "Ramp Style" features: * separated ramp controls per light type, or main/secondary lights * "RGB Slider" option, allows a different threshold per color channel (good for skin subsurface approximation) * shaders using the "Separated Ramps" option will switch to these new options - Shader Generator: added Point and Spot light built-in falloff textures bypass: * will remove the usage of Unity's built-in falloff textures * ramp settings will be based on a linear falloff, based on the light's settings * you can define a custom falloff texture when combining this with the new Ramp Control feature - Shader Generator: added Alpha To Coverage transparency option - Shader Generator: added custom Light Wrapping factor option - Shader Generator: added Specular workflow option (Standard PBS Template) - Shader Generator: added ignore main texture and/or color alpha options for Alpha Blending & Testing - Shader Generator: Subsurface Scattering is always using the Light's color now - Shader Generator: added Gradient Ramp option for Dissolve - Shader Generator: Dissolve doesn't clip by itself now, you need to enable Alpha Testing (Cutout) to get the old behavior - Shader Generator: added UV1 option for Masks' independent UVs (to use secondary UVs from the mesh) - Shader Generator: added height-based blending for Terrain template - Shader Generator UI: reorganized sections with labels - Scripts: TCP2_GetPosOnWater doesn't update the custom time value anymore, use TCP2_ShaderUpdateUnityTime instead - Shaders: new default color values for highlight/shadows, should look more like the Default material - Material Inspectors UI improvements - updated documentation and reorganized sections to match Shader Generator - fixed harmless console errors related to material inspector (hopefully!) ### 2.3.22 - removed harmless shader warnings in Unity 5.6 ### 2.3.21 - fixed packed shaders file that was corrupted (unpacked shaders weren't compiling) ### 2.3.2 - added "Curved World" compatible Water shader template - added direct editing of ramp textures gradient (when generated with the Ramp Generator) - updated material inspector UI for ramp textures ### 2.3.11 - added script "TCP2_CameraDepth" to force rendering of the depth texture for a Camera (needed for some water shaders) - added a warning in the material about the need for the depth texture for relevant water shaders - fixed generated shaders include path if "Toony Colors Pro" folder has been moved ### 2.3.1 - PBS Shaders: Unity 5.6 compatibility - PBS Shader Template: Unity 5.6 compatibility ### 2.3.0 - added "Water Template" for Shader Generator: make your own stylized water shader - added "PBS Template" for Shader Generator: make your own enhanced PBS stylized shader - added Scene "Demo TCP2 ShaderGenerator" with examples of user-generated shaders - Shader Generator: new button to easily load included shader templates - Shader Generator: added "Occlusion Map" feature - Shader Generator: added "No Shadow Color" feature for secondary lights - Shader Generator: replaced "Disable Wrapped Lighting" with "Enable Wrapped Lighting" (so that it is disabled by default) - fix: "Standard PBS" shaders should reflect Unity 5.5's Standard shader better - fix: Shader Generator should be much faster at loading shader list - fix: "Backface Lighting" should work correctly now - fix: Screen space UV offset for Sketch effects is more accurate and now correct in Scene view - renamed texture files that were using an old prefix (from TG_ to TCP2_) - dropped support for Unity 5.3 and lower (older versions still available to download) ### 2.2.6 - added "Dissolve Map" feature: simple dissolution effect based on a grayscale map and a dissolve value - added "Depth Pass" option for "Outline behind model": this should help with sorting issues when using that option - added "Backface Lighting" option when disabling backface culling (experimental) - added "View Dependent" option for "Directional Ambient" feature - added "Subsurface Light Color" option for "Subsurface Scattering" feature - added "Separate Color" option for the "Color Mask" feature - updated Shader Generator and Material Inspector: * templates now entirely handle the generated shaders' inspector UI * slight interface update for better clarity - fixed "Curved World" template (was broken in previous version) ### 2.2.51 - Unity 5.5 compatibility - added "HSV Controls" feature (hue/saturation/value) - updated masks with new template system ### 2.2.5 - added "Diffuse Tint" option in Shader Generator - added "Separated Ramp" option in Shader Generator - added "Vertex Colors" option for all Masks - major update to the Shader Generator: * now the whole UI is embedded into the templates (will make it easier to create different templates) * uses a more robust condition parser * the old template is still available, with the old behavior, in case the new system doesn't properly work - fixed compilation issue on PBS shaders when UNITY_STANDARD_SIMPLE was used (it is now ignored) - bug fixes in Terrain template ### 2.2.45 - added "Normal Map Blending" option for "Vertex Texture Blending" feature - updated the "Sketch" effects in the Shader Generator: * the screen-space texture will be offset based on the object's position, removing the 'shower door' artefact * go back to the old behavior by enabling the 'Disable Obj-Space Offset' option * removed 'Scale with Model' option, now integrated with the new object-space offset * the UVs aren't multiplied with the resolution anymore, giving consistent texture scale across resolutions - updated "Subsurface Scattering" in the Shader Generator: * separated Ambient Color and Color * additive mode is now the default behavior for more consistency, use "Multiplicative" option for previous behavior * fixed shadows affecting subsurface with directional lights ### 2.2.44 - fixed corrupted packed shaders (Unity 5.4) ### 2.2.43 - fixed "Use Reflection Probes" option in Desktop shader (Unity 5.4) ### 2.2.42 - allow Emission Color to be enabled without Emission Map in Shader Generator - added "HDR Color" option for Emission Color in Shader Generator (useful for effects like bloom) - renamed internal variable _IllumColor to _EmissionColor in templates - dropped support for Unity 5.0.0 and lower (older versions still available to download) ### 2.2.41 - updated PBS shaders to match Standard shaders in Unity 5.4 - added "Dithered Shadows" option in Shader Generator for alpha-blended shaders - fixed initial blending values for Alpha Blending option in Shader Generator - minor fix to Shader Generator templates ### 2.2.4 - added "Subsurface Scattering" option in Shader Generator - fixed inspectors issue with Mac retina displays ### 2.2.31 - added "Bump Scale" option in Shader Generator - fixed issues when updating shaders with custom output path enabled - removed Unity5.4 templates and added differences in the main Unity5 template ### 2.2.3 - added Ramp Generator utility - added option to explicitly set shader model target in Shader Generator - added Shader Generator template for Terrain shaders (experimental) - removed explicit "#pragma target 2.0" in PBS shaders for lower LOD, allowing it to default to shader model target 2.5 in Unity ### 5.4 - renamed "Self-Illumination" feature to "Emission" in Shader Generator - custom output path fix for already existing shaders ### 2.2.2 - added option to save generated shaders in custom directory ### 2.2.1 - added Unity 5.4 compatible templates for the Shader Generator (fix for reflection probes sampling) - fixed seamless tiling on some sketch textures ### 2.2.0 - added "Standard PBS" version of the shaders, based on Unity Standard shaders (Unity 5.3+ only) - added "TCP2 Demo PBS" scene to show the PBS shaders - moved "Outline Only" shaders to their own category - updated documentation ### 2.14.1 - fixed attenuation factor with "Light-based Mask" for Rim Lighting (point/spot lights, shadows) ### 2.14 - added "Light-based Mask" option for Rim Lighting in Shader Generator ### 2.13 - added option to disable wrapped diffuse lighting - added "Colors Multipliers" option to Shader Generator - bug fixes and improvements ### 2.12.2 - disabled custom lightmapping support in Unity5+, turns out it doesn't work anymore with surface shaders ### 2.12.1 - removed double lighting multiplication in Unity 5 template for Shader Generator - Smoothed Normal Utility now copies blend shape data in Unity 5.3+ ### 2.12 - added support for "Curved World" by Davit Naskidashvili in the Shader Generator (requires the "Curved World" package from the Asset Store) - refactored outline shaders code with TCP2_Outline_Include.cginc - fixed Blended Outline Only shaders queue (from opaque to transparent) - fixed Outline Only material inspector glitch with slider properties in Unity 5+ ### 2.11.2 - Mobile shader now compiles to shader model 2 as it was supposed to - added menu options to unpack all mobile and desktop variant shaders ### 2.11.1 - improved detection of manually modified generated shaders - fixed issue with Shader Generator and Texture Ramp - fixed issue with Shader Generator and Cartoon Specular ### 2.11 - fixed issue with Shader Generator and TCP2 Lightmap - added script to convert materials from TCP1 to TCP2 (in the tools menu) ### 2.10 - fixed issue with Smoothed Normals Utility and built-in meshes - Smoothed Normals Utility no longer requires mesh to be read/write enabled ### 2.091 - fixed generated Shader userData not always saved when using Shader Generator ### 2.09 - added option to render outline behind the model (Shader Generator) - fixed shader model 2 outlines with Shader Generator (Unity 4.5) ### 2.08 - fixed Parallax offset for diffuse texture (Shader Generator) - fixed warnings on package import (Unity 5) - TCP2 shaders now work correctly with Substance materials (Unity 5) ### 2.07 - fixed MatCap calculations (was incorrect with rotated meshes) in Mobile shaders and Shader Generator template ### 2.06 - fixed MatCap issue with scaled skinned meshes (added option to turn fix on/off in inspector) - fixed Pixel MatCap breaking generated shaders if normal map was disabled ### 2.05 - added Pixel Matcap option in Shader Generator, allows MatCap to work with normal maps ### 2.04 - fixed path issues on Mac ### 2.03 - fixed glitched outlines in DX11 ### 2.02 - fixed issue with vertex function in generated shaders - removed debug information showing in material inspector ### 2.01 - updated Mobile shaders to target shader model 3: should fix compilation issues with some combinations, will break compatibility with super old desktop GPU (roughly pre-2004) ### 2.0 - everything redone from scratch! - lots of new features and optimizations added to the shaders - Unified Inspector: select one shader and then let the inspector choose the correct optimized shader for you - Shader Generator: generate your own stylized shader choosing from a lot of features - Smooth Normals Utility: generate encoded smoothed normals to fix hard-edge outlines - new Documentation in HTML format with examples and tips ### 1.71 - updated "JMO Assets" menu ### 1.7 - added alpha output to shader files (RenderTextures should now work for real) - Constant Outline shaders now take the object's uniform scale into account ### 1.6 - fixed alpha output to 0 in lighting model, would cause problems with Render Textures previously - fixed Warnings in Unity 4+ versions - fixed shader Warnings for D3D11 and D3D11_9X compilers - re-enabled ZWrite by default for outlines, would cause them to not show over skyboxes previously ### 1.5 - fixed the specular lighting algorithm, would cause glitches with small light ranges ### 1.4 - changed name to "Toony Colors" - fixed Bump Maps Substance compatibility (WARNING: you may have to re-set the Normal Maps in your materials) ### 1.3 - added Rim Outline shaders ### 1.2 - added JMO Assets menu (Window -> JMO Assets), to check for updates or get support ### 1.1 - Rim lighting is much faster! (excepted on Rim+Bumped shaders) ### 1.01 - Included Demo Scene ### 1.0 - Initial Release