How do I pass varyings across 2 different shader files

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By ichster

I would like to pass a varying that originates in a particle shader file:

shader_type particles;
varying flat float var;
void vertex() {
    var = 1.0;
    ...
}

To a CanvasItem shader in a separate file:

shader_type canvas_item;
varying flat float var;
void fragment() {
    if (var == 1.0) {
        // do something
        ...
    }
}

Is there a way to do this? Currently the fragment shader can’t find the varying var and so var is always 0.

you are using Next Pass for your second shader?

Material — Godot Engine (stable) documentation in English

rakkarage | 2020-05-23 15:43