Right now an exposed property can be set to Create or Fetch. The Fetch option will throw an error if the property with the same name doesn't exist. If the property exists, it should just fetch it and not create a new property.
The new option, Fetch or Create will create the property if the original property doesn't exist. If the actual property exists, it just fetches it.
Auto Register
Always
Pass-Through
Inline
It would be nice to have a way to auto-register a property if a connection passes through it (like a relay node). For instance, I use a lot of internal properties for impostor baking like _HasGradient, _HasNoise, etc... which are all set by script. A pass-through connection could easily do this.
A property could be auto-registered if it is used as inline.
Duplicated Names
Allow duplicated property names with a warning. Imagine the following scenario, where both use the same internal name, but different display names. Since they are hooked to different a different function switches, they will not interact
Property display
Show all properties from all functions on the main shader and allow reordering them. If duplicated properties are found, they are "merged" showing only one instance. This would allow proper reordering when combining multiple functions together.
Inline Properties
Allow any property from all functions to be added a inline property.
Fetch
Right now an exposed property can be set to Create or Fetch. The Fetch option will throw an error if the property with the same name doesn't exist. If the property exists, it should just fetch it and not create a new property.
The new option, Fetch or Create will create the property if the original property doesn't exist. If the actual property exists, it just fetches it.
Auto Register
It would be nice to have a way to auto-register a property if a connection passes through it (like a relay node). For instance, I use a lot of internal properties for impostor baking like _HasGradient, _HasNoise, etc... which are all set by script. A pass-through connection could easily do this.
A property could be auto-registered if it is used as inline.
Duplicated Names
Allow duplicated property names with a warning. Imagine the following scenario, where both use the same internal name, but different display names. Since they are hooked to different a different function switches, they will not interact
Property display
Show all properties from all functions on the main shader and allow reordering them. If duplicated properties are found, they are "merged" showing only one instance. This would allow proper reordering when combining multiple functions together.
Inline Properties
Allow any property from all functions to be added a inline property.