Set the shader lod value yourself

Good day.

I’m developing a lod system.
As I want to support lod fading, I was looking into how Unity does it using shaders.
As far as I can tell, the Unity LodGroup uses the shader keyword “unity_LODFade” to tell the shader what lod level it has.

The question:
How can I do the same as the Unity Lod system in respect to fading?
In other words, how can I set a per object shader value in a way, that it is being used by existing shaders using fading?

What I’ve tried:
I’ve found the built in shader property name here:

I’ve tried setting a fade value using the following code:

private MaterialPropertyBlock propBlock;
private Renderer renderer;  

private float fade;  

private void OnEnable()
    this.propBlock = new MaterialPropertyBlock();
    this.renderer = this.GetComponent<Renderer>();

private void Update() 
    this.propBlock.SetVector("unity_LODFade", new Vector4(this.fade, this.fade * 16, 0, 0));

However, this didn’t seem to do anything at all.
Also, when using the LodGroup component and only reading the value, it always seemed to be (0,0,0,0).
(I’ve tried the code using a SpeedTree.)

Thank you

For anyone who gets here, check this: