I've always found myself caught up between these to approaches when developing games. When I started out, I learned the "Unity way": attaching monobehaviours with basic functionailty in an ECS fashion to achieve complex behaviours and controls. Something like what's explained on this video by Craig Perko Later on, after some years working in the game dev industry, I leaned towards and MVC + OOP approach. Encapsulation, heavy class based systems, interfaces, inheritance, etc... This is what my technical leaders asked me to do, their frameworks were constructed over robust OOP systems. I enjoy both ways of developing a game, but I never quite understood why the modular approach is not taken into account in the professional world. Most studios I've worked at despise MonoBehaviours and Unity-ECS (not the new ECS support) and look for programmers with strong OOP, SOLID and design patterns knowledge. No technical interview has ever gotten even close to touching the subject of developing a game like Craig Perko (and other tutorial creators) suggests. It almost feels like doing it that way is entirely wrong. My question is, why? What am I overlooking about these approaches? What is it that all these experienced developers hate about ECS-style modularity on your code? What problems have they encountered that makes them completely disregard the "unity way"? Thanks for taking the time to read! PS: This was originally uploaded to the subreddit r/Unity3D but then I realized another valuable discussion might get started here (I never know which resource should I use the most). Anyways, here's the link to the reddit thread if you wish to read about what other people think about this.