How to play material timer once?

Instead of using a timer in the material, use a scalar parameter as input…

Create an instance of the material and use SetScalarParameter to set the “time” manually from a ticked or times blueprint events.