Skip to main content

Game standard events

Last updated on April 5, 2024

Overview

A game standard event is a type of custom telemetry that has a predefined structure with associated formats and properties that are ready to use directly from the game SDK. It enables you to see player progression, rewards, and resources directly within AccelByte Gaming Services (AGS) dashboards.

This event is associated with your game titles. It should be used for title-specific information, such as players' mission status, level information, weapon pickups, death reasons, etc. Developers must call event functions and instruments corresponding to your game design.

Resource events

Use a resource event to track when players gain (source) or lose (sink) resources like in-game currencies, in-game resources, in-game lives, and in-game items or weapons.

A source is when a player gains or earns a resource, sink is when a player loses or spends a resource.

EventAttribute
resource_Sourced
resourceName <string>, 
resourceID <string>,
resourceCategory<string>,
resourceRating<string>,
resourceSource<string>, resourceLevelRequirement<string>,
resourceRarity<string>,
sourcedAmount<string>
resource_Sinked
resourceName<string>, 
resourceID<string>,
resourceCategory<string>,
resourceRating<string>,
resourceSource<string>,
resourceLevelRequirement<string>,
resourceRarity<string>,
sinkAmount<string>,
sinkedReason<string>
resource_Upgraded
resourceName<string>, 
resourceID<string>,
resourceCategory<string>,
resourceRating<string>,
resourceSource<string>,
resourceLevelRequirement<string>,
resourceRarity<string>,
upgradeType<string>,
upgradeSource<string>,
upgradeLevel<string>
resource_Actioned
resourceName<string>, 
resourceID<string>,
resourceCategory<string>,
resourceRating<string>,
resourceSource<string>,
resourceLevelRequirement<string>,
resourceRarity<string>,
equipLocation<string>,
actionName<string>,
actionTarget<string>

Progression events

Use a progression event to track when players start and finish levels, missions, quests, or similar objective-based gameplay to indicate a player’s path or place in the game.

This event can also relate to upgrading characters or buildings. If this is something that frequently occurs, it may be wise to aggregate or only send on specific progression milestones.

EventAttribute
quest_Started
questName<string>, 
questID<string>,
questType<string>,
questDifficulty<string>
quest_Ended
questName<string>, 
questID<string>,
questType<string>,
questDifficulty<string>,
questOutcome<string>
player_Leveled
levelStatus<string>, 
levelID<string>,
levelName<string>,
levelDifficulty<string>,
levelSubject<string>
player_Dead
deathTimeStamp<string>, 
deathType<string>,
deathCause<string>,
deathLocation<string>

Reward events

Use a reward event to track player levels or quest rewards, daily bonuses, friend gifts or seasonal gifts.

tip

Send multiple reward events if there are several things bundled in the reward.

EventAttribute
reward_Collected
rewardName<string>, 
rewardType<string>,
rewardAmount<string>

Send Game Standard Events using the Game SDK

The AccelByte Game SDK supports sending Game Standard Events out of the box in a very simple way. There is a list of functions available that can be called with the appropriate payloads for each of the events listed above. The following code snippet shows an example of how to use this feature.

int32 LocalUserNum = 0;
const FOnlineGameStandardEventInterfacePtr GameStandardEventInterface = AccelByteSubsystem->GetGameStandardEventInterface();
auto Model = FAccelByteModelsRewardCollectedEventPayload{};
Model.RewardName = TEXT("Quest Reward");
Model.RewardType = TEXT("Gold");
Model.RewardAmount = TEXT("100");
GameStandardEventInterface->SendRewardCollectedEvent(LocalUserNum, Model);

Similarly, each of the events can be called with the functions as listed below:

  • SendResourceSourcedEvent(ResourceSourcedEventPayload)
  • SendResourceSinkedEvent(ResourceSinkedEventPayload)
  • SendResourceUpgradedEvent(ResourceUpgradedEventPayload)
  • SendResourceActionedEvent(ResourceActionedEventPayload)
  • SendQuestStartedEvent(QuestStartedEventPayload)
  • SendQuestEndedEvent(QuestEndedEventPayload)
  • SendPlayerLeveledEvent(PlayerLeveledEventPayload)
  • SendPlayerDeadEvent(PlayerDeadEventPayload)
  • SendRewardCollectedEvent(RewardCollectedEventPayload)