Problem was caused due to a conflicting if statement.
Send full code since clearly the part of code you sent has no issues in it
Do you have any “:WaitForChild()” before it that might be stopping the code to reach that block?
Show us all the code, inclusing the variables used, and the server sided code.
Is it a localscript or a script? If its a script it should be
Tool.Unequipped:Connect(function()
Event:FireClient(“Test”)
end)
There is no output errors.
FireServer would error if called from the server.