Editor/UpgradedShaderGraph/Nodes/UniversalNodes/SceneRoughness.cs

An editor-only Shader Graph node for the Universal render pipeline that exposes a Scene Roughness output. It defines a hidden Vector2 input for texture coordinates and a float output that emits shader code calling Roughness::Sample with those coordinates.

Obfuscated Code
namespace Editor.ShaderGraphExtras.Nodes;

[Title( "SGE - Scene Roughness" ), Category( "Shader Graph Extras - Universal" ), Icon( "blur_on" )]
public sealed class SGESceneRoughnessNode : ShaderNode
{
	[Input( typeof( Vector2 ) )]
	[Hide]
	public NodeInput Coordinates { get; set; }

	[Output( typeof( float ) )]
	[Hide]
	public NodeResult.Func Output => ( GraphCompiler compiler ) =>
	{
		var coordinates = compiler.Result( Coordinates ).Cast( 2 );
		return new NodeResult( NodeResultType.Float, $"Roughness::Sample( {coordinates} )" );
	};
}