[Bug] Calling garbage collection through blueprints works with development builds but not shipping builds


I’m running into a peculiar issue that I can’t seem to get around. I have a blueprint for a basic AI that navigates to waypoints that are placed in the level, there is no issue there it’s been working for 8 months and hasn’t had an issue. Whenever this AI/the character it controls reaches the final waypoint I have it set to destroy the actor. This works fine as well.

In blueprints, immediately following the destroy actor node I have a ‘Collect Garbage’ node. The reason for this is I have another application that does some other magic (by that I mean it’s not important to this issue) and displays the positions of the actors in the world on a map. The problem is whenever an actor reaches the final waypoint and destroys itself the ‘Collect Garbage’ node seems to do nothing when the game is packaged as ‘Shipping’. When packaged as ‘Debug’, ‘Development’, or running PIE this functionality works fine and exactly how I want it to.

How do I get this functionality to work when I build my game as ‘Shipping’?

I still have not found a way to do this using blueprints. There is a workaround of creating a C++ method that calls destroy on the actor sent as a parameter and making it a blueprintable method. Ideally you should be able to use Destroy Actor in blueprints in the Shipping package.