# Mod Collections

Task: `TODOS.phase-72.72.14.2.8`

V2 mod collections package curated sets of compatible mods that can be installed
as a group. `FV2ModCollectionInstallPlan` records the required and optional
members, group install actions, compatibility blockers, dependency blockers, and
conflict blockers for each collection or modpack.

## Policy

`BuildDefaultModCollectionPolicy` requires:

- curated collections
- group installation support
- compatibility with the current game version
- dependencies included in the collection
- optional member support
- a maximum collection size of 50 mods

## Collections

`FV2ModCollectionDefinition` stores the collection id, display name, curator,
description, visibility, curated status, group-install flag, and members.

`FV2ModCollectionMember` stores the mod id, pinned required version, provider
mod id, required or optional status, current-game compatibility, dependency ids,
and conflicting mod ids.

## Install Plans

`BuildModCollectionInstallPlan` creates group install actions for compatible
required and optional members. Required incompatible mods, missing pinned
versions, missing dependencies, and conflicts block group installation. Optional
members with non-blocking compatibility or dependency issues produce
`SkipOptionalMod` actions rather than blocking the whole modpack.

## Verification

Run:

```bash
python3 V2/ue/Tools/check-v2-mod-collections.py
python3 -m json.tool V2/ue/Content/V2/Modding/ModCollections_V2_Contract.json
```

The focused checker verifies runtime types, curated collections, group install
plans, required and optional member handling, compatibility gates, dependency
gates, conflict gates, automation assertions, docs, CI/Horde wiring, and TODO
evidence for `72.14.2.8`.
