Let's discuss the craziness of unreal engine

I appreciate your sharing. I think some form of reflection makes sense, since it’s the foundation of editor stuff and serialization, but I’m quite curious of how other engines do this. If one engine choose to do this in macro, I wonder if it would be inevitably more cumbersome to use than what we see in Unreal. and I’m curious about what other engines choose to use similar code generation technique? And if they do, are they all done in custom build process?