Gameplay Ability System

GAS는 실행 흐름, 수치, 상태 저장소를 나눈다

스킬, 공격, 방어, 버프와 디버프를 한 블루프린트에 몰아넣지 않고 Ability, Effect, AttributeSet, Tag, AbilitySystemComponent로 역할을 분리합니다.

ASC

UAbilitySystemComponent

Pawn 또는 Character에 붙어 능력 부여, 실행, 취소, 이펙트 적용과 복제를 맡습니다.

Ability

UGameplayAbility

GA_MeleeAttack처럼 입력, 활성화 조건, 몽타주, 종료 흐름을 정의합니다.

Effect

UGameplayEffect

GE_Damage, 쿨다운, 코스트처럼 속성을 어떻게 바꿀지 데이터로 보관합니다.

Attributes

UGameplayAttributeSet

Health, MaxHealth, Mana 같은 런타임 값을 저장하고 RepNotify와 클램프 처리를 연결합니다.

Tags

FGameplayTagContainer

Ability.Melee, State.Stunned처럼 실행 가능 여부와 상태 충돌을 계층 태그로 판정합니다.