Why does a UObject that I’ve derived and explicitly only made one instance of actually get multiple constructor / destructor calls? I can easily see them because of added UE_LOG calls. I’m guessing it has something to do with engine’s runtime reflection system and needs a “test” / internal version of said object?
In any case, this has ramifications for what should and shouldn’t be done in functions like constructors and PostInitProperties. Is there some code that I can use inside said functions to check whether a particular instance is a ghost / test/ internal variant or one of the explicit ones used at steady-state runtime?