huh. AActors also are just associated with root USceneComponents in the world, which is why actors aren't treated like a scene graph.
which leaves the question, how does the engine handle multithreaded anything with the way it's architected? for as modern as this engine is, it seems very traditional in its architecture...
maybe it's because trait objects are constructed very differently from C++ vtables that we tend to shy away from them. but maybe trait objects really could help us solve a broad class of issues without diverting to more academic data-oriented design solutions and without losing out on that much performance
oh yeah. no upcasting. that's why.