you should use a direction vector rather than a position vector for the sun.
So you could feed the collection parameter the forward vector of your sun, assuming you’ve made it an actor. so when you rotate the sun actor it will work like a directional light.
alternatively if you want more of a point light, I suppose you could also take the light’s position minus the actor’s position (or pixel worldposition) to get a direction vector as well. So then by moving the light actor’s position the gradient changes. in that scenario you could also check the vector length before you normalize to create a falloff based on the distance from the light.
usually i’ll add a constant bias scale in there too just after the dot product so the gradient is in a 0-1 range and not a -1 to 1 range.