branchsbox/shadergraph-subgraphscancel
3 Commits over 0 Days - ∞cph!
Fix NRE when attempting to save with unresolved errors
Guarantee IsSubgraph is set properly from the ShaderGraph window
Only Update FunctionResult.Inputs when necessary instead of when accessed.
Add PlugInfo.GetInput() and serialize PlugInfo.Name as the property name instead of display name
Rename "Inputs" -> "Outputs" on FunctionResult since that's technically more accurate
Instantly update the Result node when Outputs are modified
https://files.facepunch.com/CarsonKompon/2025/January/16_16-18-WarmIncatern.mp4
FunctionResult node will produce Errors preventing compilation
https://files.facepunch.com/CarsonKompon/2025/January/16_16-48-VictoriousBrownbutterfly.png
Add ShaderGraph.IsSubgraph and add "Shader Sub-Graph" to the New Asset menu
Shader Sub-Graphs are now saved with the `.shdrfunc` file extension despite being the same asset (just so it can be registered with a different icon and filtered against in the Asset Browser to reduce user confusion)
Give .shader, .shdrgrph, and .shdrfunc assets different colours in the Asset Browser
Don't include BlendMode, ShadingModel or Domain in Subgraphs
Don't include "Material" ShaderNode in the Create Node/Palette menus of Subgraphs. Ensure proper extensions are used when opening the respective file types.
Add PlugInfo and make BaseNode.Inputs and BaseNode.Ouputs virtual.
Added FunctionResult ShaderNode, can only be created in Subgraphs and is created as the default node in newly created Subgraphs
Fix Shader Graph wanting to save/load as sub-graphs
Make sure [Title] attributes are still respected with PlugInfo
FunctionResult can now have a variable amount of inputs of varying types defined by a Dictionary. These are to be used as the outputs of the eventual sub-graph node
Use shader-specific types for FunctionResult Inputs
https://files.facepunch.com/CarsonKompon/2025/January/16_16-02-HumiliatingMorayeel.png