Feedback – custom nodes – unity forum histiocytoma dog removal cost

The new custom node allows for inline text editing as histiocytoma dog removal cost well as referencing a file path for an HLSL include. This is easier for people who really want the functionality, as now they can write straight HLSL in their favored histiocytoma dog removal cost IDE with all the bells and whistles and just drop histiocytoma dog removal cost it in to the graph. If you need something small and quick (like less than five lines maybe?) then you can inject straight in.

In terms of reusing the nodes (ie; task done once by developer sort of process), you can wrap the custom node in a subgraph. When the final shader is compiled everything gets flattened out histiocytoma dog removal cost anyway, so you’re not hitting any extra performance costs in terms of histiocytoma dog removal cost the final shader regarding multiple subgraphs. Now that subgraphs are nestable, this is much more viable option.

In terms of the package release.. Yeah, the internal process to update that is not very fast histiocytoma dog removal cost and we didn’t get out as far ahead of it as we histiocytoma dog removal cost should have for this release. It is available when updating through the package manager though, and each of the SRP templates available should have a histiocytoma dog removal cost note in the readme about it. It is definitely not ideal (we’re working on fixing it), but they are here and functional.

The main things that not having code running when generating histiocytoma dog removal cost shader code prevents is the density of functionality a given histiocytoma dog removal cost node can have. As a simple example, lets say our node needs to sample a texture and histiocytoma dog removal cost select some data from it. In code, it trivial to have an option on the node which histiocytoma dog removal cost the user can set, and write the code accordingly, such that there is no runtime cost incurred.

Given the removal of surface shaders, the introduction of srps that make hand written shaders a histiocytoma dog removal cost nightmare, and the removal of custom code from the shader graph, it really feels like unity is trying it’s best to make it hard to write shaders in histiocytoma dog removal cost their engine. I would suggest, if they think that the graph is a fully capable histiocytoma dog removal cost replacement for our ability to write shaders, that they re-write their entire shader library using a graph and see histiocytoma dog removal cost if it holds up to the task. Rewrite lit, layeredlit, the standard shader, a decent terrain shader, etc. Also rewrite any complex node you have without using the histiocytoma dog removal cost internal API – because that is what you are asking us to do. Because until you can do that, with overall better workflow, your graph is not a replacement for code.

Also, as a side note, the idea presented in that GDC talk that shaders should histiocytoma dog removal cost become entirely driven by artists and not require code is histiocytoma dog removal cost a foolish notion. The best work with graph based systems comes when coders histiocytoma dog removal cost and artists are able to work together, not when one is shut out from the process. In any visual scripting system, the ideal case is that coders can solve hard code-centric problems and expose the results as simple nodes for histiocytoma dog removal cost the graph user. If this wasn’t the case, then the only nodes you would ever add to a histiocytoma dog removal cost shader graph would be the language intrinsics themselves, right?

These decisions seem to not really accomplish anything except sabotaging histiocytoma dog removal cost shadergraph as a tool, and making it less powerful for the entire community. The community benefits immensely from seemingly non-accessible features such as nodeapi and custom masternodes, because the few people who know how to use those histiocytoma dog removal cost things can create powerful tools and then share their work histiocytoma dog removal cost online and on the store. Everyone wins

If I remember correctly, the main argument for this change was the fact that histiocytoma dog removal cost the nodeapi was too much trouble when it comes to histiocytoma dog removal cost upgradability/compatibility. But you could totally just let node authors worry about histiocytoma dog removal cost upgrading-related issues if there ever are any, and everyone would be happy I think. Unity doesn’t have to worry about upgradability for such specialized features.

It’s kinda like when the playablesapi was in early experimental histiocytoma dog removal cost stage… Or like the ECS right now. Sometimes there are massive refactors and parts of the API histiocytoma dog removal cost disappearing, but that’s okay. I’m okay with using these apis and dealing with these histiocytoma dog removal cost sorts of big changes by myself without any auto-upgrade solutions, because it’s better than not having access to them at all

The main things that not having code running when generating histiocytoma dog removal cost shader code prevents is the density of functionality a given histiocytoma dog removal cost node can have. As a simple example, lets say our node needs to sample a texture and histiocytoma dog removal cost select some data from it. In code, it trivial to have an option on the node which histiocytoma dog removal cost the user can set, and write the code accordingly, such that there is no runtime cost incurred.

Given the removal of surface shaders, the introduction of srps that make hand written shaders a histiocytoma dog removal cost nightmare, and the removal of custom code from the shader graph, it really feels like unity is trying it’s best to make it hard to write shaders in histiocytoma dog removal cost their engine. I would suggest, if they think that the graph is a fully capable histiocytoma dog removal cost replacement for our ability to write shaders, that they re-write their entire shader library using a graph and see histiocytoma dog removal cost if it holds up to the task. Rewrite lit, layeredlit, the standard shader, a decent terrain shader, etc. Also rewrite any complex node you have without using the histiocytoma dog removal cost internal API – because that is what you are asking us to do. Because until you can do that, with overall better workflow, your graph is not a replacement for code.

Also, as a side note, the idea presented in that GDC talk that shaders should histiocytoma dog removal cost become entirely driven by artists and not require code is histiocytoma dog removal cost a foolish notion. The best work with graph based systems comes when coders histiocytoma dog removal cost and artists are able to work together, not when one is shut out from the process. In any visual scripting system, the ideal case is that coders can solve hard code-centric problems and expose the results as simple nodes for histiocytoma dog removal cost the graph user. If this wasn’t the case, then the only nodes you would ever add to a histiocytoma dog removal cost shader graph would be the language intrinsics themselves, right?

RELATED_POSTS