I have a large material parameter collection that I use to hold all of my default values for 2 separate ocean materials, and use a blueprint containing public variables to allow modification of these settings from the construction script. Everything works great, change a setting in the details and it is updated in real time, however when I hit Play, all of these settings are reverted back to the defaults. Every adjustable parameter in the material comes from the collection, there are no instance parameters.
Unless I am misunderstanding the construction script, when you hit play isn’t the it supposed to run the script? If I copy all of the nodes from the construction script into the event graph and hook them up to a “Event Begin Play” they do work as expected.
I just found the documentation states the following:
Does this mean that the only way to get the values to update is to run the construction from a Begin Play event? Otherwise it takes the default values only? Is there any other way around this limitation?
This is disappointing, I really don’t want to have to re-create a hundred parameters as instance parameters if I can avoid it, as I just finished converting the last of them over to the collection on the weekend. I wanted the people who use this blueprint in the future to be able to adjust settings from the editor without much work.
– Edit: I guess I will just duplicate it all into the event graph for now, but I don’t want to set 100 variables twice when loading the game if it’s not necessary.