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처럼 실행 가능 여부와 상태 충돌을 계층 태그로 판정합니다.