simply put whenever my tool is equipped, it makes a bunch of connections, which way would be the best way of disconnecting them upon the tool being unequipped?
using .Unequipped doesn’t seem to work very well if the character gets removed or they just flat out die, and sometimes this doesn’t work if the tool is destroyed it seems
Some common examples Roblox and other developers utilize to Disconnect connections is to utilize a table.
If your connections are connected inside of a single script, I’d do a local table; however, if multiple scripts create multiple connections, I’d recommend using a ModuleScript parented to the tool.
On .Unequipped, you can call a loop to iterate through the table, disconnect the connection, and set the value to nil.