As you called out in your title, you can do this using dynamic materials
To edit the parameters of a specific material at runtime you’ll want to convert the materials to dynamic materials (has to be done at runtime). That can be done like so:
Then, you can cast the material to a dynamic one whenever you need to change something: