Project organization, decoupling, events, interfaces, state machines and reusable systems.

Separation of Responsibilities

Managers

Singleton

Events and Decoupling

Interfaces

State Machine

Object Pooling

ScriptableObjects as Architecture

Dependencies and Manual Injection

Composition vs Inheritance

Service Locator

Interfaces Between Systems

Folder Organization

Namespaces

Assembly Definitions

Game Events

Observer Pattern

Layered Architecture

Feature-Based Architecture