Release Notes:
v1.6.2 rev 00 / v1.6.1 rev 05:
* New Template:
    * Unlit Lightmap

* New Sample:
    * Unlit With Lightmap

* Fixes:
    * Fixed issue on 'Depth Fade' node with custom Vertex Positions
    * Fixed issue with using the X,Y,Z,W output ports on 'Object To World' node

v1.6.1 rev 04:
* New Node:
    * Linear Depth
        * Converts values given on logarithmic space to linear

* Improvements:
    * Minor improvement on nodes loading time when initializing ASE

* Fixes:
    * Fixed local variable duplicate issue when using 'Depth Fade' and 'Screen Position' nodes
    * Fixed serialization issue with Additional Use Passes and Fallback data when going into play mode
    * Fixed HDRP issues on Motion Vectors pass
    * Fixed issue with uniform keyword usage inside cbuffers (SRP templates) over PS4
    * Fixed issue with 'Common Transform Matrices' node over SRP templates
    * Fixed object to world/world to object space transform on transform nodes over HD templates
        * 'Transform Position', 'Object To World' and 'World To Object' nodes 
        * They now take SHADEROPTIONS_CAMERA_RELATIVE_RENDERING keyword into account
    * Fixed issue with 'Pixelate UV' node when used over vertex functions
    * Fixed foldout issue between Additional Surface Options and Custom SubShader Tags on Surface node properties

v1.6.1 rev 03:
* New Shader Functions:
    * Terrain Wind Value
    * Terrain Wind Animate Vertex
        * Updated Simple Terrain sample to use this shader function

* Improvements:
    * Updated HDRP PBR template to v4.6.0
    * Added Alpha To Coverage/Alpha To Mask option into templates
        * Set under the Blend Mode area

* Fixes:
    * Fixed issue on Emission color being added over Forward Add pass when using 'Standard Surface Light' node

v1.6.1 rev 02:
* Fixes:
    * Fixed issue with reordering material properties for Translucency and Refraction port's properties
    * Fixed issue with 'Texture Sample' node when referencing an unconnected node

v1.6.1 rev 01:
* Improvements:
    * Updated HDRP templates to v4.3.0
    * 'Vertex Tangent' node now has Size option
    * Added access to all 8 UV sets on Surface shaders
    * Re-added 'Clip' node
        * First Input Port acts as a relay
        * Clip uses difference between Alpha and Threshold ( Alpha - Threshold )

* Fixes:
    * Fixed issue with late directives being injected on globals tag when functions area is available
        * Affected usage of 'World Space Light' nodes on HDRP templates
    * Fixed division by 0 issue on 'Triplanar Sample' node
    * Fixed incorrect directional light vector usage on HDRP templates

v1.6.1 rev 00:
* Fixes:
    * Excluding Primitive ID source code from MacOS 

v1.6.0 rev 00:
* Improvements:
    * Updated SRP templates to v4.2.0

* Fixes:
    * Fixed issue on GBuffer pass over HD PBR template
    * Fixed alpha clip issues on Legacy HD PBR template

v1.5.9 rev 02:
* New Nodes:
    * Vertex Id
    * Primitive ID

* New Shader Functions:
    * Perturb Normal HQ
    * Prepare Perturb Normal HQ

* Improvements:
    * Matrix type nodes can now be GPU instanced

* Fixes:
    * Fixed issue with 'Fresnel' node with Tangent Normal vectors on Surface shaders
    * Fixed issues on Motion Vector pass on both 3.x.x. and 4.x.x templates
    * Fixed issue with world pos generation on HD 4.x.x

v1.5.9 rev 01:
* Improvements:
    * Added Auto Gamma to Linear option into 'Color' nodes when set to Constant
    * Added access to all 8 uv channels on 'Texture Coordinates' and 'Vertex TexCoord' nodes
        * Only for 2018.2 and above

* Fixes:
    * Fixed 'Gamma To Linear' and 'Linear To Gamma' compiler errors on SRP v.4.x.x

v1.5.9 rev 00:
* Fixes:
    * 'Grab Screen Color' node now also working on Lightweight SRP v3.x.x
    * Fixed possible issue with Shader Function creation callback not being inside AmplifyShaderEditor namespace 

v1.5.8 rev 03:
* Fixes:
    * Fixed multiple issues in both PBR and Unlit templates for HD SRP v4.x.x
    * Fixed issue over clip space transforms on HD SRP
    * Fixed issue on sampling depth buffer on HD SRP

v1.5.8 rev 02:
* Improvements:
    * Multiple improvements over 'Global Array' node
        * Added support for jagged arrays
        * Added Auto-Register toggle
        * Can reference other nodes through new Mode dropdown ( similar to 'Grab Screen Color' node )

* Fixes:
    * Fixed memory leak over 'Template Local Var' node
    * Fixed HD templates issues over new HD 4.1.0

v1.5.8 rev 01:
* Fixes:
    * Fixed issue on Live Mode writing on non ase shaders when loaded into canvas
    * Fixed issue on MacOS with scroll bar over Texture Array Creator tool
    * Fixed issue on MacOS with 'Function Input' node generated default Sampler 2D value

* New Shader Function:
    * Substance Blend Metallic

* Improvements:
    * 'Grab Screen Color' node is now supported on LW SRP
        * Uses the new _CameraOpaqueTexture which must be requested on the pipeline asset
            * Must toggle on the Opaque Texture option over its General foldout
    * Added Clip and Tangent spaces into 'Transform Direction' node
    * Added Tangent space into 'Transform Position' node

v1.5.8 rev 00:
* New Sample:
    * Substance 2018

* Fixes:
    * Fixed canvas crash when loading shaders with missing templates
    * Fixed issue on UV Coords creation over 'Substance Sample' Node
    * Fixed issue with loosing Substance reference on 'Substance Sample' node when applying new changes on it
        * Only happened on Unity 2018 with Substance in Unity plugin
    * Fixed issue on nested instanced properties over shader functions not being taken into account

* Improvements:
    * Upgraded Lightweight and HD templates to v5.0.0
        * Maintained templates for v.3.x.x under the packages HDSRPTemplates (Legacy) and LWSRPTemplates (Legacy)

v1.5.7 rev 02:
* Fixes:
    * Fixed issues on 'Static Switch' node
        * Property Name wasn't available in all options
        * Keys on Keyword Enum over Fetch Mode were being automatically upper cased
    * Fixed issue on 'Get Local Var' node  not propagating node data correctly after being loaded

v1.5.7 rev 01:
* New Templates:
    * Custom RT Init
        * Packed inside AmplifyShaderEditor > Plugins > EditorResources > Templates > CustomRTTemplates
    * Custom RT Update
        * Packed inside AmplifyShaderEditor > Plugins > EditorResources > Templates > CustomRTTemplates

* New Sample:
    * Custom Render Texture Rain
        * Packed inside AmplifyShaderEditor > Examples > Custom RT Samples
        * Needs both Custom RT Init and Custom RT Update templates to be imported into project

* Fixes:
    * Fixed issue on Queue Offset incorrect writing over templates
    * Fixed issue on templates not recognizing uint
    * Fixed minor issue over Directives UI
    * Fixed Shadow Coord macro registry differences between Unity 5.5 and above

* Improvements:
    * Added Substance Plugin integration over ASE for Unity 2018 and above
    * Added Mirror option into 'Depth Fade' node
        * Enabled by default, which was older behavior
        * If toggled on, sets an abs operation over the final value
    * Custom Render Textures can now be used/dragged over ASE
    * Can Pan and Zoom ASE canvas camera through keyboard directional keys
        * Up/Down/Left/Right Arrow keys pan camera
        * Alt+Up/Alt+Down/Alt+Left/Alt+Right Arrow keys zoom camera

v1.5.7 rev 00:
* Fixes:
    * Fixed issue with using FACE type nodes over both Lightweight and HD Unlit templates
    * Fixed issue regarding 'Lerp' node's Alpha input port always loading as a Float type
    * Fixed minor issue on 'Function Subtitle' node tooltip
    * Fixed minor issue on 'Posterize' node
        *  Power variable should not be shown on property window if its input port is connected
    * Fixed minor issue with auto-spacing over shader function names

v1.5.6 rev 08:
* Fixes:
    * Fixed Queue Offset not being correctly set when loading certain template based shaders
    * Fixed HSV nodes previews
    * Fixed multiple issues with Directives over shaders functions
    * Fixed issue on nodes not being correctly set up over template's invisible passes with linked ports

* Improvements:
    * Directives in Include mode now fully support cgincs and hlsl files to be dragged into them
        * Similar behavior of inline properties, click on button right next to Include textfield to activate object drop UI
    * Adding GPU Instancing support to Unlit template
    * Adding new Vertex Position port into 'Depth Fade' node
    * Adding new Saturate option into 'Depth Fade' node
    * Can now set precision to each 'Custom Expression' node items individually

v1.5.6 rev 07:
* Fixes:
    * Fixed duplicated events registry when loading graphs
    * Fixed incorrect instanced variables reset over shader functions

v1.5.6 rev 06:
* Fixes:
    * Out variables on 'Custom Expression' node no longer appears as inputs
    * Fixed issue on not updating output port names correctly over 'Custom Expression' node
    * Fixed issue on properties with Header(...) not being written on shader
    * Fixed incorrect read/write on MRT Blend Mode and Op over template based shaders
    * Fixed possible infinite loops caused by 'Register/Get Local Var' nodes
    * Fixed Shader Type dropdown items not updating names correctly according to changes on template
    * Fixed issue on adding multiple ASE tabs on Unity 2018.3
    * Fixed WebGL error over 2018.3b
    * Fixed 'Parallax Offset' node issues when used on Lightweight and HD SRP templates
    * Fixed dynamically created outputs over shader function not being correctly set after hot code reload

* Improvements:
    * Property Name and Values get its label clamped when too big
        * Full original name and value is shown over its node tooltip
    * Hidden tag on template shader names no longer created a category called Hidden
    * Adding new ase_funcs tag functionality to determine where function code should be injected 
        * If not specified, functions are grouped with global variables as before
    * Improved template reloading after being manually edited

v1.5.6 rev 05:
* Fixes:
    * Fixed 'Smoothstep' node code generation issue
    * Fixed ASE item grouping issue on Create menu over Unity 2017 and above

v1.5.6 rev 04:
* Fixes:
    * Fixed shortcut manager to take 2018.3 new event behavior into account

v1.5.6 rev 03:
* Fixes:
    * Fixed several shader functions issues
        * Fixed Undo issue when using directives textfields
        * Fixed issue of null references being set on directives list when loaded
        * Fixed directives not being correctly written on shader
        * Fixed incorrect Refraction port activation issue on Standard Surface Custom Lighting
        * Fixed issue on Property nodes with Auto-Register toggled on not being registered
    * Fixed cascaded shadows issue on HD PBR template

* Improvements:
    * Minor update on 'Smoothstep' node ports behavior
    * Added preview to 'Swizzle' node

v1.5.6 rev 02
* Fixes:
    * Fixed issue on multi-pass templates not getting correct interpolator count from subshader info
    * Fixed issue on Depth Offset template option auto enabling after hot code reload

* Improvements:
    * Using current world position and world view direction when getting indirect specular light values on templates

v1.5.6 rev 01
* Fixes:
    * Fixed issue with global variables on Property type nodes being ignored by Auto-Register toggle
    * Fixed Native Directives capture issue over templates
        * Fixed issues on adding duplicate directives if they are already natively on the template
    * Fixed compilation errors from Gamma/Linear nodes on SRP templates
    * Fixed ArgumentOutOfRangeException over file path on new shader creation
    * Fixed issues over Motion Vector pass on HD PBR template
    * Fixed issue on 'Light Color' node with HD templates
    * Fixed issue on 'World Space Light Dir' node with HD templates
    * Fixed issue on 'Object Space Light Dir' node with HD templates

* Improvements:
    * Added support for Variable Mode over Texture Objects type nodes
    * Adding UI Widget helper for setting Render Type and Queue for templates
        * On SubShader Tags group, Value UI changes as soon as user writes RenderType or Queue on the Name textfield

v1.5.6 rev 00
* New Samples:
    * SRP Lightweight Terrain
    * Multi Pass Distortion

* New Node:
    * Switch by Pipeline
        * Shader function specific node to choose different paths according to current pipeline

* New Shader Function:
    * Fetch HD Color Pyramid

* Fixes:
    * Fixed world position issues over HD PBR Template
    * Fixed transparent issues over HD PBR template
    * Prevented WorldNormalVector macro to confuse lerp operations
    * Fixed issue on created shaders being placed in incorrect folders when on two column node
    * Fixed issue on property registering over multi-pass shaders

* Improvements:
    * Custom Options can now be added directly over templates
    * Adding Final Color x Alpha custom option into LW PBR
        * If toggled on multiples fragment final color by its alpha
    * Apply Fog on LW PBR takes Add Pass directive into account
    * Adding SRP support to Four Splats First Pass Terrain shader function
    * Material Global lIllumination flags for emission can now be modified over Surface Rendering Options
    * Activated Variable mode into 'Texture Sample' nodes

v1.5.5 rev 01
* Fixes:
    * Fixed issue over incorrect name registration over 'Register Local Var' on pasting into another shader
    * Fixed issue on reading shaders using old shader functions with deprecated nodes
    * Fixed 'World Pos' node issue on HD SRP template
    * Fixed issue on 'World Normal' node when used in 'Lerp' node

* Improvements:
    * 'Register/Get Local Var' nodes maintain connections even if copied to another shader

v1.5.5 rev 00
* New Node:
    * Diffuse And Specular From Metallic

* Fixes:
    * Fixed issues on graph not being updated with material changes on inspector if tab is opened but not selected
    * Preventing Culture difference issues on material copy-paste
    * Fixed issue on all modules template tag conflict with existing shader model definition
    * Fixed HD issue on 'World Position' node
    * Fixed issue on losing name when copy-pasting property nodes between shaders
    * Fixed issue on resetting custom inspector to ASE default when loading or hot code reloading shader with its textfield empty
    * Fixed issue on not setting importer correctly on 'Texture Sample' node when setting a normal map type texture from inspector

* Improvements:
    * Properties on invisible passes can now be synced with main pass over templates

v1.5.4 dev 10:
* New Sample:
    * SRP HD Material Types
        * Please notice that for SSS to work properly, a Diffusion profile must be attached to the HD pipeline asset
            * We already supply one over the sample folder ( Diffusion Profile Settings )

* Fixes:
    * Fixed UX issue with Auto-Register/Set Unique flags on 'Custom Expression' node
    * Fixed issue with cascade shadows over Lightweight template

* Improvements:
    * Added Material Types selector into HD template
        * Subsurface Scattering
        * Standard (Metallic)
        * Specular
        * Anisotropy
        * Iridescence
        * Translucent

v1.5.4 dev 09:
* Fixes:
    * Fixed Grab Pass issue with 'Outline' node
    * Fixed PreviewRenderUtility leak over shader and material inspector on 2018.2
    * Fixed issue with 'PI' node over HD SRP

* Improvements:
    * Minor improvement over shader save time

v1.5.4 dev 08:
* Fixes:
    * Fixed issue on 'Component Mask' node generating compilation errors inside shader functions with auto-cast inputs
    * Fixed issue on loop unroll error over 'Parallax Occlusion Mapping' node
    * Fixed issue on crashing ASE when loading a shader or shader function with a missing shader function reference
        * Adding error message when loading a shader or shader function with missing shader functions

* Improvements:
    * Added support to Vertex Normal modification on both Unlit and PBR HD templates
    * Adding 'Global Array' variable name info directly on node

v1.5.4 dev 07:
* New Templates:
    * HD PBR
    * HD Unlit

* Fixes:
    * Fixed issue on incorrectly capturing module tags
    * Fixed issues with 'Flipbook UV Animation' node
    * Fixed multiple issues with Directives usage under shader functions with templates
    * Fixed issue on 'Custom Expression' node loading on Call mode
    * Fixed issue on unpacking normals with scale on templates over multiple nodes
    * Changing tessellation on Procedural Wall sample shader from edge to distanced based to prevent metal issues on Mac

v1.5.4 dev 06:
* Fixes:
    * Fixed issue on 'Toggle Switch' node not taking Custom Attributes into account
    * Fixed out of bounds exception over 'Static Switch' node
    * Fixed issue on templates port linking behavior
    * Fixed issues on 'Texture Array', 'Triplanar Sample' and 'Unpack Scale Normal' nodes on Lightweight SRP
    * Fixed issue on shader function directives not being written on template based shaders
    * Fixed serialization issue on saving/loading shader function directives
    * Fixed issue with using 'Texture Array' node inside shader functions
    * Fixed shader compilation errors on'Parallax Occlusion Mapping' 
        * Now it does not generate code if no 'Texture Object' node is connected to it
    * Fixed issue on 'Grab Screen Color' node not updating reference list correctly when copy/pasted
    * Fixed issue with Undo'ing a 'Grab Screen Color' node on reference mode

* Improvements:
    * Min and Max Samples options on 'Parallax Occlusion Mapping' node are now inline options

v1.5.4 dev 05:
* Fixes:
    * Fixed issue with Vector and Matrix UI spacing on 'Custom Expression' node
    * Fixed issue on functions being generated twice over a 'Custom Expression' node when auto register and connection are both on
    * Fixed Blend Op issues with OFF state

* Improvements:
    * Can now use a custom screen position into 'Dither' node
    * Added Normalize option into 'Compute Screen Pos' node

v1.5.4 dev 04:
* Fixes:
    * Fixed issue on resetting material's Render Queue setting when compiling the shader in Material mode
    * Fixed issue on Blend Op menu not showing when loading a template based shader

* Improvements:
    * Re-adding DX11 specific Blend Ops into its respective dropdowns
    * 'Custom Expression' node items are now reorderable
    * 'Custom Expression' node can now register dependencies to other ones
         * Can now better control function register order on final shader

v1.5.4 dev 02/dev 03:
* New Shader Function:
    * Color Mask

* Fixes:
    * Fixed issue on template Unlit SRP generating an error when creating a Color or MainTex named property
    * Fixed issue on both 'Surface Depth' and 'Camera Depth Fade' nodes when inputting a custom vertex position
    * Stencil module on Pass now uses SubShader Cull mode if it's not specified on it
        * Important since Cull determines if separate stencil ops are show for each face
    * Fixed issue with Fallback shader selector not updating if its textfield is focused
    * Fixed issue on Grab Pass only being registered on first pass when on multi-pass templates

* Improvements:
    * Added auto register option into 'Grab Screen Color' node
    * Adding UsePass support
        * New Additional Use Passes section on both Surface and Template output nodes
        * Can add UsePass before or after Surface code via a Location dropdown
        * On Templates the Below location is still under development and its not available

v1.5.4 dev 01:
* New Shader Function:
    * Fetch Lightmap Value

* Improvements:
    * Simple Terrain sample now support more than four splats

* Fixes:
    * Fixed issue on Node Palette reading incorrect maximized value when opening ASE window

v1.5.3 dev 12:
* Fixes:
    * Fixed null pointer exception with texture arrays over shader functions
    * Fixed memory leak on shader functions destruction

* Improvements:
    * Improved templates loading behavior after hot code reload
    * Replaced individual lists for pragmas, defines and includes by a single reorderable list
        * Now user select what each line represents via a dropdown
    * Additional surface options can now be added via the Additional Surface Options tab on the Output node
    * Added custom type for 'Custom Expression' node data type specification

v1.5.3 dev 11:
* Fixes:
    * Fixed issue on not correctly cleaning Undo stack when changing master node
    * Fixed multiple issues with safe normalize operation over world light dir and view dir 
    * Fixed world light dir issues over Lightweight SRP
    * Fixed GPU instancing compile issues on Lightweight SRP
    * Fixed issue on Includes/Pragmas/Defines UI not showing when no other modules over a template

* Improvements:
    * Optimizing property block allocation for instanced variables to have less internal padding involved
    * Added custom attributes to 'Toggle Switch' node
    * Added toggle to 'Matrix from Vector' node use each input as column

v1.5.3 dev 10:
* Fixes:
    * Fixed issue with being able to duplicate output nodes on templates
    * Fixed issue on foldout flag values being shared between multiple ASE tabs

* Improvements:
    * 'Get Local Var' port is locked until a valid reference is set to prevent incorrect connections
    * Updated About image and added Manual link on Amplify Shader Editor menu group
    * Adding unique id duplicate prevention over shader load
    * Added support for stencil operations on Lightweight templates

v1.5.3 dev 09:
* New Shader Functions:
    * Lerp White To
    * Detail Albedo

* Fixes:
    * Fixed API library excluding tool for custom nodes

* Improvements:
    * Template creators can now register all modules
        * Simply add the /*ase_all_modules*/ either on the Pass or SubShader body
    * Templates now support Fallback definition on shader
    * Templates now support Dependencies definition on shader

v1.5.3 dev 08:
* Fixes:
    * Fixed Instance ID issue over Lightweight SRP template
 
* Improvements:
    * Added API option to remove includes on data collector
    * Stencil can now be toggled off on templates which have it

v1.5.3 dev 07:
* New Sample:
    * Projectors
        * Exemplify Unity Projectors usage under ASE

* Improvements:
    * Improved Texture Array Tool
        * Now also creates Texture3D by hitting the Texture 3D toggle
        * Can drag and drop multiple textures into tool
        * Can drag and drop a folder and it will include all its nested textures
        * Added Clear button to remove all textures from Texture List ( UI still work in progress )
    * 'Parallax Occlusion Mapping' node now also supports Texture 3D
        * Replaced the Texture Array toggle by a Texture Type dropdown
        * User must explicitly set the current 3D texture slice via the Tex3D Slice input port
    * Removed Fixed precision type since it's no longer available on Unity 2018
    * Updated Lightweight PBR template to v1.1.8
    * Re-factored Templates location and names
        * New and more flexible templates will be gradually added to replace legacy ones
                * A cleaner Unlit template shader was already added on this build

* Fixes:
    * Fixed issue on using depth operations on particle template
    * Fixed sometimes light attenuation not showing up correctly
    * Fixed allowing to open unity built-in shaders on ASE 
    * Fixed issue on using incorrect port value on 'Refract' node 
    * Fixed issue on Texture Object type nodes loosing texture type after load

v1.5.3 dev 06:
* New Sample:
    * XRay
        * Object has different drawing behavior in front and behind a wall
        * Wall pattern is procedurally generated

* Improvements:
    * Template internal properties can be used as inline properties on modules
    * Modules can now read inline properties from the template original source
        * Unreadable data message is no longer shown on node properties
    * Added more options to 'Fresnel' node
        * Now supports custom view vector
    * Preventing cast warning  with object to clip internal function usage when building shader code for Lightweight SRP
    * Added new icons for inline properties to the Unity personal skin to make them easier to spot
    * Updated Lightweight SRP templates
        * Cull Mode now shared across base, shadow and depth pass
        * Added new Normal input port

* Fixes:
    * Fixed issue over templates on not assuming inline properties when loading/saving Cull Mode module
    * Fixed incorrect cast and type assignment on connections between 'Texture Object' and 'Texture Sample' nodes
    * Fixed issue on deleting outputs on shader functions and later opening the shaders that use it
    * Fixed issues on Vertex Offset port on Lightweight PBR template 
    * Fixed issue on not correctly loading 'Rotate About Axis' node from old shaders
    * Fixed issue on header not showing with texture properties with the NoScaleOffset attribute

v1.5.3 dev 05:
* Fixes:
    * Fixed world normal issues over 'Outline' node
    * Fixed issues on reading/writing cull mode on templates meta
    * Fixed issue on capturing includes over templates
    * Fixed issue on Specular workflow over Lightweight PBR template

* Improvements:
    * Cull Mode can now be modified over outline node 

v1.5.3 dev 04:
* New nodes:
    * Transform Position
    * Transform Direction

* Improvements:
    * Added inline property support over templates modules
        * Also added inline property support over Depth Offset values in both template and standard surface
    * Minor tweak over 'Clamp' node
        * Internal max value defaulted to 1
    * Adding additional modules into Lightweight templates
    * Enabling ZTest over Particles Alpha Blended template

* Fixes:
    * Fixed issue on Lightweight PBR template over tangents on objects with non-uniform scales
    * Fixed issue on Lightweight PBR not receiving real time shadows
    * Fixed issue on Lightweight Unlit template available interpolators
    * Fixed issue on Lightweight Unlit template not showing correctly on dropdown menu
    * Fixed issue on tab titles not being correctly written on shader mode over templates
    * Fixed issue on property names incorrectly appearing over inline properties
    * Fixed issue with copy/pasting 'Append' nodes
    * Fixed issue on 'Global Array' node loading from older shaders

v1.5.3 dev 03:
* New Template:
    * Lightweight Unlit
        * Renamed already existing SRP Template to Lightweight PBR

* New Sample:
    * SRP Lightweight 2D Fractal

* Fixes:
    * Fixed issue with 'Parallax Occlusion Mapping' node over Lightweight templates
    * Fixed Safe Normalize issues with 'View Dir' node on templates

* Improvements:
    * Added Auto-Register option into 'Static Switch' node
    * Minor improvement over 'Parallax Occlusion Mapping' node generated code to avoid duplicate calculations

v1.5.3 dev 02:
* Fixes:
    * Fixed infinite loop via context menu issue

* Improvements:
    * Added support for Specular workflow into Lightweight SRP template
        * Use either the new Specular port or the already existing Metallic port to choose which workflow to use
    * Added extra ASE null pointer exception prevention test on attempting loading shader with missing shader functions

v1.5.3 dev 01:
* Improvements:
    * Conditional 'If' node also support Int as compare values
    * Added Triplanar scale port for normal scaling when using normals in 'Triplanar Sample' node
    * Improved code generation for 'Texture Coordinates' node
    * Changed way float values were being generated when their value was an integer
        * Removes warnings and makes sure some operations are done in the correct space, like divisions
    * Improved operations order on 'Panner' node
    * Added Force Disable Instancing option into Surface output node Rendering Options
    * Updated Lightweight SRP template to be compatible with Unity latest LW SRP version 1.1.5

* Fixes:
    * Fixed issue on 'Global Array' node not being correctly detected by ASE
    * Fixed texture array sampling error caused by 'Parallax Occlusion Mapping' node on Unity 2018
    * Fixed issue on local variable excluded reset method
    * Fixed issue on 'Triplanar Sample' node Material Mode not being correctly set

v1.5.2 dev 05:
* New Samples:
    * Single Channel Masking by Sarah Akers and David Marshall
    * Dithering Fade Blue Noise

* New Node:
    * Inverse View Matrix

* Fixes:
    * Fixed issue on not copying defaults to material values when changing Type from Global to Property over property type nodes
    * Fixed Stencil Comparison not being correctly written on shader when set as an inline property
    * Fixed issue on Reference mode not being taken into account when registering 'Texture Sample' properties
    * Fixed infinite loop on 'Texture Sample' nodes with Reference mode
    * Fixed custom outline alpha mask mode
    * Fixed issues on compare type nodes accessing their Wiki page
    * Fixed dropdown left title padding for nodes that have it but don't have a preview arrow

* Improvements:
    * Improved 'Unpack Scale Normal' node usage on Burn Effect sample
        * Now compatible across all Unity versions
    * Re-factored Global variables behavior over property type nodes
        * Material values can no longer be edited
        * Auto-fetching global variables values every 2 seconds 
    * Parameter type can be changed in node over texture type nodes
    * Removing automatic header creation by properties under shader functions
        * User now can manually set headers on property type nodes via its attributes
    * Turned the main Mask Clip Value an inline property so users can set it to be a specific node
    * Updated 'Screen Position' node preview

* New Previews:
    * Compare ( A > B )
    * Compare ( A >= B )
    * Compare ( A < B )
    * Compare ( A <= B )
    * Compare ( A == B )
    * Compare ( A != B )
    * Compare With Range
    * If [Community]
    * Decode Float RG
    * Encode Float RG
    * Decode Float RGBA
    * Encode Float RGBA
    * Decode View Normal Stereo
    * Encode View Normal Stereo
    * Decode Lightmap
    * ColorSpaceDouble
    * Face
    * Switch By Face
    * LOD Fade
    * Layered Blend
    * Weighted Blend
    * Summed Blend

v1.5.2 dev 04:
* Fixes:
    * Fixed issue on Post-Process sample scenes crashing on lower Unity versions
    * Fixed issue on fallback behavior when required template on loaded shader is not found
    * Fixes issue on texture type nodes moving when a texture is selected over it's picker
        * ASE window now aware when ObjectSelectorClosed command is fired to ignore incorrect mouse delta values

* Improvements:
    * View Dir vector on templates is now calculated on fragment by default
    * World Reflection vector on templates is now calculated on fragment by default
    * Native View Dir vector calculation on Lightweight SRP template is now done on fragment
    * Shader function 'Reconstruct World Position From Depth' now also works with screen shaders
    * Updated Skybox - Cubemap Extended by Cristian Pop sample

v1.5.2 dev 03:
* Fixes:
    * Fixed issue with 'Grab Screen Color' node on Lightweight SRP template
    * Fixed multiple issues with Shader Model selection over templates
    * Fixed issue on not correctly syncing module data from modified template

* Improvements:
    * Re-factored local variable creation over ports to make it more robust
    * Vertex ports are now analyzed before fragment ones
        * Vertex position dependent operations now take applied offsets into account
    * Pragmas, Includes and Defines are copied from linked nodes if Pass is set as invisible
    * Added preview to 'Vertex To Frag' node
    * Small optimization on drawing connections
    * Minor tweak over Particles Alpha Blended template
    * Assigned dynamic interpolators now take both sub shader and pass info into account
        * Modified Lightweight SRP template to share dynamic interpolators amount over hidden passes

v1.5.2 dev 02:
* Improvements:
    * Added Safe Normalize option to 'World Space Light Dir' node
        * Assures vector is not zero even if there's no lights in scene 
    * Added Safe Normalize option to 'View Dir' node
        * Assures vector is not zero even if there's no cameras on scene
    * Property names can neither be or start with numerical values nor Unity reserved names
    * Variables from 'Register Local Var' nodes cannot start or be numerical

* Fixes:
    * Fixed shader function subtitles not being shown after being set with the 'Function Subtitle' node
    * Fixed Custom Lighting using opacity and opacity mask duplicating code

v1.5.2 dev 01:
* Fixes:
    * Changed alpha generation for Custom Lighting to work correctly with alpha mask
    * Fixed issue on shader function reloading not being taken as a load operation
    * Fixed instanced properties not being correctly taken into account inside shader functions

* Improvements:
    * Improved shader function asset loading on Shader Function node

v1.5.1 dev 06:
* Improvements:
    * Added preview to 'Noise Generator' node
    * Improved node internal data viewer performance
    * Improved the shader changed/dirty flag behavior
    * Improved graph canvas position adjust on loading from a previously different window configuration
    * Renamed 'Melting' sample shader to be in accordance with other community samples

* Fixes:
    * Fixed property node auto-register issue on 'Skybox - Cubemap Extended' sample
    * Fixed issues with 'World Normal' and 'World Reflection' nodes on PS4
    * Fixed multiple cast issues across multiple nodes
    * Fixed incorrect port behavior on 'Refract' node
    * Fixed issue on undoing instanced properties assignment
    * Fixed 'Break To Components' node duplicating code and generating errors

v1.5.1 dev 05:
* Improvements:
    * Added previews to nodes
        * Desaturate
        * Grayscale
        * Posterize
        * Simple Contrast
    * Normal type input ports now show the correct default tangent vector on nodes internal value previewer
        * Indirect Diffuse Light
        * Indirect Specular Light
        * Fresnel
        * World Normal

* Fixes:
    * Fixed possible issue with 'Desaturate' node on PS4
    * Fixed issues with Undo/Redo operations over Wire nodes 
    * Fixed light color and light dir info on 'Light Color' 
        * Now takes into account Unity different behaviors between versions
    * Fixed issue on loading canvas on ASE tabs pointing to inexistent resources

v1.5.1 dev 04:
* New Node:
    * Function Subtitle
        * Allows creation for custom subtitles on Shader Functions

* New Shader Functions:
    * Perturb Normal
    * Cotangent Frame

* Improvements:
    * Can now assign property to both blend modes and operations
    * Removing carriage return when saving 'Custom Expression' node code on meta
    * Improved restrictions on Shader Functions outputting Matrix type data
    * Name is carried over Pasted/Duplicated 'Custom Expression' nodes
    * Custom Editor/Inspector option is now available over templates
    * Updated both Lightweight template and samples to new beta version
        * Template now support vertex offset and alpha test
    * Nodes internal data can be viewed directly on canvas 
        * Can be turned on/off through the 'I' key
    * Added Editable If Custom Drawer by BinaryCats
    * Dynamic interpolator cap now respecting pass choice on graph 
    * Updating current templates to be dynamically cap'ed
    * 'Light Color' and 'World Space Light Dir' nodes now behave properly when used with lightmaps 

* Fixes:
    * Fixed issue with incorrectly trying to write fragment instructions on template without specified frag code area
    * Fixed issue where reference 'Function Switch' nodes were not displaying their option in all cases
    * Fixed wire node Undo issues

v1.5.1 dev 03:
* New Samples:
    * Simple Potion Liquid
    * Melting by Gil Damoiseaux

* Improvements:
    * Extended functionalities on 'Custom Expression' node 
        * Added Auto-Register toggle to create custom functions even if not connected to output node
        * Added void to Output Type
        * Call Mode toggle is now a Mode dropdown
            * Mode Call now only allows external function calls or inline instructions
            * If a return instruction is detected on code, Mode is set to Create and return type set to void

* Fixes:
    * Fixed Undo issue with property type nodes auto-register option
    * Fixed issue on calculation view direction on tangent space over templates

v1.5.1 dev 02:
* Fixes:
    * Fixed issue with 'Standard Surface Light' not taking Normal Space option into account
    * Fixed minor issue over 'Outline' node
    * Fixed issue on Undo not resetting correctly ports internal values
    * Fixed issue on incorrectly assigning main output node status into copy-pasted 'Function Output' nodes

* Improvements:
    * Added custom attributes to 'Static Switch' node
    * Custom Material Inspector now properly copies texture scale and offset values

v1.5.1 dev 01:
* Fixes:
    * Fixed 'Static Switch' node not properly generating Enum code in the correct order
    * Fixed normal generation issue on 'Standard Surface Light' node
    * Fixed issue when attempting to load shader using inexistent template on project folder
        * Now fall-backing to Standard Surface when template is not found
    * Fixed issue capturing properties with attributes on templates
    * Fixed incorrect tool-tip on 'Template Multi-Pass Switch' node
    * Fixed issue on normal generation over 'Fresnel' node
    * Fixed initialization issue on Default UI template
    * Fixed issue with accessing uninitialized textures on 'Triplanar Sample' node
    * Fixed preview issue on 'Template Parameter' node
    * Fixed issue locking picker on texture type nodes to current type when auto-cast is on 

* Improvements:
    * Improved 'Break To Components' generated code
    * Preventing duplicates/re-definition of Pragmas, Defines and Includes over templates

v1.5.0 dev 02:
Fixes:
    * Fixed issue on template capturing commented properties
    * Fixed multiple issues over templates with multiple sub-shaders
    * Fixed issue on master nodes attempting to access uninitialized UI texture
    * Fixed issue with sometimes not extracting the correct pass name from template
    * Fixed issue on incorrectly catching shader name on fetching modules info
    * Fixed issue with correctly setting the shader name

v1.5.0 dev 01:
* New Samples:
    * SRP Lightweight GlintSparkle
    * SRP Lightweight Coverage

* Fixes:
    * Fixed issue on loading shader with missing shader functions
    * Fixed issue on duplicate pragmas over generated shader
    * Fixed issue with template post processor not correctly registering new templates
    * Fixed issue on template output nodes modules incorrectly sharing foldout value
    * Fixed Undo issue when undoing deleted property type nodes after saving shader
    * Fixed 'Static Switch' node registering duplicates in the material properties group

* Improvements:
    * Reorganized samples shader paths
    * Reorganized template menu items
    * Canvas and output node title now shows shader name without relative paths
    * 'Register Local Var' node now generates a new name when duplicated
    * 'Indirect Diffuse Light', 'Indirect Specular Light' and 'Light Attenuation' nodes now work on templates

v1.4.5 dev 04:
* New features:
    * Added support for multi-pass templates
    * Added support for Lightweight Scriptable Rendering Pipeline

* New Shader Function:
    * Create Normal : Generates a normal map from a height map

* New Template:
    * LightweightSRP

* Fixes:
    * Fixed texture coordinates generation in templates
    * Changed initialization in 'Triplanar Sample' node to prevent null pointer errors

v1.4.5 dev 03:
* Improvements:
    * Exposed Specular Color property into the Output node material list when Blinn Phong Light Model is selected

v1.4.5 dev 02:
* Fixes:
    * Fixed Auto-Register option not being saved for property type nodes
    * Fixed issues with generated normalized screen position values over templates

* Improvements:
    * Cull, Stencil, Color Mask and Depth options can now reference properties instead of standard options
    * Redone visuals of property type nodes Attributes list to be easier to use
    * Added new Enum and Custom attributes to property type nodes
        * Enum on Create Enum mode creates an Enum attribute using the specified Name/Value pairs
        * Enum on Use Engine Enum Class mode creates an Enum attribute from the specified class
        * Custom attribute allows to specify completely custom attributes
    * Outline now forces shader to be Forward only to prevent visual inconsistencies

v1.4.5 dev 01:
* New Shader Function:
    * Constant Bias Scale

* Fixes:
    * Fixed null pointer issue with removing connections with Alt key
    * Fixed issue on 'Template Local Var' node only working on fragment function

v1.4.4 dev 06:
* Fixes:
    * Fixed issue on 'Texture Sample' nodes not automatically setting the texture type on AUTO
    * Fixed connection type mismatch after CTRL + swap shortcut
    * Fixed issue on 'Dither' node

v1.4.4 dev 05:
* Fixes:
    * Fixed multiple Undo issues on shader functions
    * Fixed serialization issue with both nodes and graph when hitting Unity play button

v1.4.4 dev 04:
* Fixes:
    * Fixed issue on Specular Highlights and Reflection toggle not being read/written into shader meta
    * Fixed issue on not correctly taking templates global variables into account when building shader
    * Fixed issue where 'Triplanar Sample' node wasn't being initialized properly
    * Fixed Undo issues on create/delete nodes
    * Fixed Undo issues on preview node resizing

* Improvements:
    * Added new Enum Property Attributes for both 'Float' and 'Int' nodes
    * Added new Keyword Enums option to 'Static Switch' node Type option
        * Improved its interface to better accommodate new options
    * Added new keywords to 'Static Switch' Keyword dropdown
    * Increase max port count for 'Function Switch' node to 9
    * Added/Changed shortcuts for various nodes 
        * R - Create 'Register Local Var' node 
        * G - Create 'Get Local Var' node
        * Z - Create 'Swizzle' node 
        * X - Create 'Cross' product node
        * Period(.) - Create 'Dot' product node
        * B - Create 'Break to Components' node
        * K - Create 'Component Mask' node
        * V - Create 'Append' node

v1.4.4 dev 03:
* New Sample:
    * Skybox - Cubemap Extended by Cristian Pop

* New Shader Functions:
    * Step Antialiasing
    * Create Orthogonal Vector

* Improvements:
    * Node graph is now a ScriptableObject to better deal with automatic serialization
    * Templates can now register and use local variables
        * Use /*ase_local_var*/ before the variable declaration over the template
        * Access the local variable through the new 'Template Local Var Data' node over the graph
    * Added new Normal Space option into 'Standard Surface Light' node
    * Optimized nodes port internal data usage
    * Node tooltip no longer shown online link for shader function nodes
    * Small optimizations to node previews

* Fixes:
    * Fixed function registry on 'Custom Expression' node to correctly deal with dependencies
    * Fixed issue on linear textures over the texture creator tool
    * Fixed issue where the editor was being called on play mode but no window was present
    * Fixed issue on texture coordinates of different sizes being created with the same name

v1.4.4 dev 02:
* Fixes:
    * Fixed issue on templates where vertex normal was being declared as a float4 on vertex data
    * Fixed PS4 issue on billboards generated code
        * Updated Orientation Based Sprite sample to include fix

* Improvements:
    * Changed texture array creator to support compressed formats 
    * Added custom inspector for texture arrays to allows previewing their contents on the inspector window
    * Added new Set Unique option into 'Custom Expression' node
        * If toggled off, generated internal function doesn't use unique id on its name

v1.4.4 dev 01:
* Improvements:
    * Custom Pragmas, Includes and Defines are now also included on the Outline pass
    * Automatically removing crlf from copy-pasted code over the 'Custom Expression' node
    * Custom Render Type can now be specified on the Render Type dropdown over the Output node properties

* Fixes:
    * Fixed issues on 'Remainder' node

v1.4.3 dev 05:
* Fixes:
    * Fixed issue on excluding Add Pass independently of Debug port connection

v1.4.3 dev 04:
* New Shader Function:
    * Radial UV Distortion
        * Sample with the same name was also added to demonstrate its usage

* Fixes:
    * Fixed multiple issues related to Debug port usage on Output node
        * It now works as a custom lighting port instead of emission
    * Fixed issue on incorrectly opening standard materials into ASE
    * Fixed issue on duplicate local variable creation when using 'Parallax Mapping' node on shader functions

v1.4.3 dev 03:
* Fixes:
    * Fixed issue on 'Vertex Tangent' node internally outputting float4 data in templates instead of float3
    * Fixed shader function category typos
    * Fixed issue on ports accessing already destroyed nodes for previews
    * Fixed issue on precision type used in shader functions

* Improvements:
    * Added ZWrite and ZTest options to 'Outline' node

v1.4.3 dev 02:
* Improvements:
    * Shader tags can now be modified on templates based shaders
    * Added new Particle Additive option on Blend RGB and Blend Alpha dropdown
        * Sets Source to 'Source Alpha' and Destination to 'One'
    * Added new options to 'Shade Vertex Lights' node
        * Can now select amount of lights to take into account and if as spot or point light

* Fixes:
    * Fixed issue on incorrectly indented code generated by some nodes on template shaders

v1.4.3 dev 01:
* New Samples:
    * Orientation Based Sprite
    * UI Sprite FX

* New Shader Function:
    * Box Mask
    * UI-Sprite Effect Layer

* Fixes:
    * Fixed issue on attempting to deactivate destroyed nodes

* Improvements:
    * Updated Sprite and UI templates to better support normal maps
    * Changed way logic is updated in some nodes to be more consistent and work inside shader functions

v1.4.2 dev 06:
* Fixes:
    * Fixed incorrect wire highlighting caused by 'Register Local Var' node
    * Fixed issue with 'Texture Sample' node not generating proper UVs in specific cases when using templates
    * Minor UI and refresh fixes to 'Function Switch' node
    * Fixed issue on incorrectly loading SimpleTerrain sample
    * Fixed issue on unnecessary loading when opening a changed shader or function

* Improvements:
    * Added compatibility with Unity 2018
        * For now 'Substance Sample' node is unavailable on this version
        * Substance example is now inside a unity package to prevent sbsar importing error
    * Removed Substance and API update warnings on Unity 2017
    * Added new Vertex Position input port into 'Surface Depth' and 'Camera Depth Fade' nodes
        * Can now take custom vertex positions into account
    * Added some minor improvements into 'Register Local Var'/'Get Local Var' node usage
        * 'Register Local Var' node is now highlighted if one of its 'Get Local Var' nodes are selected
        * 'Register Local Var' node now lists and can focus each 'Get Local Var' which uses it
    * Added reference capabilities to 'Function Switch' 
        * One node can now control different paths of a shader function graph

v1.4.2 dev 05:
* Fixes:
    * Fixed Undo issues with connections created/deleted by drag + Alt
    * Fixed issue on templates vertex local variables when using 'Vertex To Fragment' node
    * Fixed bug where 'Function Switch' node options were being incorrectly saved which caused a crash on load
    * Fixed shader 'Function Switch' node options not being correctly ordered all the time 
    * Fixed connection signal detection to make 'Function Switch' nodes know when to turn on

v1.4.2 dev 04:
* New Node:
    * Function Switch
        * Node specific to shader functions which allows switching options at compile time on them

* New Shader Function:
    * Flipbook

* Improvements:
    * Changed switch type nodes port order to match 'Function Switch' and maintain consistency

* Fixes:
    * Fixed issue on duplicated functions when both outline and shadow caster passes are active
    * Fixed issue with calculating label size for nodes
    * Fixed UI issue when not being able to read depth info from template

v1.4.2 dev 03:
* Improvements:
    * Added Depth module into templates
    * Minor improvement on Four Splats First Pass Terrain shader function
    * Minor improvement on TerrainSnowCoverage and SimpleTerrain samples
    * Added preview and access to internal data into 'HSV To RGB' and 'RGB To HSV' nodes
    * Added preview to 'If' node
    * Added new Normalize option into 'World Normal' and 'World Reflection' nodes
    * 'Outline' node now supports transparency and mask operations through the new Alpha Mode option
    * An additional depth pass can be added via the new Extra Depth Pass option on the Output Node properties
    * Property nodes can now register its properties/global variables without being connected to Output node
        * Done via the new Auto-Register option

* Fixes:
    * Fixed minor issue on 'Rotate About Axis' node UI
    * Fixed issue with 'World Reflection' node on templates

v1.4.2 dev 02:
* Improvements:
    * 'Toggle Switch' node can now share properties
    *  Added lock button to property name on property type nodes
        * Allows to customize the internal variable name used
    * Added support for 'View Dir' node on templates
    * Added preview position selection to shader functions to further customize function nodes

* Fixes:
    * Fixed issue where custom shadows were ignoring vertex colors
    * Fixed issue on 'Fresnel' node using a non-normalized normal vector
    * Small fix on 'Static Switch' node getting and setting values from the material

v1.4.2 dev 01:
* Improvements:
    * Lowered Shader Model target of Custom Lighting Toon example to be compatible with MacOs
    * Improved generated code for 'Grab Screen Color' and 'Grab Screen Position' nodes
    * Changed automatic generation of 'Grab Screen Color' node to make sure normalization is happening only once 
    * Added a toggle on 'Grab Screen Color' node which chooses if it normalizes/projects the input or not (default OFF)

* Fixes:
    * Fixed issue on generating default values for shader functions
    * Fixed issue on normal generation with the following nodes:
        * 'Fresnel'
        * 'Indirect Specular Light'
        * 'World Reflection'

v1.4.1 dev 02:
* New Nodes:
    * Decode Depth Normal
    * Encode Depth Normal

* Improvements:
    * Added internal data into shader functions 
        * If inputs are unconnected is now possible to change the default value from its node property panel
    * Property type nodes can now keep material value when not connected to an Output node
    * Tweaked 'Static Switch' node properties
    * Initial opened tab on property nodes depends on material mode

* Fixes:
    * Fixed issue on 'Custom Expression' node when using out variables in Call mode
    * Preventing 'Commentary' node from generating infinite loops when copy-pasted
    * Fixed issue with incorrect refresh call order on pasted nodes
    * Fixed issue on nodes are not being correctly nested into their parent 'Commentary' node when copy-pasted
    * Fixed issue on 'Toggle Switch' node not updating port names correctly after loading
    * Fixed focus issue on pickers with Mac

v1.4.1 dev 01:
* Fixes:
    * Fixed issue on 'Texture Sampler' node getting incorrectly configured on load
        * When default texture type different from material texture type

v1.4.0 dev 06:
* New Samples:
    * Simple Terrain
    * Terrain Snow Coverage
    * Custom Outline Toon

* New Nodes:
    * Rotate About Axis
    * Outline

* New Shader Functions:
    * Four Splats First Pass Terrain

* Improvements:
    * Tweaked 'Scale And Offset' node behavior
    * Added Defines tab into Output node properties
    * Preventing possible compilation errors on Experimental .NET 4.6

* Fixes:
    * Fixed issue on 'Texture Sampler' node not previewing a connected 'Texture Object' node
    * Fixed issue on texture picker not working correctly on texture nodes
    * Fixed incorrect version reading Convert To Linear parameter at 'Screen Depth' and 'Depth Fade' node
    * Fixed issue on duplicate UV Set on 'Texture Sampler' node when connected to a 'Texture Object'
    * Fixed issue shader function inputs and outputs getting lost when re-focusing  on them by double clicking the shader function node
    * Fixed issue on 'Custom Expression' node name editing on node body

v1.4.0 dev 05:
* Fixes:
    * Fixed issue on shadow caster for legacy samples:
        * Matcap
        * Parallax Mapping Iterations
        * Reflect Refract Soap Bubble
        * Screen Space Curvature
    * Fixed typo in 'Toggle Switch' node
    * Fixed issue on incorrectly accessing port through array id instead of unique id
    * Fixed issue on deprecated internal data not being correctly read into new 'Append' node

* Improvements:
    * Up and Down arrow keys can now change the focus of the node element in the context palette search similar to the Tab key

v1.4.0 dev 04:
* New Samples:
    * Animated UV Distortion

* Fixes:
    * Fixed issue on a shader function node crashing when its corresponding asset is not found
    * Fixed issue on applying Undo on Material Inspector not being caught by ASE canvas
    * Fixed issue on 'Float' node slider not being registered on Undo stack
    * Fixed issue on generating duplicate function names at 'Noise Generator' node
    * Fixed issue on returning to from a shader function to a main graph using with that shader function selected

* Improvements:
    * Added new Variable Mode property into property nodes when their type are not Constant
        * Create Mode, this is the current option on which an uniform variable is always created when the node is analyzed
        * Fetch Mode, assumes that this variable is already declared elsewhere, p.e. an external lib and doesn't declare it
            * When Property Type is selected, the property declaration is still created
    * Added explicit call to both Thread and CultureInfo system classes to avoid conflicts with user classes without proper namespace
    * Shader function's input and output ports maintain correct connections after being internally re-ordered
    * Automatically adding spaces into camelcase'd shader function node titles

v1.4.0 dev 03:
* Improvements:
    * Added validity check on Output and Input data types
    * Improved color code request for ports

v1.4.0 dev 02:
* New Shader Functions:
    * Compute Filter Width

* Improvements:
    * Explicitly calling System.Globalization on TextInfo usage to avoid compilation errors
    * Added custom pragmas for shader functions
    * Updated Vertex Normal Reconstruction sample
    * Added Reflection and Specular Highlight toggles into the Rendering Options group that mimic Unity's Standard
    * Added ToggleOff option to 'Static Switch' node which should now allow the creation of OFF toggles

* Fixes:
    * Fixed issue of properties not being properly ordered if their material property group wasn't open
        * Blend modes now update properly even if group is collapsed

v1.4.0 dev 01:
* Fixes:
    * Fixed issue with 'World Space Light Pos', 'World Space Light Dir' and 'Object Space Light Dir' nodes
    * Fixed issue on 'Texture Coordinates' node forcing a sampler to be picked even when none was selected
    * Fixed issue on 'Indirect Diffuse Light'node ignoring the tangent space normal completely
    * Small fix to shader functions so they can refresh their custom include list properly on change

* Improvements:
    * Added node previews for 'Light Attenuation' and both Indirect Light nodes
    * Added explicit call to Unity Editor ShaderUtil on Material Inspector to prevent class issues
    * Added Dependencies List on the Output Node properties

v1.3.9 dev 03:
* New Nodes:
    * 'Projector Matrix'
    * 'Projector Clip Matrix'
    * 'Texture Transform'

* Improvements:
    * Properties can be re-ordered on Template shaders
    * Cull, Blend Mode, Blend Ops, Color Mask and Stencil Buffer data can be read and modified on Template shaders
    * Added new custom Time port into 'Flipbook UV Animation' node
    * Templates no longer need /*ase_pass*/ tag to be declared
    * Adding UnityEngine.Object redundancy on its usage to prevent issues with other plugins
    * Outline can now take fog into account

* Fixes:
    * Fixed issue on shader function headers being placed last on shader property list

v1.3.9 dev 02:
* Fixes:
    * Additional fix on custom colored categories

v1.3.9 dev 01:
* Fixes:
    * Fixed issue with 'Texture Coordinates' node not generating proper code for sizes bigger than float2 
    * Fixed issue on reading old shaders data into new ASE versions
    * Fixed issue on custom colored categories

* Improvements:
    * Updated various samples that were still compiled on older ASE versions
    * ASE window now loses text focus when losing its focus to prevent UI issues
    * Added proper Texcoord support in custom shadow caster
    * Added new toggle on 'Screen Depth' and 'Depth Fade' nodes to disable conversion from log to linear space 
        * Important for Orthographic camera projections where Depth Buffer values are already stored in linear space

v1.3.8 dev 02/03:
* Improvements:
    * Added new custom lighting port and migrated the emission connection to this port
        * Now custom lighting display both albedo and emission to be used in baking
    * 'Function Input' and 'Function Output' names can be edited through node body

* Fixes:
    * Fixed indentation issue on some templates generated code
    * Fixed issue in texture property that would forget it's auto cast type on load
    * Fixed issue on 'Triplanar Sample' node being initialized with incorrect internal tiling value
    * Fixed issue on screen position for 'Dither' node
        * Now it changes the screen position interpolator globally to make it work on the shadow caster

v1.3.8 dev 01 ( the same as v1.3.7 dev 07 but bumped version for Asset Store release ):
* Improvements:
    * Added Shader Function previews
    * Improved node list update on current focused window when renaming a shader function

* Fixes:
    * Fixed issue on tabs node list not being updated with shader function renaming
    * Fixed issue with opacity mask not working correctly in custom lighting mode

v1.3.7 dev 05/06:
* New Shader Functions:
    * Half Lambert Term
    * Blinn-Phong Light

* Fixes:
    * Fixed issue with setting the proper canvas mode when load the shader or the editor window on hotcode reload
    * Fixed issue with shader function titles not supporting hyphen characters
    * Fixed issue on not refreshing shader function include files on load
    * Fixed issue on shader function tab name not being renamed when its file is renamed from the editor
    * Fixed 'Texture Sampler' node preview when in reference mode
    * Fixed stack overflow crash with pasting 'Commentary' nodes

* Improvements:
    * Premultiplied options now multiply RGB values with Alpha when in custom lighting mode
    * Shader Functions are now loaded by guid and fallback to name search method if load fails
    * Added custom categories for shader functions
        * Recompiled existing shader functions to account for new categories
    * Improved 'Triplanar Sample' node texture array support 
        * Now allows different index for each texture when doing triplanar in cylindrical mode
    * Area from picking inputs from connections now only take the port icon into account and only include the label when dropping the connection
    * Added preview for 'Static Switch' node

v1.3.7 dev 04:
* Fixes:
    * Fixes issue on Shader Function includes

v1.3.7 dev 03:
* Fixes:
    * Fixed issue on custom lighting nodes not compiling correctly when inside a shader function
    * Fixed dithermask being declared when not in use
    * Fixed texture array support with 'Triplanar Sample' node generating index code inside the function instead of outside of it
    * Fixed issue with 'Append' node preview

* Improvements:
    * Replacing '\' with '/' instead of removing it when writing Additional Include path names
    * Added Additional Include list into shader functions

v1.3.7 dev 02:
* Fixes:
    * Fixed issue with 'Texture Coordinates' node not generating local variables correctly
    * Fixed issue with Refraction port not correctly working with Tessellation
    * Fixed issue on applying vertex offset in certain Templates
    * Fixed cast and per channel operation issues on remaining blends on 'Blend Ops' node
    * Fixed issue on Soft Light Blend Op on 'Blend Ops' node
    * Fixed issue of Shader Function nodes not propagating data when generating code
    * Fixed focus issues when adding new items on Additional Includes, Pragmas, Sub-Shaders Tags and 'Custom Expression' node tools

v1.3.7 dev 01:
* Fixes:
    * Fixed 'Fmod' node issue with Int type connections
    * Small fix to the path button in the new Texture Array Creator tool

* Improvements:
    * Adding fallback when searching template by guid fails

v1.3.6 dev 01:
* Fixes:
    * Fixed error when setting previews for texture related nodes

* Improvements:
    * Improved cubemap support into texture related nodes
    * Removing Texture 0-3 and Scale Matrix options from 'Common Transform Matrices' node
    * Major rewrite for 'Triplanar Sample' node to make it easy to extend on the future
        * Small performance increase to 'Triplanar Sample' node

* Deprecated nodes:
    * 'Texture 0 Matrix'
    * 'Texture 1 Matrix'
    * 'Texture 2 Matrix'
    * 'Texture 3 Matrix'
    * 'Scale Matrix'

v1.3.5 dev 02:
* New Tool:
    * Added Texture Array Creator tool 
        * Available at Window > Amplify Shader Editor > Texture Array Creator

* Fixes:
    * Fixed Undo not being able to recover some nodes

* Improvements:
    * Changed Custom Material Inspector to be able to set and show custom meshes in it's Preview
    * Template Data nodes now expand individual channels if data selected is from vector/color type
    * Expanded individual channels ports on:
        * 'Object Space Light Dir'
        *'World Space Light Dir'
        * 'World Space Camera Pos'
        * 'Position From Transform'
        * 'Vector From Matrix'

v1.3.5 dev 01:
* New Shader Functions:
    * Blinn-Phong Half Vector

* Fixes:
    * Fixed issue on 'Toggle Switch' node not being correctly registered when created

v1.3.4 dev 02:
* Fixes:
    * Fixed issue on text fields in nodes picking up values from other text fields in the editor
    * Fixed cast issue on 'Flipbook UV Animation' node
    * Fixed issue on creating sampler wire nodes
    * Small fix for resize buttons of 'Comment' nodes
    * Small fix to focus and select search text in the context menu not happening in specific situations
    * Fixed issue with 'Object To View Pos' local variable
    * Fixed 'Triplanar Sample' node normal mode signs in certain situations
    * Fixed issue on adding the same grab pass declaration multiple times
    * Fixed issue on incorrectly getting separate channels from transform nodes after local variables are created
    * Fixed issue on duplicate uniforms with some templates
    * Fixed issue where shader function properties were resetting  after every save

* Improvements:
    * Locking blend type nodes from sampler and matrix type connections
    * Expanded 'Object To View Pos' vector output vector into individual ports
    * Changed 'Triplanar Sample' node base UV direction to match unity terrain
    * Expanded vector ports for 'Object Space View Dir' and 'World Space View Dir'
    * 'Lerp' node now converts int types in the alpha input port to float types to prevent errors

v1.3.4 dev 01
* Fixes:
    * Fixed issue with Opacity Mask port incorrect type
    * Fixed issue with incorrectly saving/loading multilines state in editor prefs
    * Fixed issue on not being able to create relays on texture type connections

v1.3.3 dev 01:
* Fixes:
    * Fixed multiple issues with 'Append' node behavior
    * Fixed null pointer exception when Shift + Tabbing helper window
    * Fixed duplication error on UV generation code

* Improvements:
    * Added Alpha To Coverage option ( tied to Opacity port being active ) 
    * Opacity Mask now only generates code if connected
    * Blend ops defaults are now OFF instead of ADD
    * Blend ops now pick the respective refined options when a specific blend mode is selected to make it easy to switch between them and the custom option ( opaque doesn't change anything )

v1.3.2 dev 04/05:
* Fixes:
    * Fixed Asset Post Processor issue with Templates renaming
    * Fixed middle clicking on reference preview focusing on referenced node
    * Fixed graphic glitch on 'Static Switch' node button
    * Fixed issue with copy/pasting nodes taking incorrect property names
    * Fixed issue on 'Toggle Switch' incorrectly being read from older ASE versions
    * Minor fix on 'Object To Clip Pos' node
    * Fixed Undo issue with pasted property nodes
    * Fixed issue with duplicate local variables on templates when having multiple ports from the same category

* Improvements:
    * Minor visual tweak on 'Standard Surface Light' node
    * Removed dependencies on custom shader inspector over the main ASE window so it can be removed by users
    * Setting first vector port automatically invisible ( if unconnected ) on nodes representing Unity built-in parameters ( since they are never used as vectors )
    * Improved custom template reader behavior
    * Minor improvement on Undo node paste behavior
    * Added Stencil Buffer Back and Front face options ( only visible when Culling is Off )
    * Changed input ports number of connections and data type visualization to represent the data being transferred in each cast
    * Improved crooked lines when nodes are too close to each other
    * Added custom single line texture properties for when the texture is marked to not have scale and offset properties

v1.3.2 dev 03:
* Fixes:
    * Fixed issue with 'Texture Sampler' node not taking procedural textures correctly into account
    * Matrices can no longer be connected into 'Vertex To Fragment' nodes input port
    * Fixed reordering issues with shader functions when these were updated
    * Fixed rare compile issue where shader function headers were created but no property was present
    * Fixed issue where view direction vector shader code was being generated with different precision types
    * Fixed issue with Matrix nodes being able to choose its type as Property and add Attributes
    * Fixed issue with Matrix nodes initial value not corresponding to internal draw data
    * Fixed issue with Matrix3x3 not working correctly when its type was set as Global
    * Fixed issue on function nodes generating local variables for Sampler data type variables

* Improvements:
    * Activating internal data for tessellation nodes
    * Minor tweak on vertex position data across all templates
    * Preventing 'DDX' and 'DDY' nodes to generate code when in vertex function
    * Removed Sampler data types as valid 'Custom Expression' output valid type

v1.3.2 dev 02:
* New Shader Functions:
    * 'Bidirectional Parallax Mapping' 
        * Mimics iterative Parallax Mapping with reference plane
    * 'Reconstruct World Position From Depth'

* New Samples:
    * Added new Vertex Normal Reconstruction sample

* Fixes:
    * Fixed issue with shader function nodes generating the same code multiple times
    * Fixed issue with function input generating duplicated code
    * Fixed issue with 'Texture Coordinates' node generating code in the vertex function when used inside a shader function
    * Fixed issue on 'Texture Coordinates' node in templates not respecting the size of the Coord Size option
    * Fixed issue on matrix multiplication via the 'Multiply' node not taking correct output type into account
    * Minor fix on Search Bar positioning
    * Recompiled Triplanar sample to be PS4 compatible
    * Recompiled Translucency sample to be PS4 compatible
    * Recompiled Hologram sample to be PS4 compatible
    * Fixed compilation issue with Billboard generated code in PS4
    * Fixed hot code reload issue with 'Template Parameter', 'Template Vertex Data' and 'Template Fragment Data'
    * Fixed issue on 'Fresnel' node not read/writing new normal space option
    * Fixed issue on 'Screen Position' node when used on Templates

* Improvements:
    * Functions inputs now allow the use of node default graph trees supporting complex default operations
    * Particle Alpha Blend template now uses a float4 on its TEXCOORD0 semantic both for vertex and interpolator data
    * Added pragma tag into Default Sprites template
    * Added port failsafe config into 'Texture Sample' node after reading all its internal data
    * Making vector port invisible in Unity Parameters type nodes if not being used
    * 'Component Mask' node only creates local variables if needed
    * Multi-wire colored connections now active by default
    * 'Fresnel' node now have Normal Space option set to Tangent by default
    * Shader functions now display their description on its Inspector window
    * Fixed 'Grab Screen Position' and 'Grab Screen Color' nodes for VR and updated the respective samples accordingly

v1.3.2 dev 01:
* New nodes:
    * 'Camera To World Matrix'
    * 'World To Camera Matrix'

* Fixes:
    * Fixed issues with 'Toggle Switch' node
        * It now properly creates a toggle property and lets user change material in the editor
    * Fixed issue on vertex local variables not being registered correctly on custom lighting
    * Precision selection on 'Grab Screen Color' node is no longer locked when Custom Grab pass is disabled
    * Fixed issue with 'Depth Fade' node  on OpenGL platforms
    * Normalized screen position code now works properly in all platforms
    * Fixed issue with 'Texture Array' node preview
    * Fixed issue with 'Vertex To Fragment' node generating duplicated code

* Improvements:
    * Added toggle button into 'Static Switch' node
    * Improved wire auto-connection to node when its created from the context palette when dragging a wire 
    * Auto screen UVs from 'Grab Screen Color' node now also take Unity Single Pass Stereo into account
    * Improved code generation on screen position related nodes
    * Activating internal port data into 'Toggle Switch' node
    * Updated Simple Blur and Simple noise examples to be fully android compatible
    * Tweaked 'Desaturate' node to prevent issues with PS4
    * Tweaked 'Parallax Occlusion Mapping' node to prevent issues with PS4

v1.3.1 dev 11:
* Fixes:
    * Fixed incorrect UV variable name on Post-Process template
    * Fixed Perforce integration again 
    * Fixed preview on 'Fresnel' node for the new tangent mode
    * Fixed issue with 'Screen Position' subtitle
    * Fixed issue with 'Vertex to Fragment' node on templates

* Improvements:
    * Added two additional nodes to templates,'Template Vertex Data' and 'Template Fragment Data' 
        * These nodes allow direct access to vertex and interpolated fragment data from the template
    * Adding vertex code entry tag into Post-Process template
    * Improved fail-safe behavior on attempt to write vertex code on template with no vertex tag declared
    * Minor tweaks on some nodes port names and order
    * 'Dither' node now has a input port that allows the use of a custom dither pattern 
    * 'Vertex to Fragment' node no longer generates unnecessary code and now acts as a relay if connected to a vertex path

v1.3.1 dev 10:
* Fixes:
    * Fixed cast issues on 'Smoothstep' node

v1.3.1 dev 09:
* Fixes:
    * Multiple fixes on custom shadow caster
    * Fixed issue on Templates Manager being incorrectly destroyed in some situations
    * Fixed issue on Template data not being correctly synced when user changes its source code and returns to ASE
    * Fixed issue where referenced 'Texture Sampler' nodes was not respecting the original property order
    * Fixed issue on 'Grab Screen Color' node not using Unity default grab pass when selected to use it
    * Fixed small issues on multiple examples

* Improvements:
    * Added tangent space normals to 'Fresnel' node and removed the internal normal value from its properties

v1.3.1 dev 08:
* Fixes:
    * Fixed issue on 'Simple Contrast' node
    * Fixed boundaries issues on 'Dither' node

* Improvements:
    * Minor tweak on 'Smoothstep' ports order
    * Added new Color and Intensity ports into 'Light Color' node
    * Minor overall optimizations on node previews
    * Added preview for 'Substance Sample' node
    * Added preview for 'Blend Operations'
    * Added input port for automatic texture dithering into 'Dither' node

v1.3.1 dev 07:
* Fixes:
    * Fixed issue on 'Simple Contrast' node ignoring Value internal data
    * Fixed issue on nodes preview data not being written when its internal data is read from shader
    * Fixed 'Texture Sampler' node to output a Color instead of Vector type 
    * Fixed 'Swizzle' node not detecting changes on its input ports
    * Fixed issue on allowing invalid characters when typing a custom keyword on the 'Static Switch' node

* Improvements:
    * Improved code generated by 'If' node and hides unused internal data
    * Improved 'Rotator' node behavior
    * Improved 'Panner' node behavior
    * Added checkout for version control systems that need it to edit files like perforce.
    * Changed labels and port order for various nodes in the Image Effects category to improve consistency

v1.3.1 dev 06:
* Fixes:
    * Fixed issue on template output node attempting to access template data before its initialization is complete
    * Fixed issue with validate/execute commands like duplicate on Mac
    * Fixed issue on not updating correctly mouse position when doing multiple pastes/duplicates
    * Fixed disappearing titles when selecting 'Register Local Var' nodes being used by 'Get Local Var' nodes located outside the visible graph area 
    * 'Toggle Switch' node now properly casts its main port type for both input ports

v1.3.1 dev 05:
* Fixes:
    * 'Indirect Specular Light' and 'Indirect Diffuse Light' now compile properly in vertex functions but provide dynamic baking results only
    * Changed mask clip variable name to be compatible with internal unity functions
    * Fixed issue with texture arrays derivatives not being declared in 'Parallax Occlusion Mapping' nodes
    * Fixed 'Texture Sample' node not changing cast mode automatically when in reference mode
    * 'Lerp' node now works as the hlsl/cg specification and allows for component based interpolation
    * Fixed issue on template native properties getting lost when hot code reloading

* Improvements:
    * 'Get Local Var' nodes now get highlighted in green when their referenced 'Register Local Var' node are selected
        * It should be now easier to spot how many and which nodes use a determined Register node, we intend to expand this idea to other similar cases
    * 'Static Switch' now allows to use define symbols and material toggle is now optional
    * 'Keyword Switch' is now deprecated (opening the shader in newer versions should replace it by 'Static Switch')
    * 'Static Switch' and 'Grab Screen Color' nodes now show their node name in title but still allows to edit their variable by double clicking
    * Reorganized toolbar buttons for consistency
    * Showing internal value name at the node properties window when selecting a property on the 'Template Parameter' node

v1.3.1 dev 04:

* Fixes:
    * Fixed issue with 'Static Switch' node duplicatnig code
    * 'Static Switch' node now properly allows the use of the same keyword
    * Fixed issue with Int ports generating black previews
    * Fixed issue where 'Custom Standard Lighting' node was generating garbage code when connected multiple times
    * Fixed dynamic baked lightmapping for 'Indirect Diffuse Light' node
    * Default fallback is now only added if shader doesn't use it's own

* Improvements:
    * Changed 'Template Parameter' node to mimic the same look from the equivalent property nodes
    * Changed some labels and warning texts to be more clear on what's going on for texture objects
    * Int port color now uses the same color as float nodes
    * Added ASE custom inspector to the default templates
    * Added support for Texture Arrays with 'Parallax Occlusion Mapping' node

v1.3.1 dev 03:
* New Features:
    * Added custom pragmas support to the main property panel

* Fixes:
    * Fixed issue with texture arrays when in reference mode creating multiple properties
    * Fixed issue of 'Vertex To Frag' node not generating code in certain situations
    * Fixed issue with 'World Reflection' node not generating code correctly in vertex functions
    * Fixed issue of custom shadow caster not using the correct shader model
    * Fixed issue with dynamic port nodes not updating correctly in some occasions
    * Fixed issue of some nodes not properly using the selected precision type
    * Matrix 3x3 port types now display properly in the node property panel and compile correctly

* Improvements:
    * 'World Position' node now forces float precision
    * Some more changes for the nodes subtitles for consistency
    * Minor performance and GC improvements

v1.3.1 dev 02:
* Fixes:
    * Fixed issue with 'World Normal' node not generating it's components values properly in some occasions
    * Fixed issue with some parameters foldouts not displaying correctly and added a new context message for empty foldouts

* Improvements:
    * Changed some subtitles prefixes to be more consistent about what they represent
    * Changed dropdown icon to a less confusing and more intuitive one
    * More editor performance improvements and reduction of GC in various places

v1.3.1 dev 01:
* Fixes:
    * Fixed issue on copy-pasting custom lighting nodes
    * Fixed issue on null pointer reference on preview material when hitting play mode 

* Improvements:
    * Added upper left widgets into several nodes to change important properties directly on node body
    * Added secondary title into several nodes to show its current state directly from node body

v1.3.0 dev 03:
* Improvements:
    * Completely refactored and changed the graph and node rendering to use a semi-MVC model
        * Improves the overall performance in several orders of magnitude
    * Various small visual fixes and improvements
    * Various changes to prevent most memory allocations heavily reducing GC
    * Changed zoom and auto-pan to a smooth version and fixed its auto-boundaries
        * This should make the editor feel more snappy and responsive
    * New object pickers for 'Substance Sampler' and 'Triplanar Sampler'
    * New outline for selected Wire nodes
        * Now is easier to see in all situations
    * Various previews were added,improved or fixed
        * 'Texture Sampler' nodes now properly display default values
    * Tweaked Input Type labels on 'Custom Expression' nodes to match shader variable type names
    * Custom Lighting nodes now show internal data and have additional Normal options

* Fixes:
    * Fixed 'Texture Array' node issue when referencing an un-connected node
    * Fixed UI issue on 'Custom Expression' qualifiers
    * Fixed issue on shader name being overwritten when changing template
    * Fixed issue on copy/cut/paste not being correctly caught by nodes search bar

v1.3.0 dev 02:
* Fixes:
    * Fixed issue with Output Node Opacity Mask port not working with Custom Lighting 
    * Fixed errors with some nodes inside shader function

* Improvements:
    * Improved internal file reader to be more robust in case of trying to load in-existent files
    * Templates Manager can now also be initialized by its post processor in case of an ASE window is not open
    * 'Blend Operations' node show current selected Blend Op on node body
    * Locked Custom Light nodes from being used on Templates

v1.3.0 dev 01:
* New Features:
    * Templates
        * Create new shaders from already existing ones which serves as base/templates

* Fixes:
    * Fixed issue on ports internal data not showing on 'Append' node
    * Fixed infinite loop on 'Texture Coordinates' and 'Texel Size' nodes

v1.2.1 dev 02:
* Fixes:
    * Fixed issues with previews on 'Multiply' node
    * Fixed incorrect tooltip on 'Face' node
    * Fixed issue on 'Standard Surface Light' node where GI wasn't correctly picking normals
    * Fixed 'Texture Sampler' node not correctly generating code when connected to relays or shader functions
    * Fixed issue on 'Texel Size' and 'Texture Coordinate' nodes when referencing nodes not connected to Master Node

* Improvements:
    * 'Grab Screen Color' node now uses Unity default grab texture and allows overriding it like it's previous behavior

v1.2.1 dev 01:
* Improvements:
    * Major refactor on all nodes categories and colors to improve consistency
    * Added subtitle to 'Swizzle' and 'Component Mask' nodes to reflect their options
    * Added configurable background color for 'Commentary' nodes

* Fixes:
    * Fixed issue with lightmaps when using the 'Standard Surface Light' node on Custom Lighting Light Model
    * Fixed issue on overwriting default texture values on 'Texture Sample' node when loading values from material

v1.2.0 dev 02:
* Improvements:
    * Adding Call Mode into 'Custom Expression' node
        * On this mode all code written into the Code area will be directly injected into the shader code without being assigned to a local variable
        * The result written on the output port will be what is directly connected to the first input port ( named In ) which is not taken into account by the code expression. The In/Out pair will act as a simple relay.

v1.2.0 dev 01:
* Fixes:
    * Fixed issue on generating UI exception when sometimes iterating between Search Node Bar results
    * Fixed issue on Output node size increasing infinitely with shader name
    * Fixed issue on incorrect serialization on 'Texture Sampler' node

* Improvements:
    * Texture Object type nodes no longer auto-set the 'Texture Sampler' Normal Map option
        * Normal Map option was renamed to Unpack Normal Map 
        * A warning is shown if a Texture Object marked as normal map is connected to a 'Texture Sampler' node with the Unpack Normal Map options turned off

v1.1.0 dev 13:
* Fixes:
    * Fixed issue with reading incorrect legacy port info into 'Lerp' node
    * Fixed issue on cycling through deleted nodes when using the Nodes Search Bar
    * Fixed issue with incorrectly moving nodes nested into multiple 'Commentary' nodes
    * Fixed issue on Undo not registering internal node movement on 'Commentary' nodes
    * Fixed issue when using 'Virtual Texture Object' node on Vertex ports
    * Fixed issue with incorrectly moving selected nodes while resizing side menus

* Improvements:
    * 'Simple Contrast' node now always store its result on a local variable
    * Greatly improved 'Commentary' node:
        * You now can use box selection inside the node body
        * You now can create Wire nodes by double clicking on a wire inside the node body
        * You now select and drag the node via its header or by pressing anywhere on the node body having the Alt key down
        * You now need to double click the node header to be able to modify its comment directly from there

v1.1.0 dev 12:
* Fixes:
    * Fixed issue with creating legacy code for LOD Cross Fade on Unity v.2017 and above
    * Fixed issue on 'Lerp' node not adjusting correctly when disconnecting input ports
    * Fixing issue with node drag with snap 
        * Now done by having both Ctrl+Shift pressed

* Improvements:
    * 'Blend Operations' node now automatically adapts to input ports
    * Improving Search Bar focus behavior

v1.1.0 dev 11:
* Fixes:
    * Fixed incorrect behavior on creating connections through Alt + Shift
    * Fixed out of bounds exception caused by removing ports on shader functions
    * Fixed issue with 'Triplanar Sampler' node not deleting correctly in some occasions
    * Fixed ordering issues with Stencil Buffer example

* Improvements:
    * Overall improvements on nodes descriptions

v1.1.0 dev 10:
* Fixes:
    * Fixed new Billboard Ignore Rotation option incorrectly ignoring game object translation

v1.1.0 dev 09:
* Fixes:
    * Fixed issue with deprecated nodes warning message throwing an exception on recent Unity versions
    * Fixed 'Texel Size' node issues on Shader Functions

v1.1.0 dev 08:
* New Features:
    * New 'Keyword Switch' node

* Improvements:
    * Improved 'Lerp' and 'Clamp' nodes behavior
    * Added new improved dynamic 'Append' node which adapts to inputs and deprecated the old one
    * Billboards can now ignore object original rotation via its new Ignore Rotation toggle
    * New Soft Light option was added to 'Blend Operations' node

v1.1.0 dev 07:
* New Features:
    * Added support for Custom Subshader Tags on Output Node properties

* Fixes:
    * Fixed issue with having 'Custom Expression' nodes with similar port names

* Improvements
    * Small improvements on canvas zoom behavior 

v1.1.0 dev 06:
* New Features:
    * Added new nodes:
        * 'World Transform Params'
        * 'Vertex Bitangent'
        * 'Vertex Tangent Sign'

* Improvements:
    * Able to specify an HDR color on 'Color' node if the HDR attribute is set
    * Added previews to nodes:
        * Time
        * Object Scale
    * Improved how vertex data is being generated to prevent future issues

* Fixes:
    * Fixed incorrect order of instruction write on 'Texture Coordinates' node

v1.1.0 dev 05:
* New Features:
    * New 'Standard Surface Light' node ( exclusive to Custom Lighting Light Model )

* New Samples:
    * Double Layer Custom Surface

* Fixes:
    * Fixed issue with pasting nodes not refreshing external references from original ones
    * Fixed issue with generating helper local variable ids on several nodes which may lead to issues on shader functions
    * Fixed issue on 'Depth Fade' node
    * Fixed issue with not registering sampler dummies correctly when using 'Texture Coordinates' node with Tessellation
    * Fixed issue on multi-tabs with breaking all tabs except the focused one when dragging wires

* Improvements:
    * Added previews to nodes:
        *'World Space Camera Pos'
        *'Object Space Light Dir'
        *'World Space Light Dir'
        *'Light Color'
        *'Object To World'
        *'World To Object'

v1.1.0 dev 04:
* Fixes:
    * Fixed issue on 'Texture Coordinates' node generating wrong dummies on UV Sets different than 1
    * Fixed issue on 'Register Local Var' node usage with shader functions

* Improvements:
    * Setting Enable Instancing option default value to false
    * Adding Exact Conversion option into 'Gamma To Linear' and 'Linear To Gamma' nodes for more accurate results

v1.1.0 dev 03:
* Fixes:
    * Fixed issue on 'Pi' node
    * Fixed issue on 'Texture Coordinates' node not generating unique names when used on vertex body
    * Fixed issue with incorrectly counting amount of 'Virtual Texture Object' nodes on graphs
    * Fixed issue on 'Texture Array' drawers
    * Fixed issue on 'Remap' node preview preventing division by zero

* Improvements:
    * 'Texture Array' node:
        * Now work with shader functions 
        * Added derivative option to 'Texture Array' node
        * Minor tweak on tooltip text

* New Features:
    * New Community Node 'GlobalArray' submitted by Vincent van Brummen and created by Johann van Berkel
    * Added new Enable Instancing toggle into Rendering Options to be able to activate instancing without having to use Property nodes

v1.1.0 dev 02:
* Improvements:
    * 'Vertex TexCoord' and 'Swizzle' node types can be selected from node body

* Fixes:
    * Fixed issue with 'Grab Screen Color', 'Get Local Var' and 'Texture Sample' nodes loosing references inside Shader Functions
    * Fixed issue on not correctly registering all Grab Passes from multiple 'Grab Screen Color' nodes
    * Fixed small issue on 'Commentary' node not being able to focus on comment text field when created

v1.1.0 dev 01:
* Fixes:
    * Fixed issue with being able to open recently created shader multiple times

* Improvements:
    * Added preview for 'Screen Position' node
    * 'Append' output type can be selected from node body
    * Small overall optimizations

v1.0.0 dev 12:
* Fixes:
    * Fixed wrong casting issues on dynamic type nodes
    * Fixed lost reference when deleting 'Grab Screen Color' node

v1.0.0 dev 11:
* New Features:
    * Additional includes (.cginc) can now be used into an ASE shader via the Additional Includes sections on the Output node
        * Their contents can be accessed via the 'Custom Expression' node
    * Added Node Search bar to quickly find nodes on the canvas
        * Ctrl + F: Shows Search Bar
        * Enter/Return/F3: Goes to next occurrence
        * Shift + (Enter/Return/F3): Goes to previous occurrence
        * Escape: Hides Search Bar

* New samples:
    * UV Light Reveal 

* Fixes:
    * Fixed issue on creating unnecessary casts from floats
    * Fixed minor issue on GPU Instancing sample
    * Fixed minor UI issues on 'Reflect' and 'Refract' nodes
    * Fixing shader paths for Community Shaders
    * Fixed issue on incorrect cast when using Floats and Ints in certain nodes
    * Fixed issue on resetting in certain situations vertex local variables generated during Output Node fragment code generation
    * Fixed issue on property name update in 'Grab Screen Color' node

* Improvements:
    * Improved nodes local variables reset behavior to prevent future issues
    * Added previews to 'Gamma To Linear' and 'Linear To Gamma' nodes
    * Forcing 'Dot' and 'Normalize' nodes to store results in local value and prevent with power operations

v1.0.0 dev 10:
* Fixes:
    * Fixed issue with temporary variable assignment Id on 'Texture Coordinates' node

v1.0.0 dev 09:
* New Features:
    * New 'Static Switch' node which allows creation of shader variants

* Fixes:
    * Fixed minor issue on reading inputs from dynamic 'Add' and 'Multiply' nodes on older shader versions
    * Fixed issue on Parent Graph attempting to delete in-existent connections
    * Fixed issue with always disabling Light Maps when using Tessellation
    * Fixed issue with Texture Nodes reference drop down selector showing incorrect labels both on 'Texture Sampler' and 'Texture Coordinates' nodes
    * Fixed issues on incorrect loosing references with 'Texture Sampler' node on Reference mode

* Improvements:
    * Improved 'Append' node connection management
    * Added Local Var selector directly on 'Get Local Var' node body

v1.0.0 dev 08:
* New Features:
    * New Output node Rendering Options
        * Disable Batching
        * Ignore Projector
        * Force No Shadow Casting

* Fixes:
    * Fixed issue with new dynamic 'Add' and 'Multiply' nodes not registering port creation/destruction into Undo system
    * Fixed issue on 'Grab Screen Color' node duplicating code
    * Fixed issue with Opacity Mask port being incorrectly Enabled/Disabled on certain situations
    * Fixed issue on 'Get Local Var' nodes getting wrong ids on certain situations when a 'Register Local Var' node is deleted
    * Small fix to force property name update when changing type on property nodes
    * Fixed issue where 'View Dir' node was generating code in the wrong space when in vertex function for both world space and tangent space
    
v1.0.0 dev 07:
* Fixes:
    * Fixed name conflict on 'Custom Expression' node
    * Fixed issue for both normal input in indirect lighting nodes that were asking from normal in world space instead of tangent space

v1.0.0 dev 06:
* New Features:
    * Added LOD Cross Fade support for LOD groups ( located in the Output node Rendering Options tab )

* Improvements:
    * 'Add' and 'Multiply' nodes can have more than 2 input ports ( max 10 )
    * Minor improvements on several nodes
    * Refraction port use Unity's grabpass by default so it can pick other refraction materials
    * Avoiding possible compiler misunderstandings with System.Type calls
    * Ensuring variables/functions created by custom expressions have unique names
    * Auto enabling instance mode on material ( if on Unity 5.6 or above ) when detecting instance mode on ASE shader
    * Improved zoom behavior

* Fixes:
    * Fixed issue when remapping ports from very old shaders
    * Fixed swizzle issue on 'Vertex Position' node
    * Fixed matrix 'Invert' node
    * Fixed SimpleGPUInstancing sample not fully batching on Unity 5.6
    * Fixed opening a SF in more than one tab after creation
    * Fixed header click to edit name when zoomed out
    * Fixed both Commentary node side menus resize not following the mouse movement correctly

* New Shader Functions: ( AmplifyShaderEditor/Examples/Assets/ShaderFunctions )
    * Simple HUE
    * SphereMask

v1.0.0 dev 05:
* Fixes:
    * Fixed issue with conditional 'If' node
    * Fixed issue with 'Vertex Position' node swizzle in Local Vertex Ports

* Improvements:
    * Caching instanced property nodes into local variables to prevent multiple UNITY_ACCESS_INSTANCED_PROP() on them
    * Added support for samplers types into 'Custom Expression' node

v1.0.0 dev 04:
* Fixes:
    * Fixed node drag and drop issue from palette
    * Fixed issue with online reference button having a "too-large" click box
    * Palette Menus now display the correct cursor on mouse hover
    * Fixed clicking Enter on palette without selecting a node
    * Changing lighting models should now show the error messages correctly
    * Fixed issue of Custom Light nodes not loading properly

* Improvements:
    * Added Per Renderer Data tag to Properties available Attributes
    * Adding help box into 'Virtual Texture Object' with additional info

v1.0.0 dev 03:
* New Features:
    * Custom Lighting 
        * New Nodes: ( can only be used on this light model )
            * Indirect Diffuse Light
            * Indirect Specular Light
            * Light Attenuation

* New Samples:
    * Custom Lighting Toon

* Fixes:
    * Fixed issue when zooming with Alt + Right Mouse button
    * Fixed issue with window not detecting graph type on Unity load
    * Fixed issue on 'Debug Switch' node not loading properly
    * Fixed issue on assigning invalid cultures when an error/exception occurred inside ASE

* Improvements:
    * Context Palettes now allow  Tab / Shift Tab to select between nodes instead of mouse selection (confirms with Return/Enter key)
    * Added previews for 'Debug Switch' and 'Toggle Switch' nodes
    * Added link to node documentation on its tooltip
    * Small optimization on all nodes overall
    * Preventing ASE to crash if some faulty class/dll is present on the project

v1.0.0 dev 02:
* Fixes:
    * Preventing shadow caster error on using 'Vertex TexCoord' with 'Vertex Normal'

v1.0.0 dev 01:
* Fixes:
    * Fixed issue on not recognizing Tessellation port correctly when at Lambert or BlinnPhong light models
    * Fixed issue on dragging nodes via Alt mode not respecting ports unique ids when creating connections
    * Fixed minor typo on 'Switch by Face' node
    * Fixed minor issue when loading LoadPolyWater example

v0.7.2 dev 08:
* Fixes:
    * Fixed issue generating input ports instructions on 'Custom Expression' node

v0.7.2 dev 07:
* New Features:
    * Added support for multiple ASE windows opened simultaneously

* New Samples:
    * Animated Fire with Shader Functions

* Improvements:
    * Forcing InvariantCulture on ASE execution cycle to prevent issues with number parsing
    * 'Texture Sampler' node no longer shows it's sampler properties when a 'Texture Object' node  is connected to it
    * Improved redundancy awareness on 'Virtual Texture Object' and 'Texture Sampler' nodes
    * Improved 'Virtual Texture Object' tooltip
    * Removed Return button from Shader Functions since it is now useless with new multi-tab behavior

* Fixes:
    * Fixed issue on changing Normal map option in 'Texture Sampler' node not changing its output type
    * Changed 'Virtual Texture Object' node channel name to 'Layer' and fixed its default value not showing up correctly
    * Virtual textures now generate properties with their correct name (requires user changes to the virtual texture itself)
    * Fixed issue that break compiling when a missing shader function was present
    * Forcing internal data update for shader function Output nodes to prevent errors when they are disconnected
    * Fixed small issue with shader function nodes being stuck on selection when double clicking on them

v0.7.2 dev 06:
* New Features:
    * Added 'HSV To RGB' and 'RGB To HSV' nodes

* Improvements:
    * 'Custom Expression' node with a return instruction on its Code text area generates a function with the code contents thus enabling multiple instructions lines on its body
        * Added small info text on node properties to explain its behavior
        * Added new name field ( can also be edited directly on node by double clicking on it ) which is used to name the generated function/ local variable
    * Small refactoring on some classes for consistency and warning removal from Visual Studio

* Fixes:
    * Fixed issue on some changes not being correctly caught on setting Blend Render Type
    * Fixed issue with Unlit Light model doubling the value set on the Emission output port
    * Small fix on title updates when using Shader Functions
    * Removed warning from unused legacy source code on 'Register Local Var' and 'Get Local Var' nodes
    * Fixed issues on incorrect  casts on 'Texture Sampler' node
    * Fixed issues on incorrectly snapping wires into hidden ports

v0.7.2 dev 05:
* Improvements:
    * Changed tool tip display to trigger when mouse is on top of the node ( now displays below the node)
    * Shader Functions 
        * Added default values for input node in SF (these are used when there's no connection) 
        * Added port restrictions to dynamic node types
        * Changed way input node work with restrictions when changing type to prevent invalid connections

* Fixes:
    * Fixed minor typo on 'Rotator' node

v0.7.2 dev 04:
* Fixes:
    * Fixed multiple issues on save behavior when changing modes
    * Fixed issue with shader functions not assigning the main node correctly
    * Fixed issue on Project Window Change callback
    * Fixed graph count increasing on shader switch
    * Fixed version numbering in function nodes
    * Fixed nested SF issue with inputs

v0.7.2 dev 03:
* Fixes:
    * Fixed issue with 'Vertex TexCoord' not writing properties correctly into shader meta

v0.7.2 dev 02:
* Fixes:
    * Fixed cast and port activation issues on Blend Nodes
    * Fixed various issues with SF:
        * Saving no longer deselects
        * Reordering is now working properly
        * Autocast now has port restrictions into account and deletes with warning when possible
        * Sampler types no longer duplicate

* Improvements:
    * Texture Objects node family  can now be set as Globals

v0.7.2 dev 01:
* New Features:
    * Added Shader Functions
    * Added new 'Object Scale' node

* Fixes:
    * Fixed multiple issues with Copy/Paste
    * Fixed issues with nodes on Vertex Function
        * 'Fresnel'
        * 'Posterize'
        * 'Heightmap Texture Blend'
        * 'Unpack Scale Normal'
    * Fixed issue with incorrect data read from 'Texture Coordinates' nodes on versions below 0.5.0 dev 003
    * Fixed issue on inverted Receive Shadows toggle

* Improvements:
    * Can Copy/Paste between different Shaders and Shader Functions 
    * Shader properties created by Refraction, Translucency, Mask Value and Tessellation now appear on the Output node Material Properties list and can be reordered
    * Preventing UndoParentNode to generate DefaultValue conflicts caused by other plugins
    * Removed warnings generated on some situations by the 'Screen Position' node

* New Samples:
    * LowPolyWater by The Four Headed Cat
    * ForceShield by The Four Headed Cat

v0.7.1 dev 02:
* Improvements:
    * Improved 'Texture Coordinates' node and added new Tex input port into it
    * Improved local variable usage on several node generated code to improve overall shader instruction count
    * 'Vertex Position' node now has new Size property

* Fixes:
    * Fixed issues on 'Vertex to Fragment' node
    * Fixed issue on loading an ASE shader with its window already opened but tabbed and not visible during play mode
    * Fixed multiple issues with 'Grab Screen Position' node usage on Vertex function
    * Fixed issue with Forward Shadows not being correctly written when Custom Shadow Caster was active
    * Fixed issues with Blend nodes usage on Vertex function
    * Fixed issues with 'Dithering' node usage on vertex function and when Tessellation is active
    * Fixed issues with 'Screen Depth' node usage on vertex function and when Tessellation is active
    * Dithering sample now works while Tessellation is active

v0.7.1 dev 01:
* New Features:
    * Alt + Node Drag to Auto-(dis)connect node on existing wire connection

* Improvements:
    * Added new Tex Input Port into 'Texel Size' node
    * Optimized nodes list usage on palettes (API)
    * Improved retro-compatibility handling with adding new ports on already existing nodes (API)

* Fixes:
    * Fixed issue on horizontal scroll bar not appearing on Helper Window

v0.7.0 dev 03:
* New Features:
    * Added 'Face' node
    * Added 'Switch by Face' node

* Fixes:
    * Fixed issue on not setting shader version on graph when creating a new empty one which lead to copy/paste issues
    * Fixed wrong port type assignment and incorrect conditional operator usage on community 'Compare ...' nodes
    * Fixed issue with creating a material from a shader already with properties in Unity 5.6
    * Fixed multiple UI issues on Retina MacBook

* New Samples:
    * Highlight Animated by The Four Headed Cat
    * 2 Sided by The Four Headed Cat
    * Two Sided with Face

v0.7.0 dev 02:
* Improvements:
    * Improved Float to Vector auto-cast
    * Double-clicking on a 'Get Local Var' node focus on its referenced 'Register Local Var' node

* Fixes:
    * Fixed issue with keyboard shortcuts on Mac
    * Fixed renaming issues with 'Triplanar Sampler' node
    * Fixed issue on property nodes UI not refreshing on Undo
    * Fixed issues on 'Fresnel' and 'Vertex Normal' related with normal generation
    * Fixed typos on POM
    * Fixed issue with Wire node deletion
    * Fixed auto-change port types issues on all Compare nodes

v0.7.0 dev 01:
* Improvements:
    * Greatly improved Undo
    * Colored Port Mode behaves as a normal toggle and doesn't require double tap on W key

* New Samples:
    * Hologram by The Four Headed Cat

* Fixes:
    * Fixed issue on deleting nodes with Wire nodes on their connections
   
v0.6.1 dev 05:
* Fixes:
    * Fixed issue with custom Shadow Caster on Vulkan

v0.6.1 dev 04:
* Improvement:
    * Renaming 'Texture Sampler' Type property Instance to Reference and prevent confusion with GPU Instanced properties

* Fixes:
    * Fixed issue on unnecessary saves on Live mode 
        * Also increased Inactivity time from 0.5s to 1s
    * Fixed issues on some node interactions not being detected by live mode ( and thus not being flagged to save )
    * Fixed issue on 'Rotator' node not correctly generating local values according to vertex/frag
    * Fixed issue on 'Texture Coordinates' node when defining its Inputs with Tessellation active
    * Fixed issue with custom Shadow Caster on Metal IOs
    * Fixed small typo on Tessellation Shader Model warning message

v0.6.1 dev 03:
* New Features:
    * Adding Fallback shader picker on Master Node
    * Adding Shader LOD value modifier on Master Node

* Improvements:
    * Node property title changes according to selected node
    * Added Multi-Line mode to wires ( Ctrl + W ) 
    * Added ability to change 'Triplanar Sampler' node name 
    * Improved wire connections rendering while zoomed
    * Tweaked live mode to save only when user is inactive for 0.5s

* Fixes:
    * Small node resizing issues fixed
    * Fixed issues on Live mode not catching node connections and creation correctly

v0.6.1 dev 02:
* New Features:
    * Added 'Triplanar Sampler' node
    * Added Vertex Output ( can now change from Relative/Local Vertex Offset to Absolute/Local Vertex Position )
    * Added Smear Sample
    * Added Unlit Light Model
    * Added simpler 'Time' node 
    * Added 'Depth Fade' node
    * Added 'Camera Depth' Fade node

* Improvements:
    * Adding node info into Helper Window
    * Adding drag and drag valid unity assets list to helper window
    * 'Screen Position' and 'Grab Screen Position' now have a Output dropdown on its properties instead of a Toggle 
    * Improved GPU instancing example by adding a C# illustrating how to set instanced properties

* Fixes:
    * Fixed issue on preview materials not being initialized after returning from play mode
    * Fixed issue on local variables reset
    * Fixed issue with tangent and bitangent previews
    * Fixed billboard issue with non-uniform scaling
    * Fixed issue on Tex ports counting as having valid internal data on Node Properties UI
    * Fixed issue on using 'Texture Sampler' or 'Screen Color instances on Master Node Debug port

v0.6.1 dev 01:
* Improvements:
    * Activating internal data into 'Object To World' and 'World To Object' nodes and setting it to (0,0,0,1) by default
    * 'Texture Array' nodes can be created by dragging a Texture 2D Array object into ASE canvas
* Fixes:
    * Fixed issue on 'Texture Array' node when connecting it to Vertex Ports
    * Fixed issue on 'Vertex TexCoord' not generating correct source according to their properties
    * Fixed issues on MourEnvironment, SandPOM and WaterSample shaders

v0.6.0 dev 01:
* Improvements:
    * Added Texture Coordinate Coord Size parameter for 'Vertex TexCoord' node
* Fixes:
    * Fixed issue when doing custom shadow caster with translucency on deferred mode
    * Fix for texture coordinates zeroing out Z and W
    * Fixed issue with input port internal name not being set correctly
    * Fixed issue with custom shader inspector on unity 5.6
    * Fixed shadows issue on Matcap example
    * Fixed 'Virtual Texture Object' sampling the correct UVs when not connected

v0.5.1 dev 012:
* Fixed issue with LightColor node not generating the proper values
* Fixed issue when doing custom shadow caster with translucency on deferred mode
* Made the code generation compiler friendly because of unity 5.5 and up changes

v0.5.1 dev 011:
* Adding new Billboard option into Master Node
* Control key can be also used to append nodes to selection
* Fixed issue with not updating material inspector in real time ( because out of focus ) when changing properties on canvas
* Fixed cast issues on object picker with 'Texture Sample' and 'Texture Object' nodes
* Added Mask buttons on Previews
* Improved overall editor performance

v0.5.1 dev 010:
* Added 'Desaturate' node
* Fixed small visual issue with Color Mask UI 
* Improved overall UI performance

v0.5.1 dev 009:
* Linking both Up/Down keys and right mouse dragging to scroll behavior into menus
* Canvas zoom can be changed by right mouse dragging while pressing Alt key
* Fixing multiple issues with 'Swizzle' node
* Heavily optimized drawing the node lines 
* Fixed issue with loading default shaders to ports

v0.5.1 dev 008:
* Fixed issues when using line feed on 'Custom Expression' node code area
* Fixed wires and previews displaying on top of the title bar
* Fixed order issues on 'Commentary' node
* Fixed issue with BurnEffect sample
* Majorly improved Previews update speed
* Added LOD levels to previews ( sampler and texture arrays ) 
* Added many more node previews 
* Updated TriplanarProjection and ParallaxMappingIterations samples
* Optimization on drawing wires
* 'World Normal', 'World Reflection' and 'Fresnel' input ports now modify their previews
* Improved Nodes Graph internal ordering to correctly create connections on shader load

v0.5.1 dev 007:
* Fixed issues with 'Texture Coordinates' node usage with Tessellation
* Fixed swizzling issues on 'View Dir' node

v0.5.1 dev 006:
* Added new Helper Window accessible via the right most button on the graph window
* (De)Activating Tessellation and Outlines forces shader to save
* Expanded the amount of nodes with available preview
* Added fail safe to continue loading shader if in-existing community nodes are detected 
* Added Normal Map unpacking to 'Texture Array' node and updated its sample
* Fixed issues on Debug Port usage
* Fixed issues on 'Flipbook UV Animation' when property nodes are connected to rows and column input ports
* Fixed issues on Not configuring 'Texture Array' node ports after read
* Fixed issues on Major fix on register/get local var mechanics
* Fixed issues on Adding a space on the node palette search when opening it via space bar
* Fixed issue on ignoring color masks setup on certain situations
* Forcing default values on input port internal data if an exception is caught

v0.5.1 dev 005:
* Added new Curvature Parameter for 'Parallax Occlusion Mapping' Node
* Added 'World To Object' node
* Added 'Object To World' node
* Fixed issue on 'World Normal' node
* Fixed issue on 'World Tangent' node
* Fixed issue on 'World Bitangent' node
* Fixed issue on 'World Reflection' node
* Fixed issue on 'Register Local Var' node
* Fixed issue with Tessellation used with Custom Shadow Caster
* Fixed issue with Mip Level not being used with 'Texture Sampler' nodes on Vertex Ports
* Fixed issues with Master Node Debug port usage

v0.5.0 dev 005:
* Applied overall UI changes from Master Node into all other nodes
* Added Node Previews
* Added new Frame Title parameter on 'Commentary' nodes
    * Auto focus on new Frame Title textfield when node is created
* Added new Soap Bubble sample using both Reflection and Refraction
* Fixed issue with 'Custom Expression' node
* Fixed issues on 'Scale' node
* Fixed issues on 'Panner' node
* Fixed issues on 'View Dir' node
* Fixed issues on 'Substance Sample' node
* Fixed Repaint issues on ASE custom material editor
* Fixed issue with texture defaults not being correctly written on shader meta
* Fixed issue on reading alpha:fade option from older versions
* Tweaked 'Component Mask' node
* Tweaked 'Pi' node
* Improved 'Substance Sample' node previewer 
* Refraction to now have Specularity into account
* Removed warnings on importing ASE to Unity v5.6.0 

v0.5.0 dev 004:
* Added new Outline option on Master Node properties
* Tweaked Tessellation material update

v0.5.0 dev 003:
* Fixed issue with Live Mode load/save state 
* Fixed repaint issue with picking ports
* Tweaked 'Substance Sample' node preview
* Adding Toggle Attribute to 'Switch Toggle' node

v0.5.0 dev 002:
* 'Texture Coordinate' now support float3 or float4 output types 
* Changed Colored ports saving mechanism 
* Tweaked how ports are saved/loaded via shader meta to easily modify existing nodes port amount without breaking older versions (API)
* Tweaked Simple Noise example
* Tweaked Read Atlas examples
* Tweaked Translucency example
* Minor tweak on 'Texture Sample' node
* Fixed issue with local variable declaration on Master Node Debug port 
* Fixed issue with Screen Space Curvature example
* Fixed issue with reading fade parameter on master node 
* Fixed issue with Transparency shader

v0.5.0 dev 001:
* Fixed issues with 'Texture Array' node
* Fixed issues with 'Texture Coordinates' node
* Fixed issues with Tessellation example on MacOs
* Fixed issues on multiple examples with Unity beta version 6 and above
* Added new 'Substance Sample' Node
* Added example using the new 'Substance Sample' node located at Examples/Official/Substance
* Added Attributes to Property Nodes
* Added Conditional 'If' Node with Dynamic Branching option
* Tweaked 'Flipbook UV Animation' node

v0.4.1 dev 002:
* Fixed issue 'Flipbook UV Animation' node not resetting properly and added a start frame parameter

v0.4.1 dev 001:
* Fixed issue with Texture Array sample

v0.4.0 dev 003:
* Default Alpha mode set to Transparent and not Alpha Pre-Multiply
* Minor tweak on node sorting on palette windows
* Minor tweak on Master Node Property UI
* Added new Rendering Options foldout on Master Node properties
* Added check to prevent division by zero warning with 'Grab Screen Position' and 'Screen Position' nodes

v0.4.0 dev 002:
* Forcing LF on all shaders to prevent CRLF mixed with LF when upgrading them  
* Fixed issues with custom shader inspector

v0.4.0 dev 001:
* Minor fix on 'Grab Screen Position' node
* Added new Refraction port into Master Node. Only works correctly with Unity 5.5.1 p1 and above due to an internal unity issue
* Added new Refraction Example ( AmplifyShaderEditor/Official/ObjectNormalRefraction )
* Added new Vertex Normal port into Master Node
* Small update to Material and Shader mode borders
* Parameter types can now be changed from node itself on property nodes via dropdown on its upper left corner 
* Various fixes from the way the Blend Mode works to take new translucent option into account
* Fixed issue with connections from cache when changing Light Mode on Master Node not respecting port availability
* Changed Refracted Shadow demo blend mode
* Fixed Vertex Offset issue with custom shadow caster
* Small fix to auto change blend mode on rendertype and render queue changes
* Fixed some samples with wrong version or wrong connections
* Fixed UI problems in Unity Personal skin

v0.3.2 dev 003:
* Fixed issue with 'Multiply' node
* Fixed issue with 'Divide' node
* Fixed issue with 'Texture Sample' node
* Fixed issue with 'Dot' node
* Tweaked 'Fresnel' node to use Unity's interpolators and made the default values match Schlick Fresnel
* Tweaked 'World Normal' node to prevent multiple normals generation
* Added 'Texture Array' node
* Added 'Linear to Gamma' and 'Gamma to Linear' nodes
* Majorly revamped the UI for the master nodes options
* Revamped Blend Modes and added additional options
* Added pos-load test on nodes invalid connections to prevent issues with older ASE versions 

v0.3.2 dev 001:
* Added custom shadow caster
* Small fix to both emission and alpha on Fade mode
* Fixed minor issues on reading shaders from older versions( < v0.2.0 dev 002 )
* Fixed issues on 'Custom Expression' node
* Fixed issues with 'Grab Screen Position' node
* Property nodes with Parameter Type set to Global doesn't force _ on the parameter internal name

v0.3.1 dev 009:
* Fixed 'Grab Screen Color' node issues
* Minor tweaks on Context menu
* Tweaked 'Screen Position' and 'Grab Screen Position' behavior
* Added switching of input ports connections by holding the CTRL key
* Added removing of input ports connections by double clicking with the left mouse button on them
* Forcing Shader Model to at least 4.6 if Tessellation is active

v0.3.1 dev 008:
* Small fix to 'Virtual Texture Object' node
* Fixed issues on 'Texture Sample' node
* Fixed issue on not correctly unregistering nodes from 'Commentary' nodes when they were deleted 
* Fixed issue when reading old shaders created with v0.2.4 dev 004
* Fixed issue with 'Texture Coordinates' node when using Tessellation
* Fixed issues and tweaked overall normals generation
* Fixed issue on 'Vector From Matrix' node
* Fixed issue on ASE canvas camera incorrectly panning when hitting a tooltip with Middle/Right Mouse Button
* Fixed connection errors with 'Vector From Matrix' node 
* Fixed issue with 'Vertex To Fragment' node
* Deprecated 'Local Position' node 
* Added 'Grab Screen Position' node 
* Tweaks on nodes and ports names to maintain overall consistency
* Added new Scale and Offset option on 'Screen Position' node
* 'Register Local Var' node now also has system to prevent duplicate names

v0.3.1 dev 007:
* Added auto-order option into 'Register Local Var' node
* Added new 'Improved Read From Atlas Tiled' example 
* Added 'Simplified Fmod' node

v0.3.1 dev 006:
* Fixed control argument exception when deleting connection with Alt key on selected node
* Fixed issue with 'Switch Toggle' node

v0.3.1 dev 005
* Side menus are now resizable
* Tweaked 'Weighted Blend' node
* Added 'Summed Blend' node
* Added 'Toggle Switch' node
* Added new 'Scale and Offset' node
* Fixed issues on 'Vertex Binormal World' and '[VS]Vertex Tangent' nodes
* Fixed issues with 'Texture Sample' nodes created via dragging a texture to ASE
* Fixed issue with 'Scale' node 
* Fixed issues on incorrectly reading 'Receive Shadows' parameter from ASE shader previous to v0.2.5

v0.3.1 dev 004
* Fixed issues with accessing 'Texture Coordinates' node when tessellation is active

v0.3.1 dev 003
* Fixed yet another issue with accessing 'Texture Coordinates' node on vertex function
* Reverted shader update mechanism  after save to previous old one until issue reported by Seith is fixed

v0.3.1 dev 002
* Fixed issues with accessing 'Texture Coordinates' node on vertex function

v0.3.1 dev 001
* Improved overall editor UI
* Improved Live Mode
* Nodes can generate shader comments ( API )
* Each port can now have multiple restrictions ( API )
* 'Texture Object' can now only be connected to 'Texture Sample' nodes
* Added 'Switch' toggle node

v0.3.0 dev 005
* Auto adding AMPLIFY_SHADER_EDITOR symbol on current target group when initializing ASE ( API - to be used on external community nodes )
* Added keyboard shortcut [F5] to force available nodes refresh ( API )

v0.3.0 dev 004
* Fixed yet another issue with local variables generation

v0.3.0 dev 003
* Fixed crash from infinite loop generated on port 'Tex' at 'Texture Sample' node
* Fixed cast issue when using internal port data on some nodes
* Fixed issues with local variables generation  
* Tweaked Vertex Displacement port on Master Node
* Added ability to specify range of valid data types for input ports ( API )
* Locked 'Tex' port from 'Texture Sample' node to only allow connections to 'Texture Object' nodes

v0.3.0 dev 002
* Updated POM to clip edges using a tilling parameter 
* Updated the sand POM example and its height texture
* Updated Water sample
* 'Vertex NormalWorld', 'World Position' and 'View Dir' nodes now also output into vertex offset correctly
* All editor resources are loaded via their own guid
* Added Tessellation port into master node to be able to create custom Tessellation behaviors
    * Tessellation parameters ( excluding Phong ) on Master Node Properties will be deactivated if its port is being used   	
    * Created Nodes for each of the builtin Tessellation functions
        * Distance-base Tessellation
        * Edge Length Tessellation
        * Edge Length Tessellation with Cull
* Fixed issues with not creating local variable correctly if graph is shared between vertex and frag ports
* Fixed issue with local variables created on automatic casting not taking port category into account
* Fixed node width issue regarding its header title size

v0.3.0 dev 001
* Fixed issue on where deprecated nodes needed to be available to be replaced by their replacement type
* Fixed issues on all conditional nodes
* Fixed issue on local variable creations on vertex shader
* Fixed issue on 'Commentary' node
* Amplify Texture dependency is dynamically set through asset guid
* Texture Sampler will quietly ignore virtual object if AT is not found in project and will not generate a broken shader
* Deprecated nodes are automatically excluded from the palette
* Updated version in all samples
* Optimized 'Multiply' and 'Divide' nodes 
* Added Edge Length based tessellation
* Added Fixed Amount based tessellation

v0.2.6 dev 001
* Fixed issue on 'Virtual Texture Object' node
* Fixed issue on 'If' node
* Fixed issues in 'Parallax Occlusion Mapping' node
* Fixed issues on 'Texture Sampler' node
* Fixed issue for translucency on point lights
* Fixed issues on 'Texture Coordinates' node
* Fixed issue on not correctly syncing ASE when when hitting paste button on our custom inspector
* Avoiding null pointer exception when compiling a 'Texel Size' node without references 
* Re-Organized ASE folder system and added initial pop-up window to clean old/deprecated data
* Tweaked Default/Material values UI on Property nodes
* Node Properties window can now be show by double clicking a node
* Renamed Uniform parameter type to Global 
* Added Distance-Based tessellation. Can be activated/configured on Master Node properties
    * Added Tessellation sample
* Added emission baking support. Queue must be set to "Geometry" to work properly
* Added Tiled Atlas sample
* Added scenes for each sample
* Added tool tips for Master Node properties 

v0.2.5 dev 004
* Added Parallax Occlusion Mapping node (uses linear search with customizable samples in conjuntion with interval mapping for refinement of sidewalls)
* Added simple snapping behavior when moving nodes (left-control)
* Fixed background grid image sliding when zooming
* Fixed issue with 'Texcoord Vertex Data' on writing
* Fixed issues with default values of 'Virtual Texture Object'
* Fixed issues when drawing 'Matrix3x3' and 'Matrix4x4' nodes
* Fixed compilation error when creating builds

v0.2.5 dev 003
* Fixed issues on 'Texture Coordinate' node
* Fixed issues with 'Texture Sample' node not reading the correct values from older shaders versions
* Fixed issues with instanced texture samples
* Fixed issues with 'Texel Size' node
* Fixed issues with adding new categories on community created nodes 
    * Custom category colors can now also be set up via NodeAttributes(...) 
* Created simpler method ( GeneratePortInstructions(...) ) to generate input instructions. Handy for community members which are creating new custom nodes
* Fixed issue with propagating incorrect port types on master node when loading shader from older versions
* Fixed issues with parallax example
* Alpha channel/Opacity port is forced to 1 if Keep Alpha is set to true and port is not connected to prevent UI issues
* Added index property in '[VS] Vertex TexCoord' node and marked '[VS] Vertex TexCoord1' node as deprecated 
* Tweaked collision area on minimize/maximize buttons on lateral windows
* Small optimization on 'Custom Expression' node
* Added support for virtual texturing via Amplify Texture
* Community Node additions
    * Jason Booth
        * Added 'Vertex To Fragment' node

v0.2.5 dev 002
* Added 'Texture Object' node
* Tweaked 'Texture Sample' node behavior to use the new 'Texture Object' node
* Added Stencil Buffer support
* Added Depth foldout with access to ZWrite, ZTest and Offset configuration
* Added AMPLIFY_SHADER_EDITOR preprocessor directive
* Fixed issue on not resetting instance variables counter on reset/load 
* Overall fixes on node UI and its adaptation when zooming out
 

v0.2.5 dev 001
* Added Color Mask option on Master Node
* Added access to additional UV sets on "Texture Sample" and "Texture Coordinates" nodes
* Fixed issue when attempting to connect a wire to a locked port
* Fixed issue with incorrectly adding '#pragma multi_compile_instancing' on non instanced property shaders
* Minor tweak on palette foldout behavior


v0.2.4 dev 007 
* Fixed issue on wrong auto-snapping wires with invisible, locked ports
* Fixed issue with version control on Master Node
* Added Transmission input port on Master Node
* Added 'Mip Mode' in 'Texture Sample' node 
* Property names can now be changed directly on node by double clicking on it
* Properties can be reordered through drag and drop operations on the Master Node properties via the Available Properties foldout area
* Min/Max values on 'Ranged Float' nodes can be modified directly on canvas

v0.2.4 dev 006 ( for internal reasons we had to skip dev 005 )
* Fixes issues on 'Panner' node
* Fixed issues with not correctly generating local variables according to port category
* Tweaked behavior and fixed issues on the 'Texture Coordinate' node
* Fixed issues on 'Texel Size' node
* Fixed issues on 'Local Vertex Pos' node
* Fixed issues with Burn Effect Sample
* Removed positive number restriction from Master Node 'Queue Index' property
* Custom Material Inspector can be selected/changed on Master Node
    * Done through the Custom Editor property
    * You can always reset to our own by hitting the Reset button next to hit
* Updated Rim Light Sample to use the new Space option on the 'View Dir' node
* Updated Parallax Sample to use the new Space option on the 'View Dir' node
* Added 'Translucency' input port into Master Node 
* Added 'Dithering' node
* Added Matcap Sample
* Added Dithering Sample
* Added Rendering Platforms selector on Master node
* Added Water Sample on a small terrain in the Sample Scene

v0.2.4 dev 004
* Fixed issues with wire shader
* Fixed issues with 'Texture Coordinates' node
* Removed warnings occurring on Unity v5.5
* Fixed issue with 'Append' Node 
* Fixed issue with ASE Custom Material Inspector 
* Tweaked 'Local Vertex Pos' node to output differently if generating code for vertex or fragment ports

v0.2.4 dev 003
* Added Texture Reference dropdown to 'Texture Coordinates' node
* Added Render Path dropdown in Master Node
* Tweaked 'View Dir' node so you're able to choose between getting the result in tangent or world space
* Tweaked 'World Space Light Dir' to no longer use internal input port data when nothing is connected, instead worldPos is automaticaly fed into it
* Added Unity version check for wires shader and fix compatibility issues
* Added Normalize toggle into 'Screen Position' node 
* Community Node additions
    * Tobias Pott
        * Added 'Swizzle' node

v0.2.4 dev 002
* Added 'Layered Blend' node
* Added 'Weighted Blend' node
* Added 'Texel Size' node
* Merged '[VS] Vertex Color' and 'Vertex Color' nodes in order to avoid further confusions and marked the first one as deprecated
    * Node internally changes its output if it's writing to a vertex or fragment port
* Added 'Surface Depth' node
* Added 'Screen Depth' node
* Fixed issue with property nodes uniform variables not taking selected precision into account

v0.2.4 dev 001
* Added 'Parallax Mapping' node 
* Added 'Negate' node 
* Added Fake Window user sample 
* Added Parallax Mapping example with 4 iterations using the basic Parallax Mapping node 

v0.2.3 dev 002
* Added 'Custom Expression' node
* Precision used is now the least between the one selected in the node and main one selected on the master node
* 'Register Local Var' and 'Get Local Var' nodes can now be used on Master Node Vertex ports
* Improved wires visuals
* Fixed issue with local variables generation
* Fixed issue with switching port internal data from float to int
* Fixed cast issue with 'Remap' node
* Added all the supported shader models into the Master Node dropdown
    * When creating a shader the default selected is now 2.5 to match Unity default
* Community Node additions
    * The Four Headed Cat
        * Added 'Grayscale' node

v0.2.3 dev 001
* New control points can be added to wires to better manipulate its shape
    * Double click a wire to create an additional control point
    * Control points are selected, moved and deleted similar to regular nodes
* Fixed issue with box selection being active when dragging nodes with the 'Shift' key held down
* Fixed issues with wire resources not being correctly released when ASE is shut down
* Fixed issues with 'Pixel Normal World' and 'Vertex Normal World' nodes
* Fixed issue with 'Multiply' node on Matrix/Vector multiplications
* Fixed issue with 'Break To Components' node
* Fixed issue with 'Component Mask' node
* Fixed issue with wrong type propagation when replacing node connections 
* Fixed issue with instance references being lost on 'Texture Sample' and 'Screen Color' nodes
* Tweaked 'Object to World' and 'World to Object' nodes to be more compile friendly
* Added 'Model' matrix node
* Added 'Relay' node
* Added 'TriplanarObjectSpace' sample to Samples folder
* Added precision selector for variables ( known issue: precision info is not being taken into account when auto local vars are created )
* Community Node additions
    * The Four Headed Cat
        * Added 'Tau' node
    * Rea
        * Added 'Height Map Blend' node

v0.2.2 dev 001
* Fixed issue with 'Mask Clip Value' not being correctly synced between material and shader
* Added colored Debug Mode ... this is an experimental feature where each port and wire are colored according to its data type. Each color/type pair are not final
    * Hold 'P' key to enable debug mode and release it to disable it
    * Double hit 'P' key to toggle  debug mode on. Double hit 'P' key again to disable it.
* Added 'Matrix From Vectors' node
* Fixed issue with 'Vertex Binormal World' node	
* Added 'Shader Model' dropdown on Master Node properties
* Community Node additions
    * The Four Headed Cat
        * Fixed issues with 'Logical Operator' nodes
    
v0.2.1 dev 001
* Fixed multiple issues importing current version on top of v0.1.0 dev 001

v0.2.0 dev 003
* Mask Clip Value when used is registered as a Material Property

v0.2.0 dev 002
* Improved duplicate code detection system
* Slight improvement on save/update times ( important for Live Mode )
* Fixed issue with 'Texture Sample' node incorrectly outputting a float4 when no texture assigned and on Normal mode 
* Fixed issue on not opening the correct shader from a material inspector if a new one is selected from its dropdown
* Fixed issue with 'Length' node incorrectly changing its output type
* Community Node additions
    * The Four Headed Cat
        * Flipbook UV Animation

v0.2.0 dev 001
* Fixed issues with 'Get Local Var' node
    * Output port type is now correctly set to its reference type
    * Changed how references are saved so it won't be affected by order index re-ordering
* Fixed issue with 'Power' node
* Fixed issue with 'ATan2' node
* Fixed issue with 'Cross' node
* Community Node additions
    * The Four Headed Cat
        * Logical If
        * Pixelate
* Community Samples additions
    * The Four Headed Cat 
        * DissolveBurn
    * Mourelas Konstantinos
        * EnvironmentGradient
        
v0.1.5 dev 001
* Community Node additions
    * The Four Headed Cat ( moved to a separate 'Logical Operators' category )
        * Compare With Range
        * Compare Not Equal
        * Compare Lower Equal
        * Compare Greater Equal
        * Compare Lower
        * Compare Greater
    * Kebrus
        * Vertex Tangent World
        * Vertex Binormal World
* 'Register Local Var' node changes:
    * Is now independent from Master Node execution order and generates activation signals
    * Will always be executed even if not connected to Master Node 
    * Fixed issue updating name string array when loading from file		
    * Added order index to control their declaration order( lesser index declared first )
* Fixed issue on port type change not propagating in certain nodes
* Hitting Escape key will disable context palette menu if active
* Fixed issue where right mouse clicking on certain port areas would delete their wire connection
* Minor improvement on nodes performance

v0.1.4 dev 002
* Dynamic type nodes now also reacting to input port disconnections
* Updated TFHCRemap node from benderete

0.1.4 dev 001
* Fixed issue with order index not being correctly read/written
* Redone Refraction Shader according to rea suggestion 
* Register Local Var node now has a title style similar to Property Nodes with the local var name always visible 
* Added Get Local Var Node. It allows the user to use already registered local vars anywhere in the graph
* Added Custom Node Remap ("TFHC - Remap") created by user benderete
* Fixed issue on Texture Sample UV port not correctly casting to float2 when needed
* Fixed issue with Texture Sample node not adapting layout when reference is in normal mode

v0.1.3 dev 003
* Added RegisterLocalVar node. This is a node to improve shader readability in certain situations, as it forces the shader to create a local var containing its input value and always use that as output
* Added Screen Color Texture Reference feature
* Created Simple Refraction example ( Samples/SimpleRefraction ) 
* Fixed issues with sampler instance resizing
* Fixed issue with Fresnel node incident vector
* Fixed issue with attempting connection removal on inexistent nodes ( bug affecting Append node )
* Fixed issue with overwriting render type and queue values with Blend Mode default values on read from file

v0.1.3 dev 002
* Fixed multiple issues with deleting a Texture Sample node being referenced by other nodes
* Tweaked Texture Sample reference UI 

v0.1.3 dev 001
* Fixed issue when releasing mouse drag on menu areas not resetting auto*pan
* Tweaked Shader Instancing UI
* Fixed issue with material inspector crashing when updating a property with ASE window turned off
* Fixed issue with custom UI skins not being correctly initialized under some conditions
* Added Texture Reference feature
* Added 'Simple Blur' example to demonstrate how Texture referencing works
* Added small 'Made with Amplify Shader Editor' info as comment on generated shaders

v0.1.2 dev 003
* Fixed issues with opening materials via inspector with no ASE window initialized  

v0.1.2 dev 002
* Added GPU Instancing ( see Samples/SimpleGPUInstancing example )
* Added Screen Color node 
* Fixed issue on version testing
* Tweaked Master Node icon 
* Added additional icon into top-left master node node indicating if gpu instancing is being used or not

v0.1.2 dev 001
* Fixed typo on Texture Coordinate node
* Added explicit control on Render Type and Queue. They will be automatically set when a Blend Mode is selected.
* Added Fresnel node
* Fixed Trigonometry typo 
* Improved local var generation on op nodes
* Added FWidth node
* Fixed issue with not immediately updating shader when hitting the Live Shader Mode button

v0.1.1 dev 001
* Community Contribution from kebrus: Added Rotator node, rotates UV Coordinates/ Vector2 nodes 
* Fixed Vector2 Append Node bug
* Fixed Int to Float cast issues
* Added Shader title area on top canvas to forbidden node interaction area
* Adjusted Auto-Pan behavior
* Fixed issue with nodes infinite loop detection
* Tweaked mouse detection inside main canvas
* Fixed Queue Order typo when building shader
* Improved notifications when impossible cast is requested
* Added new VectorFromMatrix which gets a specific row or column from a 3x3 or 4x4 matrix
* Automatically hiding Order Index on Uniform Property Type nodes
* Simpler Searchable Node List also being called by hitting the space bar if focus is on main node canvas
