# S7-T2 - Implementation : plugin `LPSandbox` hors Shipping - **Fiche :** S7-T2 | **Role :** IMPL-L | **Date :** 2026-10-06 - **Contrat :** `S7-SPEC.md` §C5 - **Commit addon :** `f09c42e5a2bc613cf269cce76c878461ca41c8b7` (`main`, local, non pousse) : `S7-T2: uplugin SupportedTargetPlatforms Win64, LPSandbox module deny Shipping` ## Choix | Option proposee | Decision | Motif | |---|---|---| | `TargetAllowList: ["Editor"]` | **Rejetee** | Le sandbox tourne en `-game` (cible Game Development / DebugGame via `UnrealEditor.exe -game`) : trop strict. | | `TargetAllowList: ["Editor", "Game"]` (module) | Rejetee | Equivalent a exclure Server / Client / Program ; ne sort pas Shipping (Shipping est une **configuration**, pas un type de cible). | | `TargetAllowList: ["Editor", "Program"]` | Rejetee | Exclut la cible Game Development, qui monte `LPSandbox` (preuve S7-VAL §3). | | **`TargetConfigurationDenyList: ["Shipping"]` sur le module `LPSandbox`** | **Retenue** | Supportee par UE 5.5 (`ModuleDescriptor.cpp:220`, `ModuleDescriptor.cs:327`). Exclut `LPSandbox` du Shipping seulement. | | Meme deny-list sur `LPAnimMeasure` | **Rejetee** | `LifePlay.Build.cs` depend de `LPAnimMeasure` (`LPDirectControlSubsystem`, `LPShowCoupleSubsystem` -> `LPCoupleSim`) : un Shipping du jeu casserait. | | `Optional: true` sur le plugin dans `LifePlay.uproject` | **Retenue (limitee)** | Evite l'erreur « plugin introuvable » au chargement de l'editeur si l'addon voisin n'est pas clone. Ne remplace pas le build : `LifePlay.Build.cs` exige `LPAnimMeasure` (voir Limites). | ## Modifications 1. `D:\Game\LifePlay-Sandbox\Plugins\LPSandbox\LPSandbox.uplugin` - `"SupportedTargetPlatforms": ["Win64"]` ; - module `LPSandbox` : `"TargetConfigurationDenyList": ["Shipping"]` ; - `Description` : precise que `LPSandbox` n'est pas compile en Shipping et que `LPAnimMeasure` l'est toujours. 2. `D:\Game\LifePlay-master 5.5\LifePlay.uproject` : plugin `LPSandbox` -> `"Enabled": true, "Optional": true`. ## Limites - **Pas de jeu empaquete avec sandbox.** En Shipping, le GameMode `LPPairSandboxGameMode` n'existe pas ; les `.bat` `Tools/debug/*_sandbox.bat` ne s'appliquent qu'a Development / DebugGame. - **`Optional` ne dispense pas du clone sibling pour compiler.** Sans `../LifePlay-Sandbox/Plugins`, `LifePlay.Build.cs` ne trouve pas `LPAnimMeasure` : le build du jeu echoue. `Optional` ne couvre que le chargement du projet sans module a compiler. - **Commit addon non pousse** et pin (`S3-INT.md`) mis a jour vers `f09c42e` : un `git push` de l'addon est necessaire avant de partager le jeu. - Aucun changement de code C++ ; `LPAnimMeasure.Build.cs` / `LPSandbox.Build.cs` inchanges.