Unable to Manipulate Shader Graph Properties in the Animator

Hello,

I’m trying to use the Animator to control multiple Texture2D properties in the Shader Graph, (specifically, what texture is referenced), however, I can’t access the properties in the animator. Most of my Google results seem to be outdated, but the disconnect seems to most likely be that I’m unable to “expose” the properties in the shader graph editor due to the Exposed option missing from the Node Settings panel for all properties. I’ve tried the following:

  • Clearing the Custom Editor GUI field: the field was empty to begin with, but for good measure I deleted the nothing in the box.
  • Resetting/Reimporting/Refreshing/Restarting: I’ve done any and all to the shader, material, scene, editor, everything.
  • Updating Packages: None of the relevant packages required updating.

Notes:

  • One source suggested that if the green lights on the properties are lit, it means they’re exposed, and they are lit.
  • Properties using the names of the Texture2Ds do show up as keyable in the animator, but with suffixes appended, and they appear to all be Vector4s. I don’t really know what they are or where they come from, (see image below).

Can anyone explain what’s wrong?

Thank you.

Your properties are exposed correctly. How exactly are you trying to animate them? You would need to animate a material component. But not sure if the animator supports material properties.

Looks like you’re right - I tried animating the texture of a standard material and I couldn’t do it. I’d still like to achieve something as close to my original description as possible, (animating the various texture sources in the shader graph). Can you or anyone else suggest the best method for doing this?

For more context, I’m using the shader graph to composite a face texture made of multiple textures, (eyes, eyebrows, mouth, etc.). Ideally, I’d like to be able to somehow use the animator to do things like swap out the different mouth shapes and change the offsets of the eyebrows.

Thanks.

Hey,
You may:

In both cases, you animate an index, which is more efficient than swapping textures.
Hope this helps.

We changed how properties scope and visibility are set in Unity 6.0.