#22603·OpenRA

Campaign progression: mission browser integration

Author: penev92Created Sep 3, 2026Updated Sep 3, 2026

Part 3 of #22600, depends on #22602. Make the existing mission browser progression-aware: locked missions are hidden until unlocked, and completed missions show their playthrough record. This is the display side of @pchote's original steps 2–3, and the modern take on what #15020 attempted in 2018.

Design

  • The browser reads the progress store (C#; no Lua involved on the read side).
  • The existing browser layout and missions.yaml grouping stay — this decorates, it does not redesign (the campaign-specific selection screen is milestone 5's separate UI).
  • Locked missions are hidden (not greyed) by default, matching #17067's "unavailable missions" behavior; an unlock-all button will likely need to be added to not regress the experience for players that don't care about the campaign progression.

Work items

  • Hide missions whose unlock state (from the store's standard schema) says locked; missions with no campaign data behave exactly as today
  • Show playthrough info for completed missions: beaten difficulty, completion time, score
  • Coordinate with #22321 (mission browser setting saving) so the two features don't collide

Out of scope

Choosing the next mission mid-campaign (milestone 5), any changes to how missions launch.