Inject variables from C# to ShaderLab

Hi,

I am new to Unity, I am working to write a ShaderLab and I am wondering how can I send data from my C# script to that ShaderLab.

  1. For that, I implemented a custom class that inherits from RenderFeature and an other that inherits from RenderPass, is this correct?
  2. I do not need to create anything in properties block (in the ShaderLab) because i just want to inject from C# to ShaderLab, right? (I am trying to mimic the Unreal Engine workflow, by setting shader_parameters and then call IMPLEMENT_GLOBAL_SHADER)
  3. i saw some people using the MonoBehaviour class but my understanding is that only used if we have exposed params (in the properties block)
  4. I’d like if someone points me to an example that has C# (RenderFeature + RenderPass) and a Shaderlab to understand more how it works. I cannot find anything useful and I am confused with Unity.

Thanks