Skip to main content

Prerequisites

At Gnarly Game Studio, we employ a variety of tools and development techniques that play a crucial role in enhancing both the quality and efficiency of our game development process. This documentation serves as your guide through how we implement these tools within our workflow. However, to fully grasp their potential and ensure you're ready to contribute effectively, it’s essential to first develop a solid understanding of how they function on a fundamental level.

📄️ Composition Over Inheritance

At Gnarly Game Studio, we strongly favor the composition pattern over traditional object-oriented inheritance when building our game systems. This decision stems from the need for flexibility, scalability, and maintainability—all critical elements of game development. While object-oriented programming (OOP) has its place, its limitations can be a significant hindrance in a dynamic environment like game development, where systems need to evolve quickly and remain decoupled.

📄️ Unity Atoms Framework

Unity Atoms is a core tool within our development pipeline at Gnarly Game Studio, significantly streamlining various aspects of game development. Unity Atoms is a modular, event-driven framework built on top of Unity's ScriptableObject architecture. Its primary goal is to promote data separation and reduce direct dependencies between objects, which is crucial for creating flexible, scalable, and maintainable systems. By leveraging this framework, we ensure that our games are more modular, easier to debug, and responsive to state changes, all while maintaining clean and efficient code.