UI Architecture Best Practices?

It’s actually the other way around. My whole project is C++ with a very small amount of blueprints, the majority of that being UMG. The visual designer is nice, and while node-based logic is ‘nifty-neato’ and I do like it, it gets a bit messy fast and I prefer code, so even my widgets tend to have C++ parents. Also, I find creating enums and structs in blueprint to be really awkward. However, since that’s what I do for a living, that makes sense for me. For most normal UI’s, I don’t think you’ll find any issues going with a full blueprinted UMG solution, and the technique of using events and a central controller works just fine in blueprints as well as code. I think you’d be forced to go to C++ and Slate only if you wanted to make custom widgets or extend the UI to do something it doesn’t do out of the box.

EDIT - Just to be clear, I didn’t intend for this to be a C++ vs Blueprints discussion. I was just noting the architecture that I used to organize my UI and while I have done it in C++ for the most part, it certainly can be done in Blueprints as well. The general idea is the same.