Sure, you can send parameters to material shaders (graph you edit in material editor is shader, GPU code) allowing to dynamicly modify how it looks like or even how it animates or even input a texture, its called material instace. And yes you can do that via blueprints, heres docs