Search Unity

Question Amplify Editor vs Shadergraph ?

Discussion in 'Shader Graph' started by VincentAbert, Jul 25, 2020.

  1. VincentAbert

    VincentAbert

    Joined:
    May 2, 2020
    Posts:
    123
    Hello !

    The title is pretty obvious : why would I pay for the Amplify Shader Editor ? I saw a few posts that say it's more powerful, but they're both pretty old and don't give any specifics about what features it has that Shadergraph lacks.
    I can't find more info on it but I still see that a lot of add-ons and shaders made Amplify, so I wonder whether it's because it's been around longer or whether because of some features. So that's my question : any specific functions Shadergraph can't do ?

    Thanks a lot !
     
  2. alexanderameye

    alexanderameye

    Joined:
    Nov 27, 2013
    Posts:
    1,383
    Here is shader graphs product board.

    https://portal.productboard.com/8ufdwj59ehtmsvxenjumxo82/tabs/7-shader-graph

    Some things that stand out to me. I'll refer to amplify shader editor as ASE and shader graph as SG.

    1. ASE supports built in, LWRP, HDRP and URP while SG only support LWRP, HDRP and URP
    2. ASE supports tessellation, SG does not (is 'under consideration')
    3. ASE supports post processing stack shaders, SG does not (is 'next up')
    4. ASE supports custom interpolators (to pass calculations from vertex to fragment stage), SG does not (is 'planned')
    5. ASE has several nodes related to lighting like light attenuation, light color etc, SG does not (is 'under consideration')
    6. ASE supports UI shaders, SG does not (is 'under consideration')
    7. ASE has a 'real' custom node API, SG does not

    These are just a few, but those seem pretty important to me. A few other things (that may be a bit biased, but still)

    1. ASE has more examples, templates etc
    2. ASE looks better in terms of UX

    The reality is that ASE has been around since 2016 and is simply a more mature product plus you probably have better support. I don't see shader graph surpassing ASE in terms of functionality before 2022.

    Also, I have never used ASE, only SG, so I think someone that actually used both tools might provide additional insight.

    I also wanted to mention that maybe SG has functionality that ASE does not support, I'd love for someone to give a more nuanced view. Maybe I'm being too harsh on shader graph.
     
  3. Passeridae

    Passeridae

    Joined:
    Jun 16, 2019
    Posts:
    395
    As someone who has been working with both SG and Amplify I agree with the answer above.
    Amplify does indeed provide some features that are absent from SG. Yes, some of these features are 'under consideration' for SG as well, but it doesn't mean that you'll get them in the near future. For example, there have been multiple requests for a tesselation node for SG for a couple of years now and it is still not ready. In terms of UX/UI Amplify is also one step ahead due to its' sharing options, hotkeys, link visualisation and management and overall editor speed and performance. The authors of Amplify usually reply within hours/days and can help you with your specific case/problem.

    The only thing that stops me from completely converting all my shaders into Amplify is that SG now supports Virtual Textures (in 2020.1) which is an important feature for my project. Amplify also had some virtual texturing support via a separate plugin some time ago, but I'm not sure about its current state.
     
  4. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    But not in URP. That's only for built in.
     
  5. Camarent

    Camarent

    Joined:
    Feb 19, 2014
    Posts:
    168
    Does anyone know if ASE supports cross srp compilation?
     
    Last edited: Jan 27, 2021
  6. UnityMaru

    UnityMaru

    Community Engagement Manager PSM

    Joined:
    Mar 16, 2016
    Posts:
    1,227
    Probably best to ask them direct: amplify.pt/support
     
    hippocoder likes this.
  7. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    It can! :)
     
  8. LeFx_Tom

    LeFx_Tom

    Joined:
    Jan 18, 2013
    Posts:
    88
    Simply put - i agree with all, that was written before and have my practical take on it:
    - if you just want to have a look around in the shader world - shader graph will suffice
    - if you intend to use the tool frequently, maybe even in production - not even a second thought should be needed - go for Amplify.

    My main reasons, that are not listed yet (i agree with all of the above anyway):

    • It's so much faster - especially in larger graphs. You can easily and visually understandable deactivate auto-refresh and the whole graph-experience has a way faster flow in itself. Setting up shaders is a breeze in contrast to some of shader graphs clunky workflows
    • The resulting shader code is super clean and understandable for a code-gen tool. Aside from some random numbering attachements to your properties, you can easily disect the resulting code and do not have to scroll through weird amounts of boilerplate. That makes it easy to debug and modify beyond the capabilities of the tool itself. It also makes it a surprisingly good tool to learn more about coding shaders, because you can look "under the hood"
    • The template system! It's super well thought through, makes the whole system future proof and expandable and is above and beyond anything SG has to offer in terms of flexibility and customizability. You can technically use it to roll your own set of templates for your heavily modified pipeline requirements without the artists even noticing...
    • Very responsive and friendly support from the devs with reliable development decisions. In current unity times, thats a huge plus to consider when basing business decisions on other peoples roadmaps...
    • Built-In Support! Was said before...but as built-in still (!) has features, URP+HDRP do not have (depending on the use-case, not combined) - built-in is super important for our client projects. That's why i mention it again.
    On a side note - i never get, why Unity did not just buy Amplify (maybe it was not possible..) and rolled with SG instead... But that is just a random thought and I am happy, that ASE still keeps on going!
     
  9. MagdielM

    MagdielM

    Joined:
    May 27, 2020
    Posts:
    32
    Quite frankly, biting the bullet and learning HLSL has been the better option for me. Haven't used Amplify's solution, but Shader Graph becomes nightmarish to work with as my graphs grow more and more complex. Having it all written by hand means I can cut and paste most of my logic into a SHADERed project if I need to debug something, and I couldn't imagine trying to step through Shader Graph's massive generated files. On top of that, you don't need to duplicate your custom functions with different precision suffixes or worry about defining separate logic for
    #ifdef SHADERGRAPH_PREVIEW
    , and your custom functions can just plain be in your shader. Everything can be as self-contained or as spread out as you want it to be. Man I love plain ol' HLSL...

    ShaderLab as a whole kinda makes me tear my hair out sometimes though not gonna lie.
     
    ina, mandisaw, fleity and 2 others like this.