This document covers TODOS.phase-72.72.14.1.10: game-version compatibility
checks, mismatch warnings, and migration helpers for .mayamod packages.
Runtime Surface#
- module:
V2Modding - policy:
FV2ModCompatibilityPolicy - migration step:
FV2ModMigrationStep - issue:
FV2ModCompatibilityIssue - result:
FV2ModCompatibilityResult - helper functions:
BuildDefaultModCompatibilityPolicy,BuildModMigrationStep,EvaluateModGameVersionCompatibility, andApplyModCompatibilityMigration - subsystem forwarding:
UV2ModLoadingSubsystem::EvaluateGameVersionCompatibility - automation:
V2/ue/Source/V2Tests/Private/Modding/ModLoadingSystem.spec.cpp - contract:
V2/ue/Content/V2/Modding/ModCompatibility_V2_Contract.json
Compatibility Evaluation#
EvaluateModGameVersionCompatibility compares the current game version from
FV2ModCompatibilityPolicy against the manifest GameVersionRange using the
same semantic range parser used for dependency checks. Manifests in range are
compatible and loadable.
When the current game version falls outside the manifest range, the default
policy emits a warning and keeps the mod loadable. Stricter builds can set
bBlockIncompatibleMods to make mismatched mods fail the compatibility gate.
Invalid current game versions always block because the compatibility result
cannot be trusted.
Migration Helpers#
BuildModMigrationStep declares an explicit helper from one manifest
GameVersionRange to a target game version. Matching helpers are returned on
the compatibility result and set bMigrationAvailable.
ApplyModCompatibilityMigration marks a result as migrated when migration steps
are available, sets the mod compatible/loadable, and clears the migration
warning from blocking consideration. Migration helpers are intentionally
explicit so teams can review release notes, rebuild assets, recompile scripts,
or review breaking changes before treating an old mod as updated.
Verification#
python3 V2/ue/Tools/check-v2-mod-compatibility.py
python3 V2/ue/Tools/check-v2-mod-loading-system.py
python3 V2/ue/Tools/check-v2-ci-workflow.py
python3 V2/tools/validate-v2-docs.py
python3 -m py_compile V2/ue/Tools/check-v2-mod-compatibility.py V2/ue/Tools/check-v2-mod-hot-reload.py V2/ue/Tools/check-v2-ci-workflow.py
python3 -m json.tool V2/ue/Content/V2/Modding/ModCompatibility_V2_Contract.json