I feel like this is quite a big issue. Actors are always spawned and if they were not meant to, they are immediately destroyed.

Line 416 of LevelActor.cpp (UE 4.15) - is supposed to check whether a spawned actor would encroach blocking geometry based on it's Default Object - but this check always passes. I've tried with different actor classes and plenty of collision settings, but it does absolutely nothing. Even though actor spawning *should* fail, it never does.

When PostActorConstruction() runs on an actor, it checks for encroaching geometry there and destroys itself if it's supposed to. This is a big deal when you're conscious of memory use. My Spawn Point system tries to respawn it's object a few times in short succession if the original spawn fails, but all that means is that it's creating several actors in a short space of time that are just filling up valuable memory. Since Actor Spawning is an expensive operation, I think this needs refactoring or fixing.

https://answers.unrealengine.com/que...#answer-588350