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
Yesterday
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
Yesterday
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