For more context, it’s a mute button for a custom made music player.
In theory, on LMB it should disable the script, stopping the music from playing, however, it says
I don’t think there’s any way that I can anchor a folder from my knowledge, anchoring only applies to parts and models in workspace with parts inside of them.
Is the Music folder being put into Workspace by another script? If so, I recommend doing workspace:WaitForChild("Music") so that the script will not advance without the Music folder being there.
It is possible the script is looking for a property in Workspace instead of a child. You can use game.Workspace:WaitForChild("Music") to always wait for the child. Sometimes the script will load quicker than the objects therefore using WaitForChild() will stop the script from advancing until that object is loaded into the game.
Does this happen once the player clicks a button? If that is the case WaitForChild is useless as it would have already loaded with the players character.
:FireClient() is used when handling RemoteEvents and will fire an event to one specific client. This can be useful for doing things such as making GUIs pop up, etc.