emmm…maybe you can use Material Parameter Collection to store these “global” variables, and use them in your materials? when your light source moves, just change these variables in blueprint or c++ dynamically.
some simple material I create: