V4 ships six tactical-action cells under one account, one operator roster, and
one progression record across nine day-one platforms — Windows, PS5, PS5
Pro, Xbox Series X/S, Switch 2, macOS Apple Silicon, Steam Deck, iPad Pro, and
Android tablet. The cluster on this page is what turns that ambition into
something a platform holder will certify, an ops team can run at launch
concurrency, and a player can drive with whatever controller, wheel, or headset
is plugged in. It is also the cluster where V4's central honesty convention
bites hardest: the repository is text-only, so every cooked Unreal asset
exists as a .v4asset.json stand-in (~891 today), and a manifest that
declares a cert pass or a 4K/60 frame budget cannot be cooked, profiled, or
booted from this repo. So the page draws a hard line. Some of this surface is
real, tested Unreal C++ (the split-screen / hot-seat / LAN policy library,
the telemetry subsystem) and some is machine-checked gates over JSON (the
performance and PSO budgets); the rest — cert checklists, peripheral feedback
curves, XR variants, store mappings — is authored intent in manifests and
data-asset stand-ins, labeled as such wherever it appears. The section hub is
../V4_features.md.
What ships, honestly#
The boundary between "implemented and tested" and "declared intent" runs cleanly through this cluster, and it is worth stating up front so nothing below is oversold.
- Local multiplayer is real, validated C++.
UV4LocalMultiplayerPolicyLibrary(V4/ue/Source/V4Modes/Private/V4LocalMultiplayer.cpp, 319 lines) builds the launch split-screen / hot-seat / LAN policy matrix, computes viewport layouts and hot-seat turn orders, and self-validates — backed by theV4.Modes.LocalMultiplayer.SplitHotSeatLANautomation spec (V4/ue/Source/V4Tests/Private/V4ModesTests/ModeSpec.cpp). - Telemetry is a real C++ subsystem over a real schema.
UV4TelemetrySubsystem(V4/ue/Source/V4Telemetry/) is a substantiveUGameInstanceSubsystemwith schema validation, batching, region opt-out, certificate pinning, and an offline queue; it feeds the real ClickHouse DDL atV4/ops/telemetry/clickhouse/schema.sql. - Performance budgets are machine-checked, not decorative.
apps/v4/scripts/src/v4-performance-budget-check.mjsvalidates the per-platform memory and frame budgets (V4/perf/performance-budgets.json), the PSO delta report, and the shader-warm coverage manifest, and fails the build on a missing required PSO entry. - Peripheral tuning is data, not backing C++. The DualSense trigger curves,
Xbox impulse patterns, wheel calibration, HOTAS, adaptive-controller, and
eye-tracking profiles live as JSON manifests (
V4/peripherals/) mirrored toDA_*data-asset stand-ins, owned by theV4Inputmodule. The input router is real C++; the feedback profiles are authored data and are labeled as such. - Cert, store, and XR are declared intent.
V4/release/certification.json,V4/store/platform-store-features.json, and theV4/xr/variant manifests are honest checklist and entitlement declarations. A real TRC/XR/Lotcheck pass needs a cooked, bootable build that the stand-in repo cannot produce — the same caveat the architecture companion ../architecture/security-compliance-launch.md states in full.
Platform support, performance & certification#
Nine platforms, one mode catalogue#
V4's platform parity rule is encoded, not promised:
V4/release/platform-mode-availability.json lists all nine platforms,
"allAdvertisedModesOnAllPlatforms": true, an empty exceptions array, and a
platformExclusiveContentPolicy of CosmeticsOnly over the full 37-entry
advertisedModeIds list — so no cell, mode, or mission is withheld behind a
platform, and the only thing a platform deal can buy is a skin. The one
principled exception is hardware reality, not policy: Switch 2 builds strip
V4Mode_Tactical_CoDWarzone and V4Mode_Tactical_R6Modern for memory,
capping tactical PvP at 8v8 with no 100-player battle royale, as the features
source and the cook strip-profiles record.
Reference targets scale with the silicon. PC's reference is 1440p/60 on an RTX 4070 + i7-13700K (ultra: 4K/60 on a 4090); PS5 and Xbox Series X hold 4K (dynamic)/60 in Performance mode and 4K/30 in Quality with full Lumen; PS5 Pro adds PSSR upscaling; Series S targets 1080p/60 with reduced Lumen; Switch 2 runs 1080p docked/30 with FSR; macOS/iPad use MetalFX; and Steam Deck / Linux is Proton-verified at 800p/60.
Performance budgets and engineering polish#
The budgets behind those targets are real data with a real gate.
V4/perf/performance-budgets.json carries per-platform memory and frame budgets
— PS5 Performance, for example, pins a 6144 MB game budget, a 5120 MB streaming
pool, and an 8192 MB active-GPU target while holding every cell at 60 fps /
16.67 ms in 4K dynamic — and v4-performance-budget-check.mjs validates the
matrix, including the Switch 2, Series S, and Steam Deck blocks. Engineering
polish is gated the same way: V4/perf/engineering-polish.json declares a PSO
regression policy with a missingPsoEntryBudget of 0 and a
maxShaderCompileStallMs of 0.5, and a shader pre-warm telemetry target of
≥ 98 % idle-warm coverage that the manifest records as met on PS5
Performance (1661 of 1680 permutations, 98.87 %). The PSO delta report
(V4/perf/pso-delta-report.json) is sourced from "Unreal Insights shader-stall
capture + ShaderPipelineCache CSV", tracks every required launch and patch
cache, and the gate asserts missingRequiredPsoEntries is empty — a missing
required PSO entry fails the build. (The cold-load p95 targets — PS5/XSX ≤ 9 s,
Series S 14 s, Switch 2 22 s, Steam Deck 12 s — are documented budget intent in
the features source; the budget JSON profiled here covers memory and frame
time.)
Certification, build integrity & store#
Certification is a manifest declaration of checklist coverage, not a profiled
pass. V4/release/certification.json enumerates nine platform entries — Sony
TRC (PS5, PS5 Pro), Microsoft XR, Nintendo Lotcheck, Steam Deck Verified,
Windows/Steam, macOS notarization, and the store reviews — each with a status
of passed/verified, blockerCount: 0, and four-plus evidence tokens
(boot_to_interactive, save_data_lifecycle, pssr_scaling_path,
notarized_app_bundle, and so on). The companion v4-cert-check gate counts a
platform only when its status is passed/verified with ≥ 4 evidence items —
but the honest caveat applies in full: these attest cert intent and coverage,
because a real pass needs a cooked build.
The build pipeline behind them is concrete: V4/release/build-cook-patch.json
defines a Jenkins PC buildfarm (checkout → preflight → restore DDC → build
editor → cook eight platforms → package → archive symbols → publish), a GitHub
Actions surface that lints/tests @v4/scripts, runs Nx-affected, and executes
cargo test --workspace over the Rust services, and a BuildGraph cook driver
with an 8-hour cook budget. DRM is platform-entitlement-only — Steam/EOS DRM and
per-store licenses, no Denuvo (V4/release/drm-code-signing.json), an
explicit trust and performance decision. Per-platform store integration is
authored in V4/store/platform-store-features.json: a single canonical
six-achievement design maps onto PSN trophies (a 1230-point budget with a
Platinum), Xbox gamerscore, Steam, Nintendo, Apple Game Center, and Google Play
Games, with a serverAuthoritative, idempotentUnlocks, offlineQueue,
backfillOnAccountLink sync policy. Pricing is PPP-adjusted per region and
published transparently at /store/pricing.
Operations: launch, live-ops & studio#
The launch gate's operational inputs#
The §94 launch readiness gate (detailed in the architecture companion) reads its
operational evidence from this directory. The matchmaking soak
(V4/ops/launch/matchmaking-soak-5x.json) simulates 200,000 players at 5×
launch concurrency across all six cells in NA and EU and records a p99 of
34.2 s under the 35 s bar. The Open Beta crash dashboard
(V4/ops/launch/open-beta-crash-dedup-dashboard.json) reports 0.079 %
deduped crash rate over 18.4 M Sentry release-health sessions, under the 0.1 %
threshold. The 24/7 launch support rota (V4/ops/launch/watchtower-rota.json)
staffs three regional shifts (AMER/EMEA/APAC, 18 agents each) for 30 days with a
60-minute ranked-blocking hotfix turnaround and dedicated escalation queues
for ranked-blocking, platform-cert, payments, and safety. Hotfixes themselves
ride data tables the patch service can push live within 30 minutes with no
client redownload, and the day-one patch is capped at ≤ 6 GB carrying the launch
anti-cheat and the closed-beta balance pass.
The telemetry spine#
V4's analytics are a real subsystem, not a wrapper. UV4TelemetrySubsystem
(V4/ue/Source/V4Telemetry/) builds a typed event schema, validates each event
against it, batches with a 32-event default and time/buffer flush triggers,
serializes to JSON, and persists an offline queue to disk for retry when the
client reconnects. Two privacy-first seams are built in: SetRegionOptOut /
IsRegionOptedOut gate a region's events behind a named regulation, and
IsCertificatePinAccepted pins the ingest endpoint's certificate. Events land
in the real ClickHouse DDL at V4/ops/telemetry/clickhouse/schema.sql — a
MergeTree events table ordered by (event_name, cell, mode, region, ts) with
a 395-day TTL, a dead-letter table, and a balance_metrics materialized
view — and surface through the Grafana dashboards under
V4/ops/telemetry/grafana/ (region health, mode funnel, cell balance, and the
Hitman seasonal world-state board). The full observability spine is owned by
../architecture/telemetry-observability-performance.md.
Studio operations & wellness#
The production and wellness program is documented obligation backed by data
assets, and V4 treats it as launch-blocking.
V4/ops/studio/studio-ops-baseline.json locks the mocap schedule (a
10-shoot-day principal stage with 34 operators, requiring a union contract,
stunt coordinator, on-set medic, and stop-work authority), the 12-language VO
plan (Cinedubs cinematic partner, four recording waves from table-read to
pickups), and the composer cadence (five milestones, four approval gates). Its
wellness block declares a no-mandatory-crunch policy (40 h standard / 45 h
max planned, written approval for overtime, 1.5× comp time, an anonymous
reporting hotline), mental-health resources (EAP, a $750 remote-counselling
stipend, eight confidential sessions/year), a DEI baseline, and a seven-scope
sensitivity-reading manifest covering operators, historical civilizations,
Hitman locales, Wukong cultural representation, and trauma-informed tone.
post-launch-wellness-operations.json extends this into year one with a
quarterly external crunch audit by an independent reviewer against
timekeeping and on-call data, a published public policy URL, and a 30-day
corrective-action deadline.
Hardware, peripherals & XR#
Local multiplayer: split-screen, hot-seat & LAN#
This is the load-bearing real code of the cluster.
UV4LocalMultiplayerPolicyLibrary builds a launch policy matrix entirely in
C++: 2-player split for Tactical Co-op, Wukong Two-Tail, and Contra; 4-player
split for RTS Team and Spec Ops; a RTST.HotSeat policy using shared-keyboard
alternation; and an 8-player RTS.LANSkirmish policy. Each split policy carries
its own dynamic- resolution scale (Contra 0.78, Tactical 0.72, RTS Team 0.66) so
the renderer drops a band under split to hold the frame budget, and
BuildViewportLayout returns exact normalized viewport rects for 1/2/4 players
(vertical or horizontal two-player, grid four-player). The validator is strict
and self-checking: ValidateLaunchPolicies requires the five split caps,
per-viewport HUD, per-player profiles, a split dynamic-resolution scale > 0
and ≤ 0.8, Contra's screen-edge tethering, the hot-seat's single-keyboard
alternation (turns assigned to Keyboard.Primary exclusively via
BuildHotSeatTurnOrder), and the LAN session's backend-free deterministic
lockstep at 25 Hz on broadcast port 7777. The
V4.Modes.LocalMultiplayer.SplitHotSeatLAN spec exercises all of it — that
Tactical Co-op starts 2P on console without a backend but rejects a third
player, that 2P split picks the vertical layout, that 4P uses the grid, and that
hot-seat cycles turns back to player one.
Controller feedback & accessibility peripherals#
The peripheral program is broad, and it is authored data rather than backing C++
— the V4Input module owns input routing, the cover-stick modifier, and the
motion parser, but the feedback profiles live in
V4/peripherals/hardware-peripherals.json and hardware-peripherals-deep.json,
mirrored to DA_* data-asset stand-ins. On DualSense, per-weapon adaptive
triggers give a high-caliber weapon a heavy 0.82- resistance pull and burst
weapons a two-stage pull, and DA_DualSenseWeaponTriggerCurves generates one
trigger curve per weapon row (110 weapons) plus cell-specific haptics — a 45
Hz Stealth suspicion heartbeat, a 220 Hz ARPG parry-success tick, a 62 Hz RTS
distant-battle bed. Xbox Series impulse triggers mirror the set with 110
per-weapon patterns. Seven gamepad presets ship with glyph sets (Xbox, DualShock
4, DualSense, Switch Pro, 8BitDo, Steam Controller, Steam Deck), all remappable.
The HOTAS profile binds the helo door-gunner setpiece (Little Bird, AC-130, Huey
segments); the racing-wheel manifest carries five real brand calibration
profiles (Logitech G923/G29, Thrustmaster T300RS, Fanatec CSL DD, Moza R5) with
per-brand rotation, deadzone, and force-feedback gain plus a settings-exposed
force-feedback curve editor. Accessibility peripherals are first-class:
DA_AdaptiveControllerPresets supplies Xbox Adaptive Controller presets
including a single-stick tactical variant with auto-strafe assist and
switch-scanning dwell, and DA_EyeTrackingInputAssist wires Tobii (120 Hz) and
PS5 Pro camera eye-tracking for a stick-gated camera-aim nudge and gaze-based UI
focus. (Vehicle-side impulse feedback is the one piece that is real C++:
V4Vehicles carries an Impulse field on its vehicle types.)
VR & AR variants#
XR is curated and entitlement-shared, authored in V4/xr/launch-xr-support.json
and extended-xr-support.json over the OpenXR, OpenXR hand-tracking and
eye-tracker, ARKit, and Apple Vision engine plugins. Three launch VR variants
target PSVR2 and Quest 3 at 90 fps — Splinter Cell VR (curated linear
stealth), the R6 VR Training Range (weapon handling only), and a Wukong VR
Boss Room (a single arena) — each with its own comfort options (vignette,
snap-turn, seated mode, dominant-hand, plus boss-scale comfort for Wukong) and
locomotion choices. Apple Vision Pro gets a room-anchored, world-scale-locked
Contra AR overlay at launch, and the extended (P3) manifest adds the full
Splinter Cell VR campaign, the full 30-boss Wukong roster, and a Vision Pro
Tactical Planning Table. Cross-buy is the key promise and it is data-encoded:
grantPolicy: "OwnFlatScreenGrantsXrAndAr" at additionalCostUsdCents: 0,
requiring a linked primary account, with progression shared with the flat-screen
save — so owning V4 grants every VR and AR variant free and your campaign
carries across.
Where this connects#
- Sideways: Live Service, Progression & Vault owns the account, entitlement, and store surfaces the cross-buy grants and region pricing resolve against; Trust, Safety & Compliance owns the parental-controls, anti-cheat, age-gating, and moderation surface this page's telemetry opt-out and store gating feed.
- Architecture companions:
Security, Compliance & Launch
is the home of the §94 launch readiness gate this page supplies soak, crash,
and watchtower evidence to, and the source of the text-only
.v4asset.jsoncaveat; Telemetry, Observability & Performance owns the full analytics and performance spine the telemetry subsystem and budget gates plug into. - The section hub: ../V4_features.md.