Skip to content

📦 Equipment

Adds support for fixed-slot equipment systems such as weapons, armor, and accessories.


🎯 Purpose

Provide a structured way to equip single items into named slots with validation and optional visual attachment.


🧩 What Lives Here

  • CharacterEquipment → manages slot layout and equip/unequip operations
  • EquipmentFilter → defines slot acceptance rules
  • EquipmentSlot → runtime value describing a slot and its contents
  • SlotKeys → helpers for slot identifiers
  • EquipmentVisualAttacher → presentation helper for equipped visuals

⚠️ Important Notes

  • Equipment uses a dedicated container separate from inventory containers
  • Equipment is not managed by the inventory service
  • Operations do not enforce authority checks
  • Most gameplay systems should ensure authority before invoking equipment operations

🧠 Usage Guidance

CharacterEquipment

Defines a named slot layout and manages a local equipment container.

Supports:

  • equipping items from inventory
  • unequipping items back to inventory
  • reading equipped items per slot
  • replacing slot layouts

Equip / Unequip

Equip and unequip operations move items between inventory and equipment.

Operations may validate slot filters and attempt to preserve consistent state when failures occur.


EquipmentFilter

Defines which items are valid for a slot.

May use:

  • category matching
  • tag requirements
  • forbidden tag checks

EquipmentSlot

Represents a slot with:

  • slot identifier
  • filter
  • current item stack

Slots hold a single item.


SlotKeys

Provides common slot identifiers and normalization helpers.

Slot identifiers are not restricted to predefined constants.


EquipmentVisualAttacher

Optional presentation helper for attaching visuals to equipped items.

  • listens to equip and unequip events
  • spawns and attaches visual prefabs

Behaviour may vary depending on project setup.


🚫 Not for Production Use

This folder does not:

  • Provide authority enforcement
  • Integrate with networking systems
  • Replace inventory service orchestration
  • Handle advanced animation or rigging systems