Overview
UMAS works independently of Unreal’s Gameplay Ability System, but it can also layer on top of GAS or feed into GAS attributes depending on your project needs. UMAS → GAS integration is optional, lightweight, and unintrusive. This page explains how to:- Use UMAS as your main attribute system while GAS handles abilities
- Map UMAS attributes into GAS’s Attribute Sets
- Trigger UMAS changes from GAS gameplay effects
- Trigger GAS abilities based on UMAS attribute changes
Integration Patterns
Pattern 1 — UMAS as the Primary Attribute System (Recommended)
GAS handles:- Ability activation
- Gameplay cues
- Cooldowns
- Costs
- Combo systems
- Skillshots
- Replicated montage events
- Stats
- Scaling
- Buffs/debuffs
- Modifiers
- Leveling
- Effects
- UMAS has a more flexible data-driven stat system
- GAS retains its best features without duplicating stats
- No need to use GAS AttributeSet replication
Pattern 2 — Hybrid Mode
Some attributes live in UMAS, some in GAS. Use this if:- You already have a GAS AttributeSet (e.g., for MMO abilities)
- But want UMAS for item-based stats, survival stats, or leveling
Pattern 3 — Full GAS Attribute Mirroring
If your game already heavily uses GAS, you can forward UMAS events:- OnAttributeChanged → ApplyGameplayEffect
- OnLevelUp → ActivateAbility
- UMAS effects → Convert to GE specs
Connecting UMAS to GAS
1. Get GAS Component
2. Bind UMAS Attribute Changes
3. Write a Sync Function
Using UMAS Effects With GAS Cues
UMAS effects can trigger GAS cues:- Apply VFX
- Apply SFX
- Apply animations
- Apply hit reactions
Designer Notes
- Use UMAS for “permanent” stats
- Use GAS for instant gameplay moment reactions
- Keep stat logic in one place (UMAS) to avoid fragmentation
Developer Notes
- UMAS is not dependent on GAS
- GAS AttributeSets are optional
- Syncing is unidirectional unless you choose otherwise
- UMAS scaling + GAS abilities is a powerful combo