31 lines
11 KiB
Markdown
31 lines
11 KiB
Markdown
# BC-R7 : cuisson, IoStore et Zen en UE 5.8
|
|
|
|
Date 2026-10-15, auteur sous-agent Sonnet OPT0-R, 12 entrées : 8 établi / 3 estimé / 1 non vérifié (R7-12 devient R7-11 par renumérotation non faite : les ids restent R7-01 à R7-10, R7-12, R7-13). R10 : +3 entrée(s) établi (R7-101…), voir BC-R10-SOURCES.md.
|
|
|
|
| id | affirmation (1-2 phrases, sans copie de texte) | source (URL, date, version UE) | niveau (établi / estimé / non vérifié) | application à LifePlay (système ou fichier) | action proposée | skill de destination |
|
|
|---|---|---|---|---|---|---|
|
|
| R7-01 | Le Zen Loader est le chargeur d'exécution d'UE5 : il utilise un graphe de dépendances calculé hors ligne à l'étape de stage, et il est actif par défaut dès que des conteneurs IoStore existent. L'ancien chargeur EDL est déprécié. | https://dev.epicgames.com/documentation/unreal-engine/zen-loader-in-unreal-engine / date inconnue / UE 5.8 | établi | Build/packaging : le paquet doit sortir en IoStore, pas en EDL. | Vérifier que bUseIoStore n'est pas à False dans DefaultGame.ini et que le stage produit .utoc/.ucas. | ue-cpp-build |
|
|
| R7-02 | Les .utoc décrivent le conteneur (taille/offset de chunk, format de compression, chiffrement) et les .ucas contiennent les données. Les .pak ne gardent que des fichiers peu consultés ; monter un .pak monte aussi son conteneur. | même URL Zen Loader / date inconnue / UE 5.8 | établi | Packaging : inspecter la répartition pak / IoStore d'un paquet. | Utiliser UnrealPak IoStore -Describe sur global.ucas pour auditer un paquet. | lp-perf |
|
|
| R7-03 | Limitations du Zen Loader : pas de recherche des données par chemin de fichier, redirections de package non résolues à l'exécution (CoreRedirects ignorés au chargement), données bulk inline non rechargeables après déchargement. | même URL Zen Loader / date inconnue / UE 5.8 | établi | Héritage UE4 : CoreRedirects et redirecteurs anciens à résoudre (fix-up) avant la cuisson ; données fréquemment relues à cuire en non-inline. | Lister les redirecteurs restants et les redirections de classes/assets dépendant des CoreRedirects ; les corriger avant tout passage IoStore. | lp-ue-compat |
|
|
| R7-04 | Options de diagnostic du chargement : -LogCmds="LogStreaming veryverbose", -s.VerbosePackageNames, -s.DebugPackageNames, et -SkipIoStore pour retomber sur EDL en comparaison. | même URL Zen Loader / date inconnue / UE 5.8 | établi | Build/tests : diagnostic d'un échec de chargement en build packagé. | Documenter ces options dans la procédure de test d'un paquet. | lp-validate |
|
|
| R7-05 | La cuisson multi-processus (bêta) répartit la cuisson sur plusieurs workers via CookProcessCount > 1 (section CookSettings de l'ini éditeur, -cookprocesscount=N, ou AdditionalCookerOptions via UAT). Epic annonce environ 40 % de gain sur un gros projet à 4 processus, au prix de plus de RAM ; peu utile sur un petit projet. | https://dev.epicgames.com/documentation/unreal-engine/using-multi-process-cooking-for-unreal-engine / date inconnue / UE 5.8 | établi | Durée de cuisson : option à mesurer, le poste est limité par RAM/cœurs (disque D: USB à noter). | Mesurer la cuisson à 1, 2, 4 processus et consigner temps et RAM. | lp-perf |
|
|
| R7-06 | Limites connues de la cuisson multi-processus : les niveaux World Partition peuvent produire un message répétitif de retraction sans correctif, un worker planté donne l'erreur CookWorker disconnected, et les plugins agrégeant des données entre packages doivent utiliser l'API IMPCollector. | même URL multi-process / date inconnue / UE 5.8 | établi | Plugins tiers (Fab) et niveaux WP : risque de cuisson incorrecte en multi-processus. | Si activée, comparer le contenu du paquet avec une cuisson mono-processus. | lp-validate |
|
|
| R7-07 | Cas rapporté en UE 5.7 (mai-juin 2026) : en cuisson multi-processus Pak+IoStore, tout est tombé dans pakchunk0 car une sous-classe de PrimaryAssetLabel n'était pas chargée ; un employé d'Epic (Matt.Peters) a proposé de surcharger ApplyPrimaryAssetLabels et soumis un changement (CL 54900060). | https://forums.unrealengine.com/t/5-7-pak-iostore-multicook-assets-do-not-get-assigned-to-pak-utoc-ucas-correctly/2735138 / 2026-05-26 à 2026-06-13 / UE 5.7 (correctif non rattaché à une branche) | établi | Chunking : si le projet utilise des labels personnalisés, le multi-processus peut les ignorer. | Rester sur les PrimaryAssetLabel de base, ou vérifier AllChunksInfo.csv après chaque cuisson multi-processus. | lp-validate |
|
|
| R7-08 | Le chunking s'appuie sur les règles de l'Asset Manager et les Primary Asset Labels (data assets avec Chunk ID et priorité) ; les assets sans chunk valide vont au chunk 0, et chaque chunk produit un paquet séparé. La page ne traite pas d'IoStore. | https://dev.epicgames.com/documentation/unreal-engine/cooking-content-and-creating-chunks-in-unreal-engine / date inconnue / UE 5.8 | établi | Packaging : utile seulement pour DLC/mods ou téléchargement par morceaux ; inutile si un seul paquet. | Décider si un chunking est voulu avant d'en créer. | lp-perf |
|
|
| R7-09 | La cuisson itérative (-iterative) réutilise les assets déjà cuits dans Saved/Cooked ; sur CitySample un exemple passe de 815 s à 58 s. La cuisson incrémentale, plus fine (config, code), était encore en développement en 5.4 avec de possibles faux positifs. Journal d'une 5.5 : l'itératif ne garde les paquets que si les réglages globaux sont toujours valides. | https://docswell.com/s/EpicGamesJapan/ZV172L-Improving%20Development%20Iterations / 2024-07-24 / UE 5.4 | estimé (voir R7-101 : cuisson incrémentale documentée en 5.6 à 5.8) | Itération de build : -iterative sur BuildCookRun pour les essais ; cuisson complète pour tout paquet livré. | Utiliser -iterative en développement, jamais pour un paquet de release sans cuisson propre de contrôle. | lp-perf |
|
|
| R7-10 | Zen utilisé comme sortie de cuisson était en bêta en 5.4 (Zen comme DDC local en production). Les chiffres cités (lancement PS5 ~1,8x, ouverture de cartes ~3,1x) viennent d'une présentation d'Epic sur console, non transposables au PC. | https://docswell.com/s/EpicGamesJapan/ZV172L-Improving%20Development%20Iterations / 2024-07-24 / UE 5.4 | estimé | DDC/Zen du poste : statut en 5.8 non confirmé par ces sources. | Relever le statut courant de Zen Store dans la doc 5.8 avant de s'y fier. | lp-ue-compat |
|
|
| R7-12 | Ce qui gonfle le paquet : répertoires listés dans « Additional Asset Directories to Cook », bCookAll, contenu éditeur, cultures inutiles, plugins inutilisés, textures sans plafond de taille, matériaux à permutations de shaders nombreuses, symboles de débogage. Le guide revendique 40-60 % de réduction (exemple 6360 Mo vers 3610 Mo), chiffre non vérifié. Il cite aussi bShareMaterialShaderCode et DirectoriesToNeverCook. | https://www.strayspark.studio/blog/ue5-packaging-shipping-build-size-optimization / 2026-03-25 / UE 5 (exemples 5.7) | estimé | Config packaging, textures, matériaux, plugins ; Size Map (Window > Developer Tools) pour classer les plus gros assets. | Faire une mesure de référence avec Size Map avant toute réduction et comparer ensuite. | lp-perf |
|
|
| R7-13 | Cuire par références (cartes et Primary Assets) plutôt que par dossiers évite d'inclure du contenu inutilisé ; les références dures (variables de Blueprint, composants, valeurs par défaut) chargent leurs cibles, les soft references non. Reference Viewer et Asset Audit servent à repérer les assets sans référence. | https://bugnet.io/blog/how-to-fix-unreal-cooking-unused-assets-into-the-package / 2026-06-18 / version UE non précisée | non vérifié | Blueprints hérités UE4 : références dures en chaîne vers de gros assets ; dossiers de test cuits par erreur. | Auditer les références dures des Blueprints principaux et retirer les dossiers inutiles de la liste de cuisson. | lp-bp-audit |
|
|
| R7-101 | La cuisson incrémentale (analyse des assets modifiés contre la sortie stockée dans Zen Server) est expérimentale en 5.6, bêta en 5.7 et reste bêta en 5.8 ; le paramètre -cookincremental de BuildCookRun apparaît en 5.6. Remplace en pratique la lacune de R7-09 (source 5.4). | https://dev.epicgames.com/documentation/unreal-engine/unreal-engine-5-6-release-notes?application_version=5.6 ; https://dev.epicgames.com/documentation/unreal-engine/unreal-engine-5-7-release-notes?application_version=5.7 ; https://dev.epicgames.com/documentation/unreal-engine/unreal-engine-5-8-release-notes / date inconnue (lues 2026-10-15) / UE 5.6 à 5.8 | établi | Cuisson de développement et paquet d'essai : essai de -cookincremental sur le banc. | Tester -cookincremental en développement, cuisson complète pour tout paquet livré. | lp-perf |
|
|
| R7-102 | Les notes 5.8 indiquent que Zenserver comme stockage de sortie de préparation est activé par défaut, et que le streaming Zenserver est utilisé automatiquement par les flux de l'éditeur lors du lancement sur appareil. | https://dev.epicgames.com/documentation/unreal-engine/unreal-engine-5-8-release-notes / date inconnue (lue 2026-10-15) / UE 5.8 | établi | Chaîne de lancement et de préparation (staging) : Zen actif par défaut en 5.8. | Vérifier l'état de Zen dans le journal de cuisson avant de comparer les durées. | lp-perf |
|
|
| R7-103 | UnrealPak gagne en 5.8 une option de déduplication des chunks d'assets pour les conteneurs IoStore (bDeduplicateChunks=true dans [/Script/UnrealEd.ProjectPackagingSettings]) et le support de -SkipEncryption. | https://dev.epicgames.com/documentation/unreal-engine/unreal-engine-5-8-release-notes / date inconnue (lue 2026-10-15) / UE 5.8 | établi | Taille du paquet : réglage de packaging à essayer. | Mesurer la taille du paquet avec et sans l'option (A/B). | lp-perf |
|
|
|
|
## Lacunes et doutes
|
|
|
|
- Aucune page Epic ouverte sur la compression des conteneurs IoStore (Oodle, niveaux, réglages ini) : la page Zen Loader dit seulement que le .utoc stocke le format. Sujet non couvert.
|
|
- Cook on the fly : non trouvé en 5.6-5.8. Les notes de version 5.7 et 5.8 ont été ouvertes mais tronquées ; aucune information cuisson/Zen n'a pu en être extraite.
|
|
- Page Epic de Size Map en anglais introuvable (seule la page UEFN Project Size existe) ; le chemin de menu vient du guide StraySpark (estimé).
|
|
- BuildCookRun : aucune page dédiée consultée ; les options (-iterative, -cookprocesscount via AdditionalCookerOptions, -SkipIoStore) sont dispersées dans les entrées ci-dessus.
|
|
- Statut exact de Zen Store comme sortie de cuisson en 5.8 : page Zen Loader dit « expérimental », présentation 5.4 dit « bêta » ; sources en désaccord possible.
|
|
- Les dates des pages Epic sont absentes ; la mention « UE 5.8 » est celle du titre de la page.
|
|
- Un signalement de blocage ZenStore en 5.6 (fil Epic, page non ouverte) a été écarté faute d'URL ouverte ; id R7-11 volontairement absent.
|