Dynamic Materials and Opacity

I’m working on a project that I have allot of different meshes/materials that I want to fade in and out of visibility. I’m using a translucent material modifying the opacity value, doing so manually gives me the effect I want, I’m struggling with updating the value at run-time and the effect not working. I’m using a material parameter collection and updating a custom scalar property setOpacity between 0 and 1, which I have mapped into my material as so:

My understanding from docs is only material instances can be updated at run time so I have created a material instance of this material and assigned it to some objects. In the docs it says something about any parameters defined in the instance can be edited, but I do not see the ability to edit the material parameter from within the material instance. The blueprint I use to dynamically grab the material of the reference actor, adjust the scalar property, create modify and apply the Dynamic Material Instance is as follows (note opacityVal is set earlier and I know it is changing smoothly from 0-1)

e041486e9833cc184ffa4e81d209ffafd81ad9e0.jpeg

The moment this blueprint path first triggers the material fades in 100%, even though the value of opacityVal is very small, eg like .1 as an example. I’m not sure what I’m missing, any tips would be very appreciated.

I presume this is the ConstructionScript. If looks fine. Can you please show the EventTick script also?
If not, how are you changing the opacity to obtain the fade effect?

Actually this is all in the event tick, my construction graph is empty, should I move some of this to construction graph? I have confirmed the Opacity Val is working as expected via a simple print on the float. Here is the left portion (previously omitted) of the blueprint. Not sure this is final/most efficient but it does properly change the float value of Opacity Val for fade in / out. I also have confirmed that it triggers the entire blueprint path for the duration it should be fading, I just don’t see the fade effect, although I know it effects the material as it fades in 100% as soon as it triggers (even with a low Opacity Val).

Is there something I have to do to apply the modified opacity value to the mid material reference? At the moment I’m setting the scalar param value but maybe that is not being transferred to the dynamic material instance?

Okay solved it, I think that was the main problem, I was basically calling my cast to static mesh on an event tick rather then on initialize.