file-shieldArmory System Structure

The Armory is a flexible and extensive system that manages heroes and items, their stats, upgrade levels, equipped status, and more.

The system is divided into three main parts: Data, Management, and UI.

Item Data

Each item in the game is defined by an Item Data asset, which contains the following fields:

  • Item Type - Defines the item category. There are four types: Weapon, Armor, Helmet, and Ring.

  • Item Name - The display name used in the UI and during item pickups in gameplay.

  • Icon - The sprite shown in UI elements.

  • Is Default Item - When enabled, this item is automatically selected the first time the player launches the game.

  • Is Unlocked by Default - When enabled, the item is available from the start without requiring a purchase.

  • Levels - A list of upgrade levels for the item.

Weapons are represented by the Weapon Data class, which inherits from Item Data and adds two extra fields:

  • Weapon Prefab - The prefab that defines the weapon’s model and behavior. It will be placed in the hero’s hands during gameplay.

  • Is Right Hand Weapon - Determines which hand holds the weapon. If enabled, it’s placed in the right hand, otherwise, in the left.

Item Level

Each item level defines how the item improves as the player progresses.

  • Cost - The gold cost required to unlock or upgrade the item. The first level’s cost defines the unlock price. If the item is unlocked by default, this can be left at 0.

  • Item Rarity - One of: Common, Rare, Mystic, or Legendary. This affects UI sorting and visual appearance but not gameplay balance.

  • Stats - A list of stat modifiers (HP, Damage, Attack Speed, etc.). When the item is equipped, these values are added to the hero’s base stats.

  • Attached Abilities - Abilities that automatically activate when the player starts a run with this item equipped.

circle-info

Item Level values do not stack. For example, if Level 1 grants +100 HP and Level 2 grants +120 HP, the item’s HP bonus becomes 120, not 220. Similarly, if a stat or ability exists at Level 1 but is missing at Level 2, it will be lost after upgrading.

Hero Data

Hero data is described in detail in the Heroes Overview section.

Armory Database

Armory Database

The Armory Database is a central asset that stores all data used by the system. It contains the following fields:

  • Items - A list of all Item Data assets available during gameplay. Only items added here will appear in the Armory and game.

  • Heroes - A list of all Hero Data assets. Only heroes assigned here are accessible to the player.

  • Item Rarities - A list used by the UI to retrieve colors and sprites for each rarity.

  • Item Types - A list used by the UI to retrieve sprites for each item type.

  • Animatin Sets Grid - A grid that defines which Animation Set should be used for each Hero–Weapon combination. (See Heroes Overview and Adding a New Hero for more details.)

circle-info

Each Item and Hero asset has a unique ID, generated automatically upon creation. If you delete and recreate an asset, even with the same name, it will be treated as a new unique entity by the system.

Armory Manager

The Armory Manager is the main class of the system and acts as a bridge between data, saves, UI, and gameplay.

  • It can be accessed globally via GameController.ArmoryManager.

  • It resides in the Main Menu scene, under the Game Controller GameObject.

  • All of its methods are public or protected, and all are virtual, allowing easy extension of the system’s functionality.

The Armory Manager handles:

  • Loading and saving equipped items and heroes

  • Providing data for the UI

  • Managing upgrades, purchases, and unlocks

  • Applying stat changes and ability bonuses during gameplay

Last updated