> **Historique 4.27** — Ce document décrit le portage UE 4.27 → 5.5 (V1). Il n'est plus mis à jour : moteur et outils actuels dans `27_Plan_Migration_UE58.md` et `Tools/Engine.ps1`.
Demande utilisateur (test de H3a) : pouvoir activer ou désactiver les mods dès le démarrage, puis choisir entre une
nouvelle partie et une partie sauvegardée.
## 1. Constat
- Le gestionnaire de mods (`UI/ModManager`) n'était accessible qu'en partie : entrée « Mod Manager » du menu
(`MainMenu.ModManagerButton`, sous-entrée en retrait sous « Resume »), masquée sur l'écran titre par la liaison de
visibilité `ColapsedForTitleScreen`. Même chose en 4.27 (mêmes références à `ModManagerInput`).
- Sa fermeture (`GI.CloseModManager`) suppose une partie en cours : `ShowUI`, `ClearModManagerWidget`, `PopulateRaws`
(relecture des données des modules), puis `CharGenInput(GameStart=true)` ou `DelayThenFollowUp` (suite du tour).
Le paramètre `GameStart` (gestionnaire en tête de nouvelle partie) existe dans `GI` mais n'est appelé par personne.
-`GI.SaveSettings(Slot)` recrée tout `GameSettings.sav` et y mémorise `Slot` comme dernière sauvegarde
(`LastSaveGame`, utilisée par « Load Last Save ») : inutilisable hors sauvegarde de partie.
## 2. Modification
Commandlet `LPTitleModManager` (Blueprint `GI` non modifié) :
| Blueprint | Modification |
|---|---|
| `UI/MainMenu` | nouvelle entrée `ModManagerTitleButton` : copie de `LoadButton` (même taille, police et icône ronde, sans retrait), icône `mod`, placée après « Load », visible seulement sur l'écran titre (liaison `OnlyVisibleForTitleScreen`) ; clic : menu masqué, `GI.CreateModManagerWidget(GameStart=false)`, `GI.ModManager.TitleMenu = self` (7 nœuds) |
| `UI/ModManager` | variable `TitleMenu` (menu titre qui l'a ouvert) ; fermeture : si `TitleMenu` est valide, menu titre réaffiché et focalisé, `GI.ClearModManagerWidget`, `GI.PopulateRaws` (données relues avec les modules choisis), `SaveModSelection` ; sinon circuit d'origine `GI.CloseModManager` (10 nœuds) |
L'entrée d'origine `ModManagerButton` n'est pas modifiée : en partie, le gestionnaire se comporte comme avant.
`ULPModSettingsLibrary::SaveModSelection` (C++, `Source/LifePlay`) relit `GameSettings.sav`, n'y remplace que
`ModEnableds` et le réécrit : la dernière sauvegarde et les autres réglages sont conservés. Sans `GameSettings.sav`
(premier lancement), rien n'est écrit : le choix vaut pour la session et sera enregistré à la première sauvegarde de