Afaik the stack is where he stores stuff that it is “statically” defined in the code like:
FVector X = Fvector(5.0f, 5.0f, 5.0f);
int32 B = 5;
Usually in c++ almost everything that was a pointer was something allocated in the heap with the new command, so taking into account that most of what you work in terms of uobjects (that always need to use the CreateDefaultSubobject or the NewObject) are with pointers, my guess is that most of it is in the heap. I have more than 3 years with UE 4 and am always learning new things, so don’t feel dumb about it, it’s a huge engine You are still calling a NewObject in the constructor when calling SetupNewComponent. Try using the CreateDefaultSubobject instead. The thing is, do you really need to create the DataAsset in the constructor? If you create it in BeginPlay you should be able to use NewObject i believe.