Search Unity

Feedback Why is MasterNode Internal?

Discussion in 'Shader Graph' started by equalsequals, Jan 31, 2020.

  1. equalsequals

    equalsequals

    Joined:
    Sep 27, 2010
    Posts:
    154
    I'm curious what the reasoning is behind users not being able to create their own MasterNode. We've been getting around this by way of friend assemblies, and a bit of slight modification to the code, but it seems arbitrary to lock this off.
     
    OlegPavlov likes this.
  2. bgolus

    bgolus

    Joined:
    Dec 7, 2012
    Posts:
    12,352
    Basically all of Shader Graph’s code is marked as internal, for reasons no one outside of Unity understands.
     
    ph_ and equalsequals like this.
  3. equalsequals

    equalsequals

    Joined:
    Sep 27, 2010
    Posts:
    154
    Oh. Good.
     
  4. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Unity seems to be following this pattern with the VFX graph as well. It's incredibly frustrating.

    You can get around it by hacking the assemblies, but then you're left tracking changes to an undocumented API and fixing things constantly.
     
  5. equalsequals

    equalsequals

    Joined:
    Sep 27, 2010
    Posts:
    154
    That's disappointing to hear about VFX Graph as well.

    We use SRP Core and ShaderGraph as local packages, and have our own Git branches of them in our own Remote for maintaining/merging changes across versions. It's not perfect but it does work better than just trying to remember everything we've changed. It is extra work though.

    I greatly urge the ShaderGraph team to reconsider how locked off their system currently is and open these things back up in the future.
     
    ecurtz, andybak and ph_ like this.
  6. andybak

    andybak

    Joined:
    Jan 14, 2017
    Posts:
    569
    The whole "better make it private" thing is irritating coming from Python where "we're all consenting adults here" is the rule.

    The cost/benefit analysis is out of whack. We know upgrading might break things. That's usually much better than not being able to do something in the first place