How to make blueprint interaction affect only one instance in scene not all of them?

Hi Everyone, I am developing ArchVis VR.
I have about 10 doors in the scene - blueprints of the same class.
If I change one door material it affects all 10 doors, instead, I want it to affect only the particular door I am interacting with.
Here are the images below:

if its affecting all the doors in the level then you have a reference problem and likely a issue with your script. to be of any help we will need to see your script for changing the material.

Maybe a “get all actors” with a for each loop…

Or you using same material instance on all of them. As thomson said we will need info on how exactly do you change that material

Sounds like you are using the same STATIC Material Instance in your doors. What you want is to create a DYNAMIC Material Instance beforehand, apply it to your mesh, and modify its parameters instead. So, for example, you will call a Get mesh material at index, then make a dynamic material instance off it, and reapply this dynamic instance to the mesh at the correct index. Save this dynamic material instance into a variable and call it whenever you wanna change its parameters.
For more info look up the difference between Static Material Instances and Dynamic Material Instances.
Cheers.

Hi Everyone, Thank you for your response. I guess my scripts are pretty basic indeed. I have Event Dispatchers in Game Mode. Here are scripts on Widgets and Ones for Door Actor Class:

I am going to look into each proposed solution, but extra advice, links, and screenshots would be much appreciated. Many thanks, indeed.
Lilia

  1. Use “begin play” not “tick” for binding.
  2. Looks like you only make a reference to a single door so you must be using a single material not a dynamic instance copy on each door. So when 1 changes they all change.
  3. You should pass a reference to a particular door when you click the UI button not a call to a dispatcher like you have because for an event dispatcher to work you’ll need references to ALL doors so even after you make dynamic instances they would still all be changed by the event dispatcher.
  4. These tutorials may help you understand casting, references and event dispatchers and how/when to use them

Unreal Engine 4 Beginner Tutorials: https://www.youtube.com/playlist?list=PLyu-W38DvZhqByAoeva1jewB5s78zQHIy

Thanks a lot again, Nebula Games, it was a very detailed answer. I will look at the tutorials this week and fix my materials.

All of this is way too complicated. All you need is to make the door material a visible parameter and you can set it with a SetMaterial node in the construction script.

( you set the material before running in the editor ).

That just changes the material when he’s placing doors in the level not during game play with UI buttons.

Ah - didn’t read it properly - oops… :-/