How can I get a shader to affect child nodes?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By Nuno Donato
:warning: Old Version Published before Godot 3 was released.

So I’m using a textureframe (as in the demos) to do a shade effect. I need to dissolve a screen with text using a texture for some nice fade effects.

The problem is, I have labels and other stuff as child nodes of that textureframe. And when I apply the shader, only the background fades, and all the children are still visible.

This is, of course, expected behavior. So my question is, how can I affect the children too?

1st attempt - using parent material: doesn’t work as the UV coordinates will be messed up.

any other ideas?

:bust_in_silhouette: Reply From: DemiDawn

Late answer and unsure if this applies to the version of Godot you’re using, however, I tested on 3.5.1 and CanvasItem has a ‘Use Parent Material’ property.

If you set all the children to this, it might be a first step to getting the behavior you want.