Search Unity

Question Is Shader Graph completely unusable for anything between mobile and AAA?

Discussion in 'Shader Graph' started by Zephus, Apr 16, 2019.

  1. Zephus

    Zephus

    Joined:
    May 25, 2015
    Posts:
    356
    It's so weird to me that I need to use the Lightweight or HD Render Pipeline for Shader Graph to work. What about 99% of games that are something in between? Will we never have visual shader scripting?

    I don't really understand why the first thing wasn't making a standard Scriptable Render Pipeline. Why are the only available options 'for small games' and 'for large games'? Am I missing something here?
     
    andreyefimov2010 likes this.
  2. Horus_Sungod42

    Horus_Sungod42

    Joined:
    Oct 30, 2014
    Posts:
    99
    Apart from the restrictions on the number of dynamics lights (which is major) and some post processing (more minor), the LWRP is pretty similar to the legacy pipeline. (That I've seen. I've obviously did not make a commercial project with it, since it is still in beta.)

    The light weight render pipeline covers mobile, VR and the switch, while HDRP covers consoles and PC.

    HDRP is usable for other than full-on AAA; like creating stylized looks.
     
  3. Zephus

    Zephus

    Joined:
    May 25, 2015
    Posts:
    356
    I see, thank you. But let's say I'm making the typical indie game - maybe pixel art like Enter the Gungeon or maybe something ike Hollow Knight. I'd say that these neither need the HD render pipeline, nor are they small enough to warrant the Lightweight one since they both have a lot of visual effects. And I'd say this is actually the majority of all indie games.

    What do I use then? The description for HD makes it sound like it will only properly run on really good computers, but I just want the same capabilities I have now without driving the requirements through the roof and without comprimising on the visual effects.
     
  4. Horus_Sungod42

    Horus_Sungod42

    Joined:
    Oct 30, 2014
    Posts:
    99
    Well, I haven't tested the HDRP in production, but it's probably able to create projects for weaker computers. Just a question of choosing your battles with what effects you use to save performance. (Like no volumetric fog, or using PBR shaders instead of the full-feature HDLit shaders.)

    Once the shader graph is done and it is optimized, with things like Static Switches (that let you deactivate parts of your shader, when those parts are not used), the SG should be an artist friendly and reasonable performant way to create visuals for your game, and visuals that can differ from the standard shader's results.

    It's still a big construction site though, just like the HDRP. Hopefully, the feedback in this forum will help them build the best possible tool!
     
  5. Zephus

    Zephus

    Joined:
    May 25, 2015
    Posts:
    356
    I thought LWRP and Shader Graph are production ready now, but I guess I'll wait a bit until I make the switch. I just find it weird that there's this awesome feature I can't use because it requires a fundamental change that breaks almost all of the other assets I have.
     
  6. alexandral_unity

    alexandral_unity

    Unity Technologies

    Joined:
    Jun 18, 2018
    Posts:
    163
    To clarify, Shader Graph *for* Lightweight is production ready, but Shader Graph for HD still needs some work to be production ready. Also "Production Ready" != "done". :)
    The main reason that HDRP is marketed for higher end systems is that it is very easy to bloat your rendering times if you're not careful with all of the features. You definitely can make a project for HDRP that is less intensive than full AAA quality. All of the SRP tools are still in development, production ready mostly means that it's stable and will have most (if not all) of the features that developers expect to use in a production for their targeted scale.
     
  7. Arycama

    Arycama

    Joined:
    May 25, 2014
    Posts:
    185
    @Zephus what features is the LWRP missing that you would need for the kind of game you want to make? You mention lots of "Visual Effects", but are you talking about particles, lighting, shader techniques or post processing? All of those are possible with the LWRP, and it supports multiple dynamic lights in a single rendering pass, so effects that rely on dynamic lights will actually be faster performance-wise than the legacy render pipeline.

    However I do agree that shader graph should support the legacy render pipeline. Although I wouldn't really use shader graph for production on lower-end devices as I don't think you have enough control for optimisations.
     
    NeatWolf likes this.
  8. ph_

    ph_

    Joined:
    Sep 5, 2013
    Posts:
    232
    One usual use of shadergraph would be for teams, where artists can prototype effects and shader in shadergraph and there's a programmer (ideally versed in graphics programming) to optimize after the prototype has been done by artists.
     
  9. NeatWolf

    NeatWolf

    Joined:
    Sep 27, 2013
    Posts:
    924
    Agreed.
    I know there are already a lot of node-like assets out there, but this has never stopped Unity from making its own asset.
    [OT]
    Which leads me to some OT speculations:
    1. Unity is planning to slowly abandon the default rendering pipeline, making it a special case of SRP: "DRP"
    2. Unity has no economical interest to cut the revenue of other node-based default renderer shader creators
    3. Unity actually has better things to do than thinking about that, it's very low priority atm.
    [/OT]

    Yet, about the original topic, I believe that, according to what I'm seeing around, the LWRP is definitely more "powerful" than the average default renderer, in quite some cases.
    It simply has less support, and most assets around there still only support DRP. This may eventually change in the near future, now that LWRP is production ready.
    One thing that I don't really like is forcing publishers to expose the whole graph, with little (that I'm aware of) option to "seal the node magic" to avoid brute force copypasting from asset to asset. Sharing is good, but I believe that it hurt a bit the chance to be able to protect the publishers' IP. Just my 2 cents.