12.0.0/Unity-2021.2.0b14
[12.0.0] - 2021-01-11
Added
- Added categories to the blackboard, enabling more control over the organization of shader properties and keywords in the Shader Graph tool. These categories are also reflected in the Material Inspector for URP + HDRP, for materials created from shader graphs.
- Added ability to define custom vertex-to-fragment interpolators.
- Support for the XboxSeries platform has been added.
- Stereo Eye Index, Instance ID, and Vertex ID nodes added to the shadergraph library.
- Added information about selecting and unselecting items to the Blackboard article.
- Added View Vector Node documentation
- Added custom interpolator thresholds on shadergraph project settings page.
- Added custom interpolator documentation
- Added subshadergraphs for SpeedTree 8 shadergraph support: SpeedTree8Wind, SpeedTree8ColorAlpha, SpeedTree8Billboard.
- Added an HLSL file implementing a version of the Unity core LODDitheringTransition function which can be used in a Shader Graph
- Added a new target for the built-in render pipeline, including Lit and Unlit sub-targets.
- Added stage control to ShaderGraph Keywords, to allow fragment or vertex-only keywords.
- For Texture2D properties, added linearGrey and red as options for default texture mode.
- For Texture2D properties, changed the "bump" option to be called "Normal Map", and will now tag these properties with the [NormalMap] tag.
- Added
Branch On Input Connectionnode. This node can be used inside a subgraph to branch on the connection state of an exposed property. - Added
Use Custom Bindingoption to properties. When this option is enabled, a property can be connected to aBranch On Input Connectionnode. The user provides a custom label that will be displayed on the exposed property, when it is disconnected in a graph. - Added new dropdown property type for subgraphs, to allow compile time branching that can be controlled from the parent graph, via the subgraph instance node.
- Added
Dropdownnode per dropdown property, that can be used to configure the desired branch control. - Added selection highlight and picking shader passes for URP target.
- Added the ability to mark textures / colors as [MainTexture] and [MainColor].
- Added the ability to enable tiling and offset controls for a Texture2D input.
- Added the Split Texture Transform node to allow using/overriding the provided tiling and offset from a texture input.
- Added
Calculate Level Of Detail Texture 2Dnode, for calculating a Texture2D LOD level. - Added
Gather Texture 2Dnode, for retrieving the four samples (red component only) that would be used for bilinear interpolation when sampling a Texture2D. - Added toggle "Disable Global Mip Bias" in Sample Texture 2D and Sample Texture 2D array node. This checkbox disables the runtimes automatic Mip Bias, which for instance can be activated during dynamic resolution scaling.
- Added
Spriteoption to Main Preview, which is similar toQuadbut does not allow rotation.Spriteis used as the default preview for URP Sprite shaders. - Added Tessellation Option to PositionNode settings, to provide access to the pre-displaced tessellated position.
- Added visible errors for invalid stage capability connections to shader graph.
- Added a ShaderGraph animated preview framerate throttle.
- Added many node synonyms for the Create Node search so that it's easier to find nodes.
Changed
- Properties and Keywords are no longer separated by type on the blackboard. Categories allow for any combination of properties and keywords to be grouped together as the user defines.
- Vector2/Vector3/Vector4 property types will now be properly represented by a matching Vector2/Vector3/Vector4 UI control in the URP + HDRP Material Inspector as opposed to the fallback Vector4 field that was used for any multi-dimensional vector type in the past.
- Updated/corrected View Direction documentation
- Change Asset/Create/Shader/Blank Shader Graph to Asset/Create/Shader Graph/Blank Shader Graph
- Change Asset/Create/Shader/Sub Graph to Asset/Create/Shader Graph/Sub Graph
- Change Asset/Create/Shader/VFX Shader Graph to Asset/Create/Shader Graph/VFX Shader Graph
- Adjusted Blackboard article to clarify multi-select functionality
- Limited max number of inspectable items in the Inspector View to 20 items
- Added borders to inspector items styling, to better differentiate between separate items
- Updated Custom Function Node to use new ShaderInclude asset type instead of TextAsset (.hlsl and .cginc softcheck remains).
- Change BranchOnInputNode to choose NotConnected branch when generating Preview
- Only ShaderGraph keywords count towards the shader permutation variant limit, SubGraph keywords do not.
- ShaderGraph SubGraphs will now report errors and warnings in a condensed single error.
- Changed "Create Node" action in ShaderGraph stack separator context menu to "Add Block Node" and added it to main stack context menu
Fixed
- Fixed an issue where fog node density was incorrectly calculated.
- Fixed inspector property header styling
- Added padding to the blackboard window to prevent overlapping of resize region and scrollbars interfering with user interaction
- Blackboard now properly handles selection persistence of items between undo and redos
- Fixed the Custom Editor GUI field in the Graph settings that was ignored.
- Node included HLSL files are now tracked more robustly, so they work after file moves and renames [1301915] (https://issuetracker.unity3d.com/product/unity/issues/guid/1301915/)
- Prevent users from setting enum keywords with duplicate reference names and invalid characters [1287335]
- Fixed a bug where old preview property values would be used for node previews after an undo operation.
- Clean up console error reporting from node shader compilation so errors are reported in the graph rather than the Editor console [1296291] (https://issuetracker.unity3d.com/product/unity/issues/guid/1296291/)
- Fixed treatment of node precision in subgraphs, now allows subgraphs to switch precisions based on the subgraph node [1304050] (https://issuetracker.unity3d.com/issues/precision-errors-when-theres-a-precision-discrepancy-between-subgraphs-and-parent-graphs)
- Fixed an issue where the Rectangle Node could lose detail at a distance. New control offers additional method that preserves detail better [1156801]
- Fixed virtual texture layer reference names allowing invalid characters [1304146]
- Fixed issue with SRP Batcher compatibility [1310624]
- Fixed issue with Hybrid renderer compatibility [1296776]
- Fixed ParallaxOcclusionMapping node to clamp very large step counts that could crash GPUs (max set to 256). [1329025] (https://issuetracker.unity3d.com/issues/shadergraph-typing-infinity-into-the-steps-input-for-the-parallax-occlusion-mapping-node-crashes-unity)
- Fixed an issue where the shader variant limit exceeded message was not getting passed [1304168] (https://issuetracker.unity3d.com/product/unity/issues/guid/1304168)
- Fixed a bug in master node preview generation that failed compilation when a block was deleted [1319066] (https://issuetracker.unity3d.com/issues/shadergraph-deleting-stack-blocks-of-universal-rp-targeted-shadergraph-causes-the-main-preview-to-fail-to-compile)
- Fixed issue where vertex generation was incorrect when only custom blocks were present [1320695].
- Fixed a bug where property deduplication was failing and spamming errors [1317809] (https://issuetracker.unity3d.com/issues/console-error-when-adding-a-sample-texture-operator-when-a-sampler-state-property-is-present-in-blackboard)
- Fixed a bug where big input values to the SimpleNoise node caused precision issues, especially noticeable on Mali GPUs. [1322891] (https://issuetracker.unity3d.com/issues/urp-mali-missing-glitch-effect-on-mali-gpu-devices)
- Fixed a bug where synchronously compiling an unencountered shader variant for preview was causing long delays in graph updates [1323744]
- Fixed a regression where custom function node file-included functions could not access shadergraph properties [1322467]
- Fixed an issue where a requirement was placed on a fixed-function emission property [1319637]
- Fixed default shadergraph precision so it matches what is displayed in the graph settings UI (single) [1325934]
- Fixed an unhelpful error message when custom function nodes didn't have a valid file [1323493].
- Fixed an issue with how the transform node handled direction transforms from absolute world space in camera relative SRPs [1323726]
- Fixed a bug where changing a Target setting would switch the inspector view to the Node Settings tab if any nodes were selected.
- Fixed "Disconnect All" option being grayed out on stack blocks [1313201].
- Fixed how shadergraph's prompt for "unsaved changes" was handled to fix double messages and incorrect window sizes [1319623].
- Fixed an issue where users can't create multiple Boolean or Enum keywords on the blackboard. 1329021
- Fixed an issue where generated property reference names could conflict with Shader Graph reserved keywords [1328762] (https://issuetracker.unity3d.com/product/unity/issues/guid/1328762/)
- Fixed a ShaderGraph issue where ObjectField focus and Node selections would both capture deletion commands [1313943].
- Fixed a ShaderGraph issue where the right click menu doesn't work when a stack block node is selected [1320212].
- Fixed a bug when a node was both vertex and fragment exclusive but could still be used causing a shader compiler error [1316128].
- Fixed a ShaderGraph issue where a warning about an uninitialized value was being displayed on newly created graphs [1331377].
- Fixed divide by zero warnings when using the Sample Gradient Node
- Fixed the default dimension (1) for vector material slots so that it is consistent with other nodes. (https://issuetracker.unity3d.com/product/unity/issues/guid/1328756/)
- Fixed reordering when renaming enum keywords. (https://issuetracker.unity3d.com/product/unity/issues/guid/1328761/)
- Fixed an issue where an integer property would be exposed in the material inspector as a float 1330302
- Fixed a bug in ShaderGraph where sticky notes couldn't be copied and pasted [1221042].
- Fixed an issue where upgrading from an older version of ShaderGraph would cause Enum keywords to be not exposed [1332510]
- Fixed an issue where a missing subgraph with a "Use Custom Binding" property would cause the parent graph to fail to load [1334621] (https://issuetracker.unity3d.com/issues/shadergraph-shadergraph-cannot-be-opened-if-containing-subgraph-with-custom-binding-that-has-been-deleted)
- Fixed a ShaderGraph issue where unused blocks get removed on edge replacement [1334341].
- Fixed an issue where the ShaderGraph transform node would generate incorrect results when transforming a direction from view space to object space [1333781] (https://issuetracker.unity3d.com/product/unity/issues/guid/1333781/)
- Fixed a ShaderGraph issue where keyword properties could get stuck highlighted when deleted [1333738].
- Fixed issue with ShaderGraph custom interpolator node dependency ordering [1332553].
- Fixed SubGraph SamplerState property defaults not being respected [1336119]
- Fixed an issue where nested subgraphs with identical SamplerState property settings could cause compile failures [1336089]
- Fixed an issue where SamplerState properties could not be renamed after creation [1336126]
- Fixed loading all materials from project when saving a ShaderGraph.
- Fixed issues with double prompts for "do you want to save" when closing Shader Graph windows [1316104].
- Fixed a ShaderGraph issue where resize handles on blackboard and graph inspector were too small [1329247] (https://issuetracker.unity3d.com/issues/shadergraph-resize-bounds-for-blackboard-and-graph-inspector-are-too-small)
- Fixed a ShaderGraph issue where a material inspector could contain an extra set of render queue, GPU instancing, and double-sided GI controls.
- Fixed a Shader Graph issue where property auto generated reference names were not consistent across all property types [1336937].
- Fixed a warning in ShaderGraph about BuiltIn Shader Library assembly having no scripts.
- Fixed ShaderGraph BuiltIn target not having collapsible foldouts in the material inspector [1339256].
- Fixed GPU instancing support in Shadergraph [1319655] (https://issuetracker.unity3d.com/issues/shader-graph-errors-are-thrown-when-a-propertys-shader-declaration-is-set-to-hybrid-per-instance-and-exposed-is-disabled).
- Fixed indent level in shader graph target foldout (case 1339025).
- Fixed ShaderGraph BuiltIn target shader GUI to allow the same render queue control available on URP with the changes for case 1335795.
- Fixed ShaderGraph BuiltIn target not to apply emission in the ForwardAdd pass to match surface shader results [1345574]. (https://issuetracker.unity3d.com/product/unity/issues/guid/1345574/)
- Fixed Procedural Virtual Texture compatibility with SRP Batcher [1329336] (https://issuetracker.unity3d.com/issues/procedural-virtual-texture-node-will-make-a-shadergraph-incompatible-with-srp-batcher)
- Fixed an issue where SubGraph keywords would not deduplicate before counting towards the permutation limit [1343528] (https://issuetracker.unity3d.com/issues/shader-graph-graph-is-generating-too-many-variants-error-is-thrown-when-using-subgraphs-with-keywords)
- Fixed an issue where an informational message could cause some UI controls on the graph inspector to be pushed outside the window [1343124] (https://issuetracker.unity3d.com/product/unity/issues/guid/1343124/)
- Fixed a ShaderGraph issue where selecting a keyword property in the blackboard would invalidate all previews, causing them to recompile [1347666] (https://issuetracker.unity3d.com/product/unity/issues/guid/1347666/)
- Fixed the incorrect value written to the VT feedback buffer when VT is not used.
- Fixed ShaderGraph isNaN node, which was always returning false on Vulkan and Metal platforms.
- Fixed ShaderGraph sub-graph stage limitations to be per slot instead of per sub-graph node [1337137].
- Disconnected nodes with errors in ShaderGraph no longer cause the imports to fail [1349311] (https://issuetracker.unity3d.com/issues/shadergraph-erroring-unconnected-node-causes-material-to-become-invalid-slash-pink)
- ShaderGraph SubGraphs now report node warnings in the same way ShaderGraphs do [1350282].
- Fixed ShaderGraph exception when trying to set a texture to "main texture" [1350573].
- Fixed a ShaderGraph issue where Float properties in Integer mode would not be cast properly in graph previews 1330302
- Fixed a ShaderGraph issue where hovering over a context block but not its node stack would not bring up the incorrect add menu 1351733
- Fixed the BuiltIn Target to perform shader variant stripping [1345580] (https://issuetracker.unity3d.com/product/unity/issues/guid/1345580/)
- Fixed incorrect warning while using VFXTarget
- Fixed a bug with Sprite Targets in ShaderGraph not rendering correctly in game view [1352225]
- Fixed compilation problems on preview shader when using hybrid renderer v2 and property desc override Hybrid Per Instance
- Fixed a serialization bug wrt PVT property flags when using subgraphs. This fixes SRP batcher compatibility.