Fighting Game · Guides & deep dives

V2 Platform Entitlement Verification

before base content loads.

4sections1 minread1table

On this page

Phase 72.21.1.12 adds a platform entitlement verification surface for checking that the current platform account owns the base game and requested DLC before content loads. FV2PlatformEntitlementVerificationPolicy owns provider route coverage, FV2PlatformEntitlementContentRequirement describes the content gate, FV2PlatformEntitlementReceipt carries cached ownership proof, and FV2PlatformEntitlementVerificationPlan decides whether content can load or a platform SDK entitlement query must run first.

Operations#

PlanPlatformEntitlementVerification supports:

  • VerifyBaseGameOwnership checks the configured Game.Oshun.V2.Base SKU before base content loads.
  • VerifyDlcOwnership checks the current platform DLC SKU before optional content loads.
  • VerifyContentBundleAccess is reserved for bundled base-game plus DLC access checks where the platform returns one signed entitlement result.

Provider Routes#

Provider Native entitlement surface Base-game command DLC command Receipt command
Steamworks ISteamApps/ISteamUser ISteamApps::BIsSubscribedApp ISteamApps::BIsDlcInstalled ISteamUser::GetAuthSessionTicket
Epic Online Services EOS_Ecom EOS_Ecom_QueryOwnership EOS_Ecom_QueryEntitlements EOS_Ecom_QueryOwnershipToken
GOG Galaxy galaxy::api::IApps/galaxy::api::IUser galaxy::api::IApps::IsProductOwned galaxy::api::IApps::IsDlcOwned galaxy::api::IApps::GetDLCProductIDByIndex
PlayStation SDK V2PlayStationEntitlementInterface PsnEntitlements.QueryGameLicense PsnEntitlements.QueryContentLicense PsnEntitlements.ValidateSignedReceipt
Xbox GDK V2XboxGdkEntitlementInterface XboxEntitlements.QueryGameLicense XboxEntitlements.QueryDlcLicense XboxEntitlements.ValidateSignedReceipt

Console routes remain public stubs in V2OnlineServices. Proprietary PlayStation and Xbox headers or symbols stay in restricted platform SDK modules.

Rules#

The default policy requires Steamworks, EOS, GOG Galaxy, PlayStation SDK, and Xbox GDK route coverage. Each route must support base-game ownership, DLC ownership, signed receipt validation, and a fail-closed command. Console routes must be NDA-isolated and certification-scoped.

Content loading is fail-closed. A valid signed receipt for the current platform and platform account allows the content load. A missing or expired receipt blocks the content load and queues EV2PlatformSdkRequestType::QueryEntitlements when the native platform entitlement API is reachable. Wrong-account, wrong-platform, unsigned, and unavailable-platform-API cases block the load without treating the content as owned.

Verification#

Run:

bash
python3 V2/ue/Tools/check-v2-platform-entitlement-verification.py

The checker validates the C++ API, contract, automation spec, CI workflow, Horde gate, documentation, and TODO evidence for Section 72.21.1.12.