Task: TODOS.phase-72.72.14.2.4
The V2 mod auto-update system plans launch-time update checks, background
downloads, silent apply, and mod refresh operations through
FV2ModAutoUpdatePlan. The planner is provider-neutral, so Steam Workshop,
mod.io, and local manifest candidates can share the same policy and safety
gates.
Policy#
BuildDefaultModAutoUpdatePolicy enables:
- update checks on game launch
- background downloads
- apply without user intervention
- compatibility validation before download
- metered-network protection
- mod refresh after a successful apply
The default download staging root is Saved/Mods/AutoUpdate.
Candidates#
FV2ModAutoUpdateCandidate records the installed version, remote version,
provider source, provider id, package hash, download reference, size estimate,
enabled state, compatibility state, and restart requirement.
EvaluateModAutoUpdates compares semantic major.minor.patch versions. Remote
versions newer than the installed version become update operations. Already
current mods create non-blocking evidence, while missing versions, incompatible
updates, oversized downloads, disabled background downloads, metered networks,
and user-confirmation policies block the plan.
Operations#
Each accepted update creates:
CheckDownloadApplyRefreshModswhen policy allows post-apply refresh
Download operations stage to Saved/Mods/AutoUpdate/<mod-id>/. Apply operations
are marked as silent when bApplyWithoutUserIntervention is enabled.
Verification#
Run:
python3 V2/ue/Tools/check-v2-mod-auto-update.py
python3 -m json.tool V2/ue/Content/V2/Modding/ModAutoUpdate_V2_Contract.json
The focused checker verifies runtime types, launch/background/silent-apply
behavior, metered-network and compatibility blockers, automation assertions,
docs, CI/Horde wiring, and TODO evidence for 72.14.2.4.