GameplayEffect 를 적용하는 방법은 GameplayEffectSpec 을 생성한 다음 이를 AbilitySystemComponent 에 적용하는 것입니다. 이 때, GameplayEffectSpec 을 생성하는 방법은 MakeOutgoingGameplayEffectSpec 로 AbilitySystemComponent 와 GameplayAbility 에서 호출이 가능합니다.
GameplayEffectSpec 에서 EffectContext 를 얻을 수 있는데 여기서 HitResult, Instigator, Causer 등의 정보가 담겨있습니다. Instigator 나 Causer 처럼 액터와 관련된 정보는 생성 시점에서 결정되기 때문에 수정이 불가능합니다. 하지만 HitResult, Origin 과 같이 충돌 정보와 관련된 것들은 수정이 가능합니다.
다음은 총기와 관련된 사용 예시입니다.