Create three custom nodes as follows:
SinewaveCustom (with output type CMOT Float 1)
//It is possible to use macros to define convenience local functions
#define SINENORM( arg ) 0.5 * ( sin( arg ) + 1.0 )
return SINENORM( Time );
RandCustom (with output type CMOT Float 1)
return frac( sin( dot( Coord.xy ,float2(12.9898,78.233) ) ) * 43758.5453 );
RootCustom (with output type CMOT Float 3)
float s = CustomExpression0( Parameters, Time );
float r = CustomExpression1( Parameters, Coord );
return clamp( s + r, 0.0, 1.0 );
Make sure to link the two first nodes as inputs to the root, as seen above. In this way, they will be included in the compiled final shader as CustomExpression0 and CustomExpression1 respectively.