@QuestForTori can you break on the destructor and check the stack trace? Are script objects like immutable?
@QuestForTori the script object itself should have a destructor which is named ~script (or whatever the classname is) which calls a function Destroy().
Set a breakpoint on that ~script function and run in debugger. it will be called in a place you dont expect it to be. Then check the stack trace in debugger and it will show you what function caused its destruction.
I expect its changing the script and that change makes a new one and destroys the old and theres an old ref
@QuestForTori it should have a ~className func thats always there even if you didnt create it that calls Destroy().
No time like the present to learn the debugger! ;) if you learn it this stuff takes 5 min to fix. If not you go mad trying :/
@QuestForTori you need to know what reference is bad and handle it in the code specifically. Does it say what referenced the script in the log?