32 lines
2.7 KiB
Markdown
32 lines
2.7 KiB
Markdown
|
|
# 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.
|