Time for some uncomfortable criticism and a sweet *** solution

This is pretty much the reason why you have a microservice architecture, so each part is simple enough to test exhaustively. If your logic can’t be tested then you’re doing too much inside your methods.

I have to disagree that everyone knows about unit testing because if we were all clued up on unit testing we’d all be using it. I think most devs are familiar with the idea but it’s apparent that most of them have never used it. And even when everyone HAS used it, when it comes to big projects like UE4 it’s pretty clear that compromises have needed to be made in order to keep going forward at the desired pace, but like any big project now it’s paying for that.

If you listen to Sweeny talk about the history of the engine you realise that a lot of the fundamental ways of doing things in it predate things like BDD, so they simply weren’t a consideration and ever since someone has always been willing to say “but that’s a massive amount of time any money”. In short the engine is constantly going through a rolling refactor but key things like unit testing and a proper architecture overhaul are not being done.

Setting up unit tests is a natural side-benefit of refactoring your architecture, which is something Epic is already doing. They’ve been talking about moving to the standard library for years as well, so there’s a lot of wants and needs converging. And the nice part is this isn’t re-treading old ground, this is in fact “new software”. You simply start developing the right way going forward and bring the old stuff into line as it gets updated or retire it as it is deprecated.