You might try using the Tick function to check a Boolean variable (yes or no) of sorts in a Branch node, and if True, rather than creating a dynamic material instance, you could set the dynamic material instance, if false set to another. If you wanted to go a step further, you could create two variables, one for each dynamic material instance you want, that way you can change them on the go and access them easier.