I’ve seen this anti OOP wave out there, can we apply DataOrientedDesign to UE5?
I avoid OOP as much as possible nowadays
I got carried away with it
At first it seemed like a great idea, modeling code after real world objects to make sense of data
After some time, I understood inheritance, polymorphism, etc., without an issue and embraced it fully
I preached the greatness of OOP to everyone, and how it just makes sense
I wrote and worked in heavy OOP codebases, and found nothing but messes and layers of indirection
It was the spaghetti code everyone had joked about
Then I realized I was in the middle of a problem
Rather than diving deeper into lower level programming, I was going in the opposite direction
I was creating unnecessary layers upon layers of abstraction, complicating things way more than I should
I had a new hammer and everything was a nail
After a while, I got introduced to Data Oriented Design
Rather than fit the data to hoe you think it should be, you code with how the data is in mind
Keeping the program simple, performant, and data centric
Now I that I know both, I can make the decision which is best suited for the task
While Im not a fan of OOP anymore, I do recognize it has its strengths in certain areas
However, if given the choice, Ill go the data-centric route each time
Im grateful to the person who introduced me to this book
“Data Oriented Design” by R. Fabian
I hope it brings you clarity as it did for me