Recently I found out that calling script:Destroy() inside a local script does not stop it from working if there are variables defined locally. I find it useful as I can use this to make my local scripts less exposed and harder to access, but does that mean it can’t be accessed at all (on client)?
Calling destroy will disconnect, lock every property and call nil on everything. That is if you’re a nerd that pretends the data is still there. It’s not. It gets literally deleted unless there’s some reference to it like a variable (which now points to nil)