Search Unity

ShaderGraph Essentials (SGE)

Discussion in 'Assets and Asset Store' started by ph_, Mar 19, 2019.

  1. ph_

    ph_

    Joined:
    Sep 5, 2013
    Posts:
    114
    Download ShaderGraph Essentials from the Unity Asset Store !

    SGE_key_516x389_2.png

    toon_lit_master.png



    ShaderGraph Essentials
    - All-in-one performant noise node, new master nodes and features to push your shaders to a whole new level !

    Now with support for 2019.2 !

    New feature: Toon and custom lighting nodes! (LWRP / 2019.1 / ShaderGraph 5.13+ only)

    New feature: You can now specify a custom editor in your master nodes!


    Download ShaderGraph Essentials from the Unity Asset Store !

    TLDR
    ShaderGraph Essentials adds unique must-have features to ShaderGraph:
    - 3 additionnal master nodes (Unlit, SimpleLit, Toon) with more parameters
    - custom lighting node so you can code your own lighting using HLSL
    - 30+ noises node
    - generate a texture from any node in the graph

    Overview
    ShaderGraph Essentials is a unique bundle of nodes to complete what's already existing in ShaderGraph. Features include 2D/3D Perlin noise, Simplex, Value, fractal / turbulence / ridge variances, periodic / non-periodic variances, the ability to bake textures from any node in your graph AND a Simple Lit master node. Yes, the equivalent of the "SimpleLit" shader in LWRP ! Oh, did I mention there's also a toon lighting node ? And that you can implement your own lighting function to work in ShaderGraph ? Include full source code, demo scenes with various effect (procedural wood, procedural normals, lava, explosion, light beam, dissolve ...). It's also a very good start if you want to do your own master node, as you'll clearly see how I did the SimpleLit one.

    Value and performance
    You could spend hours working on the noises that are missing in ShaderGraph (Perlin, anyone ?). Or you can get ShaderGraph Essentials and have 30+ noise variations, easy to use through a single node and already optimized to be as fast as possible ! The ability to bake noises you've created will help you optimize your game, as well as using the SimpleLit master node instead of the PBR one. ShaderGraph Essentials nodes have been tested on mobile, VR on PC, low-end and high-end PC. It's a must-have if you plan to use ShaderGraph or are already using it.

    Noise node
    A one-in-all noise node, with a powerful UI that let you iterates quickly in ShaderGraph. Features Simple value noise, Simplex, Perlin2D and Perlin3D. In addition every noise can be tillable (periodic) or not; and you can enable Fractal, Turbulence or Ridge combination in one clic !

    Generate texture node
    A node that let you bake the output of any other node in a texture. This is extremely useful when you've got a group of node that is static according to the UV mapping of your mesh. You can optimize your graph by baking part of it in a texture, then using it instead of your baked graph. This node gives you the performance of a texture AND the iteration time of ShaderGraph, as you'll continue to work and generate your texture in ShaderGraph.

    Simple Lit master node (LWRP only)
    The equivalent of LWRP Simple lit shader. A must have if you use LWRP and care about performance (especially on mobile). Many assets or scenes don't need to support and execute the full PBR shader and this node gives you the power to use a much faster lit master node.

    Custom lighting and toon lighting (LWRP only)
    A master node that let you code your own diffuse and specular lighting functions using HLSL. A MUST HAVE if you used one in classic shaders, there's no way you can do without it ! As an example I implemented a toon lighting node that reacts correctly with shadows and additional lights!

    Support
    I'm dedicated to make this asset the best collection of nodes and features for ShaderGraph. I answer to email and do my best to fix bugs and implement feature request. Please don't hesitate to contact me for feedback, ideas or bug report at ph.graphics.unity@gmail.com
    You can also come and chat on Discord at https://discord.gg/ksURBah

    Requirements
    - 2018.3 or newer (2019 is supported !)
    - latest LWRP / HDRP / ShaderGraph available package (2019.1 or 2019.2 / LWRP requires ShaderGraph 5.13.0 or newer)
    - ShaderGraph Essentials requires one license per seat

    Download ShaderGraph Essentials from the Unity Asset Store !
     

    Attached Files:

    Last edited: Aug 2, 2019
    Gekigengar likes this.
  2. ph_

    ph_

    Joined:
    Sep 5, 2013
    Posts:
    114
    Version 1.0.1 has been released on the asset store ! Download it here

    Changelog:
    • Fixed a bug in SGESimpleLit and SGEUnlit master nodes that made it impossible to work on Mac/Unix systems.
    Thanks to the kind user that reported this !

    I also have a LOT of features coming in, with a lot of new noises as well as other utility nodes.
    I am only waiting for Unity to decide what they do with the node API in 2019.x before I can publicly announce the roadmap for ShaderGraph Essentials !
     
  3. ph_

    ph_

    Joined:
    Sep 5, 2013
    Posts:
    114
    Version 1.0.2 has been released on the asset store ! Download it here

    Changelog:
    • Added support for 2019.1! If you update from 2018.3, please delete and re-download ShaderGraphEssentials to make sure you get the correct version.
    Now that support for 2019.1 is out of the way (it was a complicated one), I can now focus on more interesting features!
     
  4. jason_yak

    jason_yak

    Joined:
    Aug 25, 2016
    Posts:
    257
    Hi there, we've just updated to Unity 2019.1.0f2 and I've gotten this latest update v1.0.2, but I'm seeing 179 compile errors!!

    I've definitely got the latest update. I removed the older plugin folder completely, checked the changelog to make sure. This is a MAJOR show stopper for us. Examples of errors, 179 of them:

    Assets/ShaderGraphEssentials/Plugin_Base/Editor/Scripts/Noises/SimplexNoise.cs(67,50): error CS0122: 'FunctionRegistry' is inaccessible due to its protection level

    Assets/ShaderGraphEssentials/Plugin_LWRP/Editor/Master Nodes/SGESimpleLitSubShader.cs(154,133): error CS0122: 'SurfaceMaterialOptions' is inaccessible due to its protection level

    Assets/ShaderGraphEssentials/Plugin_Base/Editor/Scripts/Nodes/NoiseNode.cs(28,85): error CS0122: 'IMayRequireMeshUV' is inaccessible due to its protection level

    Assets/ShaderGraphEssentials/Plugin_LWRP/Editor/Master Nodes/SGEUnlitMasterNode.cs(92,9): error CS0122: 'SurfaceMaterialOptions' is inaccessible due to its protection level
     
    ph_ likes this.
  5. ph_

    ph_

    Joined:
    Sep 5, 2013
    Posts:
    114
    Hi there !
    Don't worry, these errors can be fixed :)

    If, as you say, you removed the ShaderGraph folder and got the 1.0.2 version, can you try to close and reopen your Unity ? This fixed the problem to me.
    If it doesn't fix the problem, please continue the conversation via Discord (https://discord.gg/ksURBah) for a quick-instant help; or email (ph.graphics.unity@gmail.com) but this won't be as fast.
     
  6. jason_yak

    jason_yak

    Joined:
    Aug 25, 2016
    Posts:
    257
    Thanks that was a super fast response and super helpful to work through that issue on discord cheers. For anyone else encountering the issue it was related to file permissions on mac. I'm sure the dev will provide more info or a fix if you encounter the same issue.

    ^ thx again
     
    ph_ likes this.
  7. ph_

    ph_

    Joined:
    Sep 5, 2013
    Posts:
    114
    I just released a new version 1.0.2c (the "c" doesn't appear on the Asset Store but it's not a problem at all), which fixes @jason_yak 's problem that we found yesterday. We fixed the problem directly on his mac back then, but this is the proper automatic fix for everyone to enjoy!
     
    jason_yak likes this.
  8. ph_

    ph_

    Joined:
    Sep 5, 2013
    Posts:
    114
    I just released version 1.0.4, with new goodies for 2019.1 / LWRP !
    Please note that those features need ShaderGraph 5.13+, so if you update ShaderGraph Essentials please update the ShaderGraph package at the same time.

    - Added new Custom Lighting master node (LWRP / 2019.1 / ShaderGraph 5.13+ only)
    - Added new Toon Lighting master node example (LWRP / 2019.1 / ShaderGraph 5.13+ only)
    - In all master nodes, added a "CustomEditor" setting so you can specify custom editor scripts like in regular shaders.

    The price was also increased from 9.99$ to 14.99$ as those features are long time requested and bring a lot of value to most users. The custom lighting in incredibly powerful!
    Of course I'll continue to add features, which will be free to anyone that already bought ShaderGraph Essentials (thank you for the support !).

    toon_lit_master.png
     
  9. jason_yak

    jason_yak

    Joined:
    Aug 25, 2016
    Posts:
    257
    Ohhh cool. Sounds awesome, keen to check these custom lighting nodes out =)
     
  10. ph_

    ph_

    Joined:
    Sep 5, 2013
    Posts:
    114
    Thanks jason ! You can look at the documentation, the video (the last half is all about custom lighting function) and the toon lighting shader for example! And of course you can always contact me :)
    Cheers,
     
  11. jason_yak

    jason_yak

    Joined:
    Aug 25, 2016
    Posts:
    257
    This sounds really cool. I was just wondering, so is this new ability to have a custom function in SG v5.13+, is kind of the new replacement for the old custom nodes that were removed?
     
  12. ph_

    ph_

    Joined:
    Sep 5, 2013
    Posts:
    114
    Yes, but it's nowhere near as powerful (if you read this post you'll understand https://forum.unity.com/threads/custom-nodes.662731/).
    You can write simple functions or link an existing file, with some limitations.
    But you can't do master nodes, custom UI ...etc
     
  13. jason_yak

    jason_yak

    Joined:
    Aug 25, 2016
    Posts:
    257
    Also, I was just wondering, we have hit this really annoying limitation with Shader Graph and seeing as you tool opens up many possibilities and you know a lot about pushing the boundaries of what is possible with SG, I was just wondering if you have any ideas of how to solve this or whether SGE has the ability to work around the limitation perhaps.

    We're trying to produce a toony water foam edge effect that relies on depth testing to occur after a vertex manipulation pass. So we're fairly sure we're likely to need to have a multi-pass shader, the first pass wouldn't be lit though is should work with LWRP. So first pass to change the verts of a mesh doing some wave movement, and then we need to do depth testing after moving the verts. Then I guess final pass to use the depth data and render the fragments.

    It just seems that whatever we do in Shader Graph, that depth testing occurs before the vertex manipulation and then when we go to use that data it has inaccurate results. Any ideas how to be able to control the depth testing to happen after changing the vertices?

    Thanks =)
     
    ph_ likes this.
  14. jason_yak

    jason_yak

    Joined:
    Aug 25, 2016
    Posts:
    257
    Right, thanks for the link.
     
  15. ph_

    ph_

    Joined:
    Sep 5, 2013
    Posts:
    114
    Doing a water example with depth testing is on my TODO list for ShaderGraph Essentials :p

    I'll get back to you later (probably tonight) with a quick example but I don't think you need multipass here!
     
    jason_yak likes this.
  16. jason_yak

    jason_yak

    Joined:
    Aug 25, 2016
    Posts:
    257
    Much appreciated, thank you so much! =)
     
  17. ph_

    ph_

    Joined:
    Sep 5, 2013
    Posts:
    114
    Just released a new minor version (1.0.5) on the asset store!
    • Updated SimpleLit master node to follow what Unity's been doing on LWRP/SimpleLit shader (the SimpleLit master node should be exactly the same as Unity's LWRP/SimpleLit shader now).
      • Removed Glossiness node (it wasn't used)
      • Renamed Shininess to Smoothness
    • Added a new fix for "Internal Errors" that some users were getting when opening ShaderGraphEssentials the first time (and sometimes on later open too).
     
  18. jcfalcone89

    jcfalcone89

    Joined:
    Jun 17, 2015
    Posts:
    9
    I'm getting errors with the asset, looks like they changed the API in the last LWRP

    Code (CSharp):
    1.  
    2. Assets\ShaderGraphEssentials\Plugin_Base\Editor\Scripts\Nodes\NoiseNode.cs(299,96): error CS0122: 'GenerationMode' is inaccessible due to its protection level
    3.  
     
  19. ph_

    ph_

    Joined:
    Sep 5, 2013
    Posts:
    114
    Hi there!
    I'm sorry your first interaction with the plugin was an error.
    I've just checked and there hasn't been a ShaderGraph update for a while, so 5.13 is still the latest one and the one you should use.
    In the past I've cleared most of the error but this one is a complicated timing import issue. I'm working on the proper fix for the next version, which will be to have a proper "Getting Started" window which will import everything in the correct order.
    Anyway, the good news is, there's an easy way to get rid of your errors:
    • reimport the file "ShaderGraphEssentials/ShaderGraphEssentials.asmdef" (right clic -> reimport) and only this file. This will force all the scripts to reimport and recompile.
    • Then, if you still have errors in the console. Clear it. If it persists, close Unity and reopen it.
    • You should be fine after this.
    Don't hesitate to poke me back if your still have problems or questions; and if you want a faster reply feel free to come and chat on discord https://discord.gg/ksURBah
     
  20. ph_

    ph_

    Joined:
    Sep 5, 2013
    Posts:
    114
    Version 1.0.6 has just been release on the asset store!

    Please when updating to this version, delete your old "ShaderGraphEssentials" folder and download the new one: the location changed!
    Other changes:
    • Introduced the "Getting Started" window. It's useful to both existing and new users!
    • Restructured how file are organized in the plugin. Also moved the entire plugin from Assets/ShaderGraphEssentials to Assets/Plugins/ShaderGraphEssentials. This has been requested by many users as to reduced the visual clutter of the root folder (as the plugin can't be moved at the moment!).
    • Moved the menu items from SGE to Tools/ShaderGraph Essentials for the same reasons.
     
    Last edited: Jun 6, 2019
  21. ph_

    ph_

    Joined:
    Sep 5, 2013
    Posts:
    114
    Version 1.0.7 has just been released on the store!

    Several bug fixes:
    • Fixed a bug with the default custom lighting graph, referencing a wrong path (hlsl file).
    • Fixed a minor bug that was throwing an GUI error the first time the Getting Started window was opened.
    • Fixed a bug that blocked the Getting Started window to import the HDRP package or demo scenes
     
  22. ph_

    ph_

    Joined:
    Sep 5, 2013
    Posts:
    114
    Version 1.0.8 has just been released on the store!
    • If you're on Unity 2019.1.3 or newer and using LWRP, then you need to update to LWRP/ShaderGraph 5.16.1 when getting this version.
    • Fixed a bug in SimpleLit / CustomLit shaders. The bug was giving errors in editor, but the shader was still working in editor and in builds.
    • Fixed the version number in Getting Started window being wrong.
     
  23. ph_

    ph_

    Joined:
    Sep 5, 2013
    Posts:
    114
    Version 1.0.9 has just been released on the store, adding support for Unity 2019.2!

    SGE_key_516x389_2.png

    • Only impacts 2019.2; if you're on 2018 or 2019.1 it's not useful to update.
    • Add 2019.2 support (require ShaderGraph / SRP 6.9.1 and not 6.9.0 which contains a bug with custom functions and subgraphs). If you update from 2019.1, please delete the ShaderGraph Essentials folder and re-download the new one after upgrade to make sure there're no leftover files.
    • Removed some demo shaders that were unused and fixed minor bugs in other demo shaders
    Come and chat about it on our discord server https://discord.gg/ksURBah