What Is It?
The Attribute Manager Component (AMC) is the heart of UMAS. It is responsible for:- Initializing attributes
- Storing current values
- Handling replication
- Applying modifiers
- Processing effects
- Managing leveling + XP
- Triggering change events
- Handling link definitions
- Interfacing with subsystems
Key Responsibilities
1. Attribute Storage
The AMC stores all live attributes in a highly optimized map. Each attribute includes:- Current Value
- Base Value
- Pending modifiers
- Active effects
- Replication flags
2. Attribute Modification
The component provides safe modification functions:- Add to value
- Subtract
- Multiply
- Override
- Clamp
- Proper replication
- Correct modifier order
- Post-modification events
- Link definitions re-evaluated
3. Active Effects
Effects are applied through the AMC (via nested Effect Manager):- Add a timed buff
- Debuff
- Periodic regen or drain
- Foundational for RPG/MMO systems
4. Leveling / XP
The AMC handles:- Adding XP
- Leveling
- Progression curves
- Applying scaled values
5. Events & Delegates
The AMC broadcasts events for:- OnAttributeChanged
- OnAttributeZero
- OnAttributeIncreased
- OnAttributeDecreased
- OnLevelUp
- OnXPChanged
6. Replication
The system replicates attributes efficiently:- Only dirty values replicate
- Batching minimizes RPC overhead
- Can support hundreds of attributes
Designer Notes
- Only one AMC is needed per character.
- You rarely touch subsystems directly.
- Use Profile → Manager → Gameplay flow.
Developer Notes
- Core logic lives in
CapacityModificationEngineandEffectManagerComponent. - Many operations are template-driven for speed.
- Attribute maps use handles rather than strings for performance.
- Designed to play nicely with GAS, but does not depend on it.