# In-Game Mod Browser

Task: `TODOS.phase-72.72.14.2.3`

The V2 in-game mod browser is a utility surface for finding, previewing,
installing, and updating mods without leaving the game. The browser is driven by
`FV2ModBrowserViewModel` in `V2Modding` and rendered through
`UV2ModBrowserScreen` in `V2UI`.

## Workspace

The browser model keeps the working surface dense and predictable:

- `FV2ModBrowserFilter` carries search text, category, tag, provider, sort mode,
  installed-only, updates-only, and compatibility filters.
- `FV2ModBrowserEntry` carries display metadata, provider ids, preview media,
  rating/download/updated signals, install state, and install/update
  eligibility.
- `FV2ModBrowserPreview` exposes the selected entry, preview media flag, and
  actions.
- `FV2ModBrowserViewModel` exposes rows, result counts, selected row, installed
  count, update count, keyboard/gamepad support, and install/update-in-game
  support.

The default widget target is `/Script/V2UI.V2ModBrowserScreen` with screen id
`Mods.Browser`.

## Search, Filter, Sort

`ApplyModBrowserFilter` filters against display name, author, summary, category,
and tags. Provider, category, required tag, installed-only, updates-only, and
compatible-only filters are applied before sorting. Supported sort modes are
relevance, name, downloads, rating, and last updated.

## Preview And Actions

`BuildModBrowserPreview` creates install, update, enable/disable, rating, and
details actions from the selected row. Install and update actions are primary
actions and mark that a download is required, so provider-specific Steam
Workshop or mod.io flows can be launched from the same screen.

## Native Screen

`UV2ModBrowserScreen` configures from the view model, exposes rows and preview
state to Blueprint, applies new filters, updates selection, and reports support
for cardless operational layout, keyboard/gamepad navigation, and install/update
without leaving the game.

## Verification

Run:

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

The focused checker verifies runtime types, filtering/sorting/action helpers,
the native UI screen, automation assertions, docs, CI/Horde wiring, and TODO
evidence for `72.14.2.3`.
