IsValid stops working on clients

I’m having a really weird issue going on, where I first create a dynamic material instance, and then allow the user to change a parameter of it. To start with, it is created for both client and server and then goes through an IsValid check. If it succeeds, and the new reference is valid, it will set the material instance and make it blue. If it fails, it prints a string and leaves the model the original red color.

Secondarily, pressing a second input (Here the 1 key) changes that color to a new one, here pink. The problem is that despite the client passing the first IsValid check when it makes the instance, it fails the second one and is unable to change it to pink. I’ve checked thoroughly, and see that the model does change from red to blue and it does not trigger the fail string on creation, showing that in theory it is being applied. But after that, when trying to change it, the IsValid fails and does not allow the client to change the material color. The server is fine. Does anyone know what might be wrong here? Pictures will be included at the bottom.

Thank you.