setTimout is expecting a function object (I’m a little surprised that the code doesn’t throw an error here). So the code should look something like this using a closure:
setTimeout(function() { this.entity.destroy(); },60000);
However, as this is a closure, the this reference is not pointing to the pc.Script instant that we are calling the setTimeout from. We need to create a variable to capture in the closure.
var self = this;
setTimeout(function() { self.entity.destroy(); },60000);
Looking at the surrounding code, it looks like you are calling the code in the update function which means it is creating a new timed callback each frame. You only want to call setTimeout once.
See this thread for someone who had a similar issue: [SOLVED] Delay for the shot