Fighting Game · Guides & deep dives

Mod Dependency Resolution

and ApplyModDependencyResolution

4sections1 minread

On this page

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, and ApplyModDependencyResolution
  • 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#

bash
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