Dynamically create UObject with ConstructObject() or NewObject();
Dynamically create an AActor with SpawnActor().
If it is created in the constructor, use CreateDefaultSubobject() or ConstructObject() first; in non-constructor, only SpawnActor() or NewObject() can be used.
Garbage Collection & Dynamic Memory Allocation
https://wiki.unrealengine.com/Garbage_Collection_%26_Dynamic_Memory_Allocation