I hope this is not too stupid a question, but what is Actor.Destroyed() for exactly. The documentation says this is called after the Actor is destroyed. Where is the difference between putting things at the end of the destructor and putting them in the Destroyed function?
I think the destroyed function has to do with the actor life cycle in the engine, so everything has a chance to free up what it should, way before it even becomes eligible for c++ destruction, also, other actors still referencing the destroyed actor, has a chance in their respective tick events to check the isPendingKill() for eg, to know if the actor is going to be invalid, in stead of getting memory address errors, when the actor is actually destroyed in c++ and method calls are still attempted… something like that.