Actor will not delete properly

I want to be able to cut down trees, so I set up a blueprint that notifies you when you are in contact with it, and when you are in contact with the tree you can “cut it down” and it gets deleted. Here is my current blueprint:

The blueprint works great when there is only one instance of it in the world. But when you add more than one instance, you can only delete the one that was most recently placed. Does anyone know why this is happening?

Same problem… using 4.10.1

Seams to be retailed to a stupid system unreal has of not actually destroying actors when you use the destroy actor node, but marking them to be destroyed, and only doing it properly when there are no references to them, cant see when thats any use to anyone, if I wanted an actor hanging around i could do that just fine, if I want it destroyed, if I WANT IT DESTROYED! If that brakes references it either doesn’t matter or ill know about it!

have you double checked if the destroy actor is really called? You could try a print text node right before the destroy actor node to check it.
And if it’s really called then I wonder how you are spawning those trees and what else you do with them to see what the problem is.
Also you seem to be mixing nodes from two seperate events… that seems weird…

I have fixed a large part of the problem now. I had been using an “is valid” node to make sure I didnt try to delete actors that did not exist, but I was removing the instance from my array even if it returned false, foolish, obviously that then put the array out of sync to reality… The problem is still happening a bit, I know it calls, watching in the outliner as I play I can see the actor gets marked as deleted but not all of them ever get fully deleted.

From looking at the logic in the picture you provided, it seems that once you overlap the tree, you get a period of 0.2 seconds to press E and cut it down. This is due to the boolean being set to true (which allows the E event’s branch to execute) once you begin overlapping (meaning this will not be called again until you walk out and back in), followed by a delay of 0.2 seconds which leads to the same boolean being set back to false.

You should be able to avoid this issue by removing the node that sets it back to false and then adding a Event Actor End Overlap to set it back to false.

We haven’t heard from you in a while, TheCheeseDragon. Did you ever find a full solution to your problem? If not, what types of issues are you still running into exactly? I’ll be marking this post as resolved in the meantime for tracking purposes.

Afraid not, I still have the same problem. I am generating a landscape using a single, landscape generator blueprint which places blueprint tiles which I reference in an array in the generator blueprint. I then delete the blueprint tiles when they get a certain distance from the player and remove the instance from the array. The problem is, not all the blueprint tiles ever get fully deleted… they disappear in the Viewport but in the Outliner they are merely re named “deleted actor” and put to the bottom of the list where they build up in number until I get huge frame drops. Any ideas what sort of thing would cause this? I have tried force emptying the garbage but this hasn’t made any difference so I obviously have to remove this problem at its source!

If garbage collection isn’t getting rid of the deleted actors, they must be referenced somewhere, possibly by the array. Would it be possible to provide a small project (Or the same one if possible) that reproduces the issue?