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
this leaves me to question the Rust ecosystem's approach of making everything generic by default; monomorphization is expensive though the runtime is very very fast, but maybe the value in monomorphization isn't universal and we should be using trait objects more than we do?