LifePlay-Revival/Docs/Migration/etat/sandbox/S3/S3-INT.md
edujiro5972 04b053554f Sandbox addon : brancher le jeu sur LifePlay-Sandbox (plugin LPSandbox).
Charge le plugin via AdditionalPluginDirectories, conserve ShowCouple et les commandlets anim côté jeu, et documente les lots S0–S8 (CHG-212 à CHG-220).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-06 21:10:53 +02:00

2.9 KiB

S3-INT — Integration jeu <-> addon LifePlay-Sandbox (fiche S3-T4)

Date : 2026-10-06 — Role A-INT

Pin addon

Champ Valeur
Repo addon https://github.com/edujiro5972/LifePlay-Sandbox.git
Branche main
Commit pin f09c42e5a2bc613cf269cce76c878461ca41c8b7 (f09c42e, local, non pousse au 2026-10-06)
Contenu du commit S5-T2 : LPCoupleSim (géométrie du couple partagée jeu/addon) ; inclut S4-T3 (retrait GM Interaction legacy), S4-T2 (découpe LPPairSandbox.cpp) et S3-T4 (StartupModule → SetUALRoot)
Pins précédents c1fdd29e2c1036c7d6365ba6389eff5d2f8c8c96 (S5-T2), f8102647ccdebad37e4977ccbf2c51e583823a80 (S4-T3), 4de1f0b6764ed3bc575bb687630d3f070e1be221 (S3-T4)

Structure

  • Addon = uproject mince + plugin nested : LifePlay-Sandbox/Plugins/LPSandbox/LPSandbox.uplugin.
  • Un submodule monte sur Plugins/LPSandbox du jeu donnerait Plugins/LPSandbox/Plugins/LPSandbox : incorrect, ecarte.

Strategie retenue : repos siblings + AdditionalPluginDirectories

  1. Deux repos git independants, cote a cote :
    D:\Game\LifePlay-master 5.5\     (jeu)
    D:\Game\LifePlay-Sandbox\        (addon)
    
  2. LifePlay.uproject :
    "AdditionalPluginDirectories": [ "../LifePlay-Sandbox/Plugins" ],
    "Plugins": [ { "Name": "LPSandbox", "Enabled": true }, ... ]
    
    Chemin relatif au dossier du .uproject ; UBT/UE scannent ../LifePlay-Sandbox/Plugins/**/*.uplugin.
  3. La junction Plugins\LPSandbox du jeu a ete retiree (rmdir Plugins\LPSandbox, cible intacte).
  4. Les modules plugin (LPSandbox, LPAnimMeasure, ...) se compilent dans Intermediate/External/... du jeu (plugin hors arbre projet).
  5. Source/LifePlay/LifePlay.Build.cs depend de LPAnimMeasure (inchange, noms OK) ; LPDirectControlSubsystem n'a pas necessite d'adaptation.

Submodule optionnel External/LifePlay-Sandbox : NON retenu

Un submodule dans le jeu dupliquerait l'addon (sibling + copie) et preterait a confusion sur la copie effectivement chargee. Pin manuel a la place (ci-dessous).

Pin manuel (reproduire l'environnement)

cd D:\Game
git clone https://github.com/edujiro5972/LifePlay-Sandbox.git
git -C LifePlay-Sandbox checkout f09c42e5a2bc613cf269cce76c878461ca41c8b7
# Le jeu doit etre clone a cote : D:\Game\LifePlay-master 5.5

Mettre a jour ce document (hash) a chaque bump de l'addon qui doit etre consomme par le jeu.

Validation

  • Build.bat LifePlayEditor Win64 Development -Project="...\LifePlay.uproject" : OK (91/91, 0 erreur) ; UnrealEditor-LPSandbox.dll lie depuis AdditionalPluginDirectories.
  • Journal : %TEMP%\s3t4_build.log.

Etat des repos

  • Addon : main pousse sur origin (premier push, -u), arbre propre.
  • Jeu : LifePlay.uproject modifie + ce document ; non commites (a faire par A-INT/orchestrateur).