Why does this work
var color = get_node("/root/Root/Constants/PowerColor").color
get("material/0").set_shader_param("albedo", color)
get("material/1").set_shader_param("albedo", color)
but this does not
var color = get_node("/root/Root/Constants/PowerColor").color
set("material/0/shader_param/albedo", color)
set("material/1/shader_param/albedo", color)
I'm using Godot 3.2 stable. I've tried to debug this using the black and white console and using the blue output box, but so far, there was no error detected. When I ran the former code, it worked as intended. It changed the material color. But when I ran the latter code, not only did it not work, the entire material stopped working. Yet I did not see any error in the console whatsoever.
As to why I am asking this question despite having a working code (An answer to those guys who get annoyed when people ask questions when there isn't a problem :P). It's because I'm trying to make my game run on the lowest amount of processes as possible. If it doesn't make sense, I'm trying to apply my knowledge on "pointers". Let say for example you need to access a variable and the normal route is
point0 ->point1-> point2 -> variable
What you see, is the normal route that is similar to my working code. From point0 to the variable it has undergone 3 steps.
point0 -> variable
Now what I was going for with my non-working code was to reduce the steps by having it point directly to the variable I wish to access. It's confusing for some people but the goal here is to reduce the amount of processing power.