Fighting Game · Guides & deep dives

V2 DRM Automated Testing

ProtectedDRM and UnprotectedDRMFree.

2sections1 minread

On this page

V2 DRM automated testing verifies game functions correctly with and without protection enabled. The release matrix runs protected signed builds and unprotected DRM-free builds through the same boot, gameplay, entitlement, persistence, telemetry, and safe-failure journeys.

with and without protection enabled.

Test Matrix#

V2/ue/Build/DRM/v2-drm-automated-testing.json defines two build modes: ProtectedDRM and UnprotectedDRMFree. Each test suite runs with protection enabled and without protection enabled, writes release evidence under $(ArchiveRoot)/DRM/AutomatedTesting, and uses the Unreal automation spec at V2/ue/Source/V2Tests/Private/Launch/DRMAutomatedTesting.spec.cpp.

Required automated suites cover boot and startup parity, gameplay smoke parity, online entitlement parity, persistence and telemetry parity, and removal pathway regression. Functional journeys include BootToMainMenu, TrainingModeSmoke, ArcadeMatchSmoke, OnlineEntitlementHandshake, OfflineLicenseBoot, SaveLoadRoundTrip, SettingsRoundTrip, TelemetryDelivery, DRMFreeArtifactBoot, and TamperSafeBoot.

CI Gates#

V2/ue/Tools/plan-v2-drm-automated-testing.py emits the deterministic DRM automated testing plan. V2/ue/Tools/check-v2-drm-automated-testing.py validates the manifest, planner output, automation spec, documentation dependency, protected/unprotected matrix, Horde wiring, CI workflow wiring, and this runbook.

Required release gates:

  • drm-automated-testing-plan-generated
  • drm-automated-testing-build-mode-coverage
  • drm-automated-testing-suite-coverage
  • drm-automated-testing-protected-unprotected-matrix
  • drm-automated-testing-game-function-coverage
  • drm-automated-testing-release-evidence