Change material on many meshes in game

Hi,
I’m trying to set up material changing options for a user “in game” for multiple objects at once.

For example, whilst the user plays the level they can walk over to a cluster of sofas and whilst looking at one of them, widget buttons appear so they can change the fabric material of ALL sofas to different pre-created materials (not just changing a material parameter, but actually replace a leather material with Linen for example).

I would like to potentially have the user change materials on many many static meshes at once (e.g. all sofas or all wooden filing cabinets) but I’m not keen on turning each one separately into their own Blueprint.

Is it possible to setup the level Blueprint to change the material of a pre defined group of static meshes in the scene based on a line trace operation that returns the mesh currently in the centre of view?

Many thanks for any advice!