I've finally hopped back on the wagon. My life has time for game development again. I'm reusing some code from my last project to make a nano economy driven RTS. It will be single player for now.
On top of that I've begun to employ a slick new ECS framework for C# and Unity called Entitas. This may sound redundant since Unity games are already built with Components and GameObjects (entities), right?
Yes and no. Entitas makes data driven architecture a first class concept. Unity, on the other hand, makes it too easy to mix state, configuration, and behavior (see this post by Maxim Zaks). Even their tutorials are filled with MonoBehaviours who's initial configuration values are tweak-able in the editor, hold run-time state, and manage the behavior for that state. Just look at this one script and count the responsibilities.
By no means am I against simple examples for beginners. I love and support the time and effort that goes into getting curious minds started. It's just that at some point you hit a wall when creating complex architectures and gameplay. There are plenty of resources, tutorials or white papers on solid game architecture but applying them usually means re-inventing the wheel in C# customized for Unity.
that's where Entitas comes in
I will save details on how I am employing this framework in my game for the future. For now I recommend checking it out on GitHub and Youtube: