This page documents all built-in events that SimpleGAS broadcasts through the SimpleEventSubsystem. You can listen for these events in your game to respond to various system changes. You can read about how to listen for events on the event system concept page.
Domain tags are used as a secondary categorization for events and can be useful for filtering events when listening. The primary domain tags are:
Domain Tag
Description
SimpleGAS.Domains.Ability.Local
Events that originated on the local client
SimpleGAS.Domains.Ability.Authority
Events that originated on the server (authoritative)
SimpleGAS.Domains.Attribute.Local
Attribute events that originated on the local client
SimpleGAS.Domains.Attribute.Authority
Attribute events that originated on the server
Payload Struct Definitions
FAbilityActivationEvent
structFAbilityActivationEvent{FGuidAbilityID;// The ID of the ability that was activatedTSubclassOf<USimpleGameplayAbility>AbilityClass;// The class of the ability that was activatedFInstancedStructAbilityContext;// The context data passed to the ability when it was activatedboolWasActivatedSuccessfully;// Whether the ability was activated successfullyfloatActivationTimeStamp;// The time when the ability was activated (in seconds, according to the server time)};
FSimpleAbilityEndedEvent
structFSimpleAbilityEndedEvent{FGuidAbilityID;// The ID of the ability that endedFGameplayTagEndStatusTag;// A tag describing how the ability endedFInstancedStructEndingContext;// Optional context data about how/why the ability endedEAbilityStatusNewAbilityStatus;// The new status of the abilityboolWasCancelled;// Whether the ability was cancelled or ended normally};
FFloatAttributeModification
structFFloatAttributeModification{FGameplayTagAttributeTag;// The tag of the attribute that was modifiedEAttributeValueTypeValueType;// Which value of the attribute was modified (base, current, etc.)floatNewValue;// The new value of the attribute};
FAttributeModifierResult
structFAttributeModifierResult{USimpleGameplayAbilityComponent*Instigator;// Component that applied the modifierUSimpleGameplayAbilityComponent*Target;// Component that received the modifierTArray<FAbilitySideEffect>AppliedAbilitySideEffects;// Abilities activated as side effectsTArray<FEventSideEffect>AppliedEventSideEffects;// Events sent as side effectsTArray<FAttributeModifierSideEffect>AppliedAttributeModifierSideEffects;// Modifiers applied as side effects};
FInstancedStruct
FInstancedStruct is a container that can hold any UE struct type. For struct attribute events, the payload will be the actual struct value of the attribute. The type will depend on what struct type your attribute is using.