UE4 is built like every other engine out there is built, if you’ve been doing this a while you should know it’s all the same the same stuff different developer.! I’m not sure what there is to “understand”?
Simple as this, it’s whatever takes me the least amount of time to get to my end goal and keep the lights on. I don’t really care what’s in the engine if it speeds up dev, I have years worth of work without anything on top to deal with… If there is a problem I have the experience to fix it, it still doesn’t mean even as someone has worked on engines and messed around with them for years I’d ever dare attempt to dive to the centre. As soon as an engine starts becoming less cost efficient than a custom “framework” or Engine then I have to re-evaluate it’s purpose.
As much as I’d love to spend years noodling about with systems, in a commercial environment it’s not an option. Not to say I won’t fix core issues if I need to, or add tools if I require them… But for some indie’s even that could be too much of an ask…!
Personally, don’t see the point in C#… You can split and classify BP’s, get instant feedback and it’s not hard to convert. UE gives you less rope with GC and automation if for some reason you decide BP’s aren’t good enough.! I like OS, It’s allowing me to think about bolting on systems like Umbra, even though I’d prefer Unreal to sort a deal out :D, well it is in Unity.