This document covers TODOS.phase-72.72.14.1.7: dependency conflict detection,
version-range validation, and the operational resolution UI model for .mayamod
packages.
Runtime Surface#
- module:
V2Modding - policy:
FV2ModDependencyResolutionPolicy - conflict:
FV2ModDependencyConflict - action:
FV2ModDependencyResolutionAction - UI row:
FV2ModDependencyResolutionUiRow - UI model:
FV2ModDependencyResolutionViewModel - native screen:
UV2ModDependencyResolutionScreen - result:
FV2ModDependencyResolutionResult - helper functions:
BuildDefaultModDependencyResolutionPolicy,EvaluateModDependencyResolution,BuildModDependencyResolutionViewModel, andApplyModDependencyResolution - automation:
V2/ue/Source/V2Tests/Private/Modding/ModLoadingSystem.spec.cpp - contract:
V2/ue/Content/V2/Modding/ModDependencyResolution_V2_Contract.json
Resolver#
EvaluateModDependencyResolution builds on the dependency-ordered load plan and
adds missing dependency, optional dependency, duplicate id, cycle, and semantic
version-range checks. Version ranges support the manifest forms used by
.mayamod packages, including >=2.0.0 <3.0.0.
Blocking conflicts prevent applying the load plan. Warning conflicts remain visible in the resolver but do not block a clean required dependency graph.
Resolution UI#
The default UI model targets the native
/Script/V2UI.V2ModDependencyResolutionScreen screen and uses a cardless
operational layout. The view model exposes conflict rows, severity labels,
primary actions, blocking and warning counts, a conflicts-only filter, and
keyboard/gamepad navigation support. Actions include install, upgrade, disable
dependent mod, remove duplicate package, review cycle, and apply resolved load
plan.
Verification#
python3 V2/ue/Tools/check-v2-mod-dependency-resolution.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-dependency-resolution.py V2/ue/Tools/check-v2-mod-loading-system.py V2/ue/Tools/check-v2-ci-workflow.py
python3 -m json.tool V2/ue/Content/V2/Modding/ModDependencyResolution_V2_Contract.json