O1 : build allege (plugins moteur limites a l'editeur, contenu non cuit, sans symboles) ; lien Mega V1.1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
edujiro5972 2026-10-02 01:47:45 +02:00
parent d2fa4b5df8
commit b6e587164d
6 changed files with 272 additions and 55 deletions

View file

@ -45,6 +45,23 @@ bSkipMovies=False
; Tout /Game doit donc etre cuit, quelle que soit la methode d'empaquetage (ERR-026).
+DirectoriesToAlwaysCook=(Path="/Game")
+DirectoriesToNeverCook=(Path="/Game/Heavy/New/fBlah")
; Lot O1 : contenu des plugins limites a l'editeur (LifePlay.uproject, TargetAllowList Editor) : jamais cuit.
+DirectoriesToNeverCook=(Path="/Interchange")
+DirectoriesToNeverCook=(Path="/InterchangeAssets")
+DirectoriesToNeverCook=(Path="/NNEDenoiser")
+DirectoriesToNeverCook=(Path="/NNERuntimeORT")
+DirectoriesToNeverCook=(Path="/HairStrands")
+DirectoriesToNeverCook=(Path="/SpeedTreeImporter")
+DirectoriesToNeverCook=(Path="/Paper2D")
+DirectoriesToNeverCook=(Path="/MovieRenderPipeline")
+DirectoriesToNeverCook=(Path="/USDCore")
+DirectoriesToNeverCook=(Path="/Bridge")
+DirectoriesToNeverCook=(Path="/Fab")
+DirectoriesToNeverCook=(Path="/LiveLink")
+DirectoriesToNeverCook=(Path="/MetaHumanSDK")
+DirectoriesToNeverCook=(Path="/Takes")
+DirectoriesToNeverCook=(Path="/PythonScriptPlugin")
+DirectoriesToNeverCook=(Path="/ChaosVD")
+DirectoriesToAlwaysStageAsNonUFS=(Path="Modules")
[/Script/McpAutomationBridge.McpAutomationBridgeSettings]

View file

@ -238,4 +238,27 @@ La bibliothèque compte environ 3 000 produits, dont 302 outils et plugins. Prod
| AssetDump: Agents-readable assets | fallingsappy | export lisible des assets pour un agent : pourrait compléter `AuditAssets.py` |
Rien n'a été acheté, réclamé ni téléchargé. Chaque outil retenu sera évalué dans une copie du projet,
dans un lot dédié, avec l'accord de l'utilisateur.
dans un lot dédié, avec l'accord de l'utilisateur.
## 11. Lot O1 : build allégé (2026-10-02)
| Modification | Fichier |
|---|---|
| 20 plugins moteur limités à l'éditeur (`"TargetAllowList": ["Editor"]`) : `NNEDenoiser`, `NNERuntimeORT`, `Interchange`, `InterchangeAssets`, `InterchangeTests`, `Fab`, `Bridge`, `MetaHumanSDK`, `SpeedTreeImporter`, `HairStrands`, `MovieRenderPipeline`, `Paper2D`, `USDCore`, `ChaosVD`, `LiveLink`, `ConcertMain`, `ConcertSyncClient`, `ConcertSyncCore`, `Takes`, `PythonScriptPlugin` | `LifePlay.uproject` |
| Leur contenu n'est plus cuit (`+DirectoriesToNeverCook`) : sans cela, la cuisson échoue sur les pipelines `Interchange` | `Config/DefaultGame.ini` |
| Build sans symboles de débogage (`-nodebuginfo`) | commande de build |
Justification : `Tools/AuditScriptDeps.py` (dépendances des 8 563 assets, lecture seule) montre que le contenu n'utilise
que 24 modules de code, dont aucun des plugins retirés. L'éditeur et l'outil MCP les gardent.
Piège : la cuisson incrémentale (`-iterate`) garde le contenu déjà cuit des plugins retirés ; il a été déplacé vers
`D:\Game\LifePlay_Backup_5.5\O1\_cuisson_retiree`.
| Build Shipping | Avant (V1.1) | Après (O1) |
|---|---:|---:|
| Taille | 3 246 Mo | **2 859 Mo (−387 Mo, −12 %)** |
| Fichiers | 24 249 | 23 901 |
| Paquets du jeu | 8 561 | 8 561 |
| `NNE`, `Interchange`, `.pdb`, `DirectML.dll` | présents | absents |
Build : `D:\Game\LifePlay_Build_5.5_O1`. Validation en jeu : **en attente**.

View file

@ -905,3 +905,4 @@ Validation L7c/L7d (2026-10-02, parc, même cadrage) : la nuit reste claire (sol
| CHG-058 | 2026-10-02 | Doc | nouveaux `07_Architecture_5.5.md`, `08_Guide_Developpeur.md`, `09_Commandes_Utiles.md`, `10_Protocole_Operations.md` ; mis à jour `README.md` (migration et racine), `01`, `03`, `04` (bilan §5), `05` (CX-C14 à C18, statuts), `06` (résultat V1), registre (ERR-020) | finalisation de la documentation de migration : architecture finale, guide développeur, commandes, protocole et leçons | `git revert` du commit |
| CHG-059 | 2026-10-02 | O0 | nouveaux `Tools/AuditAssets.py`, `Docs/Migration/11_Audit_Optimisation.md` ; lanceur `LifePlay_profil_O0.bat` (build L7cdj, hors dépôt) | audit d'optimisation en lecture seule : inventaire des assets, build livré, leviers et lots proposés ; aucune modification du projet | `git revert` du commit |
| CHG-060 | 2026-10-02 | O0 | `Docs/Migration/11_Audit_Optimisation.md` §9-10 ; lanceur `LifePlay_profil_O0.bat` corrigé (capture par `-ExecCmds`) | résultats de la mesure en jeu (60 images/s tenues, à-coups du thread de jeu dus aux minuteries Blueprint, 463 Mo de physique) ; produits utiles de la bibliothèque Fab ; lots révisés | `git revert` du commit |
| CHG-061 | 2026-10-02 | O1 | `LifePlay.uproject` (20 plugins limités à l'éditeur), `Config/DefaultGame.ini` (16 `DirectoriesToNeverCook`), nouveau `Tools/AuditScriptDeps.py` ; `README.md` : lien Mega de la V1.1 | build Shipping allégé de 387 Mo sans changement de contenu ; build `LifePlay_Build_5.5_O1` | `Tools\Restore.ps1 -Lot O1` ou `git checkout O1-avant -- LifePlay.uproject Config` |

View file

@ -1,49 +1,189 @@
{
"FileVersion": 3,
"EngineAssociation": "5.5",
"Category": "",
"Description": "LifePlay 2026.9 beta - portage UE 5.5",
"Modules": [
{
"Name": "LifePlay",
"Type": "Runtime",
"LoadingPhase": "Default"
},
{
"Name": "LifePlayEditorTools",
"Type": "Editor",
"LoadingPhase": "Default",
"AdditionalDependencies": [
"Engine"
]
}
],
"Plugins": [
{
"Name": "ModdingExtra",
"Enabled": true
},
{
"Name": "StreetMap",
"Enabled": true
},
{
"Name": "EnhancedInput",
"Enabled": true
},
{
"Name": "McpAutomationBridge",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
},
{
"Name": "AndroidFileServer",
"Enabled": false
}
],
"TargetPlatforms": [
"Windows"
]
}
{
"FileVersion": 3,
"EngineAssociation": "5.5",
"Category": "",
"Description": "LifePlay 2026.9 beta - portage UE 5.5",
"Modules": [
{
"Name": "LifePlay",
"Type": "Runtime",
"LoadingPhase": "Default"
},
{
"Name": "LifePlayEditorTools",
"Type": "Editor",
"LoadingPhase": "Default",
"AdditionalDependencies": [
"Engine"
]
}
],
"Plugins": [
{
"Name": "ModdingExtra",
"Enabled": true
},
{
"Name": "StreetMap",
"Enabled": true
},
{
"Name": "EnhancedInput",
"Enabled": true
},
{
"Name": "McpAutomationBridge",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
},
{
"Name": "AndroidFileServer",
"Enabled": false
},
{
"Name": "NNEDenoiser",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
},
{
"Name": "NNERuntimeORT",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
},
{
"Name": "Interchange",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
},
{
"Name": "InterchangeAssets",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
},
{
"Name": "InterchangeTests",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
},
{
"Name": "Fab",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
},
{
"Name": "Bridge",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
},
{
"Name": "MetaHumanSDK",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
},
{
"Name": "SpeedTreeImporter",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
},
{
"Name": "HairStrands",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
},
{
"Name": "MovieRenderPipeline",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
},
{
"Name": "Paper2D",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
},
{
"Name": "USDCore",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
},
{
"Name": "ChaosVD",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
},
{
"Name": "LiveLink",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
},
{
"Name": "ConcertMain",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
},
{
"Name": "ConcertSyncClient",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
},
{
"Name": "ConcertSyncCore",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
},
{
"Name": "Takes",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
},
{
"Name": "PythonScriptPlugin",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
}
],
"TargetPlatforms": [
"Windows"
]
}

View file

@ -6,12 +6,13 @@ life simulation RPG (**adult content**), ported from Unreal Engine 4.27 to **Unr
## Download the full project
This Git repository does not contain the heavy assets (see [Repository contents](#repository-contents)). To build or
play, download the full source archive. The V1.1 archive will be linked here once uploaded; until then, use the V1
archive below and update the Git files from the `v1.1` tag (the heavy assets did not change between V1 and V1.1).
play, download the full source archive.
**[LifePlay_Revival_V1_UE5.5_Full_Source_Code.7z](https://mega.nz/file/zloFkL7T#3P5GDfcfF5U352T0s472vCtyNh131RLgNWn__PSNL2I)** (Mega, 4.85 GB, 8.36 GB extracted)
**[LifePlay_Revival_V1.1_UE5.5_Full_Source_Code.7z](https://mega.nz/file/rwpRTbjA#P6sKfJM8xfGeLXcIylUsUvRSGezLi36FWtXgwxFxvvo)** (Mega, 4.94 GB)
- SHA-256: `38ee16640f960317348a044195a23b55ac8eda34aec085e661034dc9c26cc594`
- SHA-256: `6dbfb18e55e51558708239856b54f757b6044307d2d1cf261e88c94baaf617ae`
- Previous version: [LifePlay_Revival_V1_UE5.5_Full_Source_Code.7z](https://mega.nz/file/zloFkL7T#3P5GDfcfF5U352T0s472vCtyNh131RLgNWn__PSNL2I)
(4.85 GB, SHA-256 `38ee16640f960317348a044195a23b55ac8eda34aec085e661034dc9c26cc594`).
- Same layout as the original author's full source archives: the project folder at the archive root, 7z LZMA2.
- Contains the complete `Content` folder (including `Content/Heavy` converted to UE5 format), the compiled editor
modules in `Binaries` (the project opens without compiling), the `StreetMap` and `ModdingExtra` plugins, and a
@ -21,7 +22,7 @@ archive below and update the Git files from the `v1.1` tag (the heavy assets did
Check the file after downloading (PowerShell):
```powershell
Get-FileHash .\LifePlay_Revival_V1_UE5.5_Full_Source_Code.7z -Algorithm SHA256
Get-FileHash .\LifePlay_Revival_V1.1_UE5.5_Full_Source_Code.7z -Algorithm SHA256
```
## Status: V1.1 (tag `v1.1`, 2026-10-01)

35
Tools/AuditScriptDeps.py Normal file
View file

@ -0,0 +1,35 @@
# Lot O1 : modules de code (/Script/...) et paquets de plugins (/<Plugin>/...) dont dependent les assets de /Game.
# Lecture seule. Sortie : Saved/Audit/script_deps.json {module: [assets qui en dependent]}
#
# Usage :
# UnrealEditor-Cmd.exe <projet> -run=pythonscript -script="<projet>/Tools/AuditScriptDeps.py" -unattended -nopause -nosplash
import json
import os
import unreal
registry = unreal.AssetRegistryHelpers.get_asset_registry()
registry.search_all_assets(True)
assets = registry.get_assets_by_path("/Game", recursive=True)
opts = unreal.AssetRegistryDependencyOptions(include_soft_package_references=True, include_hard_package_references=True,
include_searchable_names=False, include_soft_management_references=False,
include_hard_management_references=False)
deps = {}
seen = set()
for a in assets:
pkg = str(a.package_name)
if pkg in seen:
continue
seen.add(pkg)
for d in registry.get_dependencies(a.package_name, opts) or []:
d = str(d)
if d.startswith("/Game/"):
continue
key = d if d.startswith("/Script/") else "/" + d.split("/")[1]
deps.setdefault(key, []).append(pkg)
out = os.path.join(unreal.Paths.project_saved_dir(), "Audit", "script_deps.json")
os.makedirs(os.path.dirname(out), exist_ok=True)
with open(out, "w", encoding="utf-8") as f:
json.dump({k: sorted(set(v)) for k, v in sorted(deps.items())}, f, indent=1)
unreal.log_warning("AuditScriptDeps : {} modules -> {}".format(len(deps), out))