Destroying Actors
So far in this chapter, we have put a lot of focus on spawning, or creating, actors inside the game world; the player character uses the UWorld class in order to spawn the projectile. Unreal Engine 4 and its base Actor class come with a default function that you can use to destroy, or remove, an actor from the game world:
bool AActor::Destroy( bool bNetForce, bool bShouldModifyLevel )
You can find the full implementation of this function in Visual Studio by finding the Actor.cpp source file in the /Source/Runtime/Engine/Actor.cpp directory. This function exists in all the classes that extend from the Actor class, and in the case of Unreal Engine 4, it exists in all classes that can be spawned, or placed, inside the game world. To be more explicit, both the EnemyBase and PlayerProjectile classes are children of the Actor class, and therefore, can be destroyed.
Looking further into the AActor::Destroy() function, you will find the following line: