Fighting Game · Guides & deep dives

V2 Season Pass Reward Definitions

The reward definition format flattens each season tier into explicit free and premium reward records.

4sections1 minread

On this page

This runbook covers TODOS.phase-72.72.12.2.2: a season pass reward definition format for cosmetics, currency, items, emotes, and titles per tier.

The implementation extends @v2/season-pass-service at apps/v2/season-pass-service/. Its contract is V2/ue/Content/V2/LiveOps/SeasonPassRewardDefinitions_V2_Contract.json and the validation gate is V2/ue/Tools/check-v2-season-pass-reward-definitions.py.

Reward Definition Format#

The reward definition format flattens each season tier into explicit free and premium reward records. Each record includes:

  • seasonId
  • tierLevel
  • lane (free or premium)
  • rewardId
  • rewardKind
  • displayName
  • quantity
  • catalogRef
  • entitlementRef
  • localizedNameKey
  • grantPayload

Supported reward kinds:

  • cosmetic
  • currency
  • item
  • emote
  • title

Every level must retain at least one free reward and one premium reward. The definition surface validates rewards at every level, required reward kinds, catalog references, entitlement references, localization keys, and grant payloads. The generated format keeps requiresClientPatch: false. No client patch is required for the supported reward definition payload; no client patch is part of the contract. no client patch.

Primary APIs:

  • buildV2SeasonPassRewardDefinitionSurface
  • validateV2SeasonPassRewardDefinitionFormat

Endpoints:

  • GET /v2/live-ops/season-pass/{seasonId}/reward-definitions
  • POST /v2/live-ops/season-pass/{seasonId}/reward-definitions/validate

Operator Flow#

  1. Author each tier with free and premium reward lanes.
  2. Use supported reward kinds only: cosmetics, currency, items, emotes, and titles.
  3. Validate the reward catalog before publishing a season track.
  4. Confirm every per-tier definition has catalog, entitlement, localization, and grant payload metadata.
  5. Publish the reward definition format with the season pass progression payload so clients can render tier rewards and servers can fulfill grants without a client patch.

Release Gates#

Required gates:

  • season-pass-reward-definitions-format
  • season-pass-reward-definitions-cosmetic-currency-item
  • season-pass-reward-definitions-emotes-titles
  • season-pass-reward-definitions-per-tier-lanes
  • season-pass-reward-definitions-grant-metadata
  • season-pass-reward-definitions-validation
  • season-pass-reward-definitions-ci-wired

Verification#

bash
pnpm --filter @v2/season-pass-service test
pnpm --filter @v2/season-pass-service typecheck
pnpm --filter @v2/season-pass-service lint
pnpm --filter @v2/season-pass-service build
python3 V2/ue/Tools/check-v2-season-pass-reward-definitions.py
python3 V2/ue/Tools/check-v2-ci-workflow.py
python3 V2/tools/validate-v2-docs.py