Data & Resource Management

A key principle of this project is the strict separation of data from game logic. Game data is divided into two clear categories:

  • JSON — Stores all game balance parameters: HP, damage, speed, cost, wave configuration. Can be modified without recompiling the project.
  • ScriptableObject / Addressables — Stores visual assets: tower 3D model prefabs, enemy prefabs, and projectile effects.

This separation allows game balance to be tuned completely independently from visual asset changes.