Download

How To Change Material Params On All Objects

Hi! I’m sure this has been asked 100x but I’ve dug around and I haven found the answer yet!

I am working on an ArchViz scene where I want to have an “Edit Mode” HUD that allows the player to select a color for the walls, floor, etc. Basically, I want to be able to edit specific instance material parameters that’s applied to multiple Static Meshes, from the UMG blueprint.

I’ve tried a couple of tutorials but they all either teach how to change the color of the player or a specific mesh blueprint, or set a random color. Because I have all my walls set as static meshes and not BP’s I thought perhaps I could have the player controller blueprint take charge of the material and have the UMG blueprint cast to it. Is this possible? Or do I have to make every wall its own blueprint actor?

Here’s what I have:

walls:

Material:

Character Blueprint:

Widget Blueprint:

My widget sliders have no affect on my material, and I think its because my character controller cannot affect the material of another object. I’m beginning to suspect that I need to have all my walls converted to blueprints objects, but I’m sure there must be a way around that. Am I on the right track? How can I make this work, please help. If anyone has a working version of this already, please let me know I am willing to purchase it.

It looks like Material Parameter Collections are the way to go for making something like this. https://docs.unrealengine.com/en-us/Engine/Rendering/Materials/ParameterCollections