Product before framework
I use Unity as a product environment, not only as an engine. Architecture must support the player loop, give the team autonomy and remain readable as content, services, platforms and production constraints grow.
Architecture proven at different scales
In DATA2073, this means reusable flows for quests, passes, tutorials, inventory and events. CryptoFights connects gameplay, UI, WebSockets and diagnostic tools. Triple Z separates session topology from game rules during pre-production, while Jigsaw Puzzles AI proves the same discipline in a published iOS and Android product.
How I make evolution explicit
I define composition, scope and lifecycle before adding abstraction, then separate intent, state and presentation where real variations justify the boundary. The result is architecture that can be debugged, tested and handed to the team—not a framework that only its author understands. See the evidence in the evolution of dependency injection with Zenject and reusable gameplay systems.














