Right approach to change materials of actors by widget

I have solved the issue with the motion controller. On the testcube it works good…

apply a different
colour to each of the static meshes
separately?

For this each mesh would need its own dynamic material:

The above assumes the static meshes have the pertinent material already assigned, we simply create a dynamic one and override it.


I select components with the mouse, you’ve got your controller; assuming you’re getting a hit (do tell how you get a reference):

Image from Gyazo

It’s a quick mock-up - hope it makes sense.

Thanks a lot for all the patience, examples and excellent support!!

It’s all working well right now…
I have learned a lot of you as an Unreal newbe!!

I am really sorry. But I truly no longer understand what you’re trying to do.

In my head:

  • you have some actors hanging about in the level
  • each actor has a bunch of static meshes
  • each actor has 1 dynamic material assigned to one or more static meshes
  • you use a controller to select one of those actors, a widget pops-up
  • by clicking a widget button we change something in the that actor’s material

How close am I? Everything I’ve posted revolves around the above.


And if I understand correctly your
above post, the construction script
has to be set only for one static
mesh?

How am I supposed to know how many meshes you want the material assigned to? It’s your project, the examples assumes one.

If you want to change the colour of 1 mesh, assign the material to 1 static mesh. If you want to change the colour of all static meshes, assign it to all static meshes. Or to some of them.