I love your idea and solution. I have spent quite a bit of time working with shaders, and I would take the same approach as you explained above. Create the decals / materials, and make the scalar / floats into parameters multiplied with the texture you end up using. In the blueprint create a dynamic material and basically increase the scalar parameter value when you shine over the material with the flash light.