Wow I wouldn’t ever have considered that! especially when write default is off.
I also searched some similar topics about the variable locking and learned a few things with the LateUpdate usage
As for the solution, the animator controller is present in a parent object so i added a c# event that the ScrollingShader script listens to. The InitState calls that event (with a public function).
It all makes sense now! All i wanted is to learn why it worked like that and now i learned smt today. Thanks a lot dude for your insight!