# Pack Content : stockage compact de la carte [English](PackedMapContent.md) | Français Dans l'éditeur, les modèles reconstruits restent des instances de leurs prefabs sources, y compris pour les modèles imbriqués. **Unpack Content** conserve ces liens et rend les objets modifiables. Les positions, matériaux et alternatives générés sont des overrides d'instance, conservés après réouverture de la scène et réimport du modèle. Le générateur ajoute automatiquement le **MapDataContainer du module** sur `Env/Props`, puis renseigne ses **3D instance parents** avant le pack : - `Env/Props`, `Env/Cliffs`, `Env/Bridges` et `Players/Nature` ; - les autres parents contenant des instances identifiées par `GeneratedPrefabSource`, notamment le parent du border et les groupes custom. Le pack intervient après le placement des modèles, des ponts et l'application de l'altitude. Il reste actif quand **Enable Props Generation** est désactivé : les cliffs, ponts et ressources peuvent toujours être présents. ## Ce qui est enregistré **Pack Content** conserve les références aux assets de prefabs et matériaux, les variantes de hiérarchie prises en charge et un bloc compressé de placements. Positions, rotations, échelles et couleurs conservent leurs valeurs float ; elles ne sont pas arrondies pour le stockage. Les noms, les layers des enfants, leur état actif, les matériaux, les LOD et la couleur du pied de l'herbe sont conservés. Les colliders sont reconstruits depuis les prefabs inchangés. Les modèles visibles sont reconstruits à l'ouverture de la scène et au lancement du jeu. Ces objets de prévisualisation ne sont pas enregistrés une seconde fois dans la scène ou le build. Les assets sources restent partagés et inchangés. Le pack est volontairement conservateur. Un objet portant des scripts de gameplay, un collider modifié, un mesh différent du prefab, un matériau non persistant ou un autre état non pris en charge reste enregistré normalement. Il en va de même pour les objets référencés par d'autres objets de scène. Les meshes procéduraux du terrain et de l'eau restent gérés par leur système existant. Le gain total dépend de la proportion de prefabs répétés et de meshes uniques dans la carte. Le compteur du composant indique le nombre de modèles stockés et la taille du bloc compressé ; cette taille n'inclut pas les métadonnées des variants ni le terrain. ## Modifier une carte packée L'inspecteur affiche d'abord l'état **Editable scene objects**, **Packed content** ou **Mixed selection** pour une sélection multiple. Le nombre d'instances stockées et **Placement block** décrivent le contenu packé ; la taille affichée ne représente pas le poids total de la scène. L'action principale devient **Unpack Content** quand tous les composants sélectionnés sont packés. **3D instance parents** présente les parents avec un bouton pour les retrouver dans la Hierarchy. Les lignes vides ou répétées sont signalées, sans modifier automatiquement la liste. La liste est verrouillée tant qu'un composant sélectionné est packé. **Rendering** contient le réglage GPU, séparé du stockage disque. Les compteurs de **Runtime diagnostics** correspondent à la dernière caméra traitée par ce composant pendant le jeu. **How to use / Aide** rappelle les étapes et permet d'ouvrir ce guide. 1. Sélectionner `Env/Props`, puis **MapDataContainer**. 2. Cliquer **Unpack Content (make editable)** pour retrouver les objets ordinaires. 3. Modifier les objets ou la liste des parents. 4. Cliquer **Pack Content**, puis sauvegarder la scène. Les composants des prévisualisations packées sont verrouillés pour éviter des changements qui ne seraient pas sauvegardés dans le bloc. Les racines restent actives et ne portent plus le flag NotEditable : un arbre verrouillé ne doit pas être confondu avec un arbre désactivé. Unpack Content rend les composants éditables. Avant de modifier la hiérarchie d'un prefab source, dépacker la carte ; sinon, régénérer la carte après la modification du prefab. Si une référence ou le contenu devient illisible, les données stockées sont conservées et le dépack échoue sans effacer leur contenu. **GPU instancing** règle uniquement l'affichage des décorations éligibles. Les cliffs gardent leurs objets physiques. Les ponts conservent toujours leurs renderers ordinaires et sont exclus des batches GPU, même après compactage et reconstruction. Les prefabs compatibles restent compactés sur disque. Désactiver l'instancing ne dépacke pas la scène : les renderers ordinaires prennent le relais. En génération pendant le jeu, les objets vivants sont conservés et seuls les batches GPU sont capturés ; le compactage disque sert aux cartes créées dans l'Editor. Aucune connexion MCP ni dépendance à un projet externe n'est requise. Les batches GPU sont activés uniquement dans le monde en cours de jeu, y compris dans les builds. Le mode édition et le Prefab Mode gardent toujours les renderers ordinaires, même si **GPU instancing** est coché ou si `RebuildInstAndGpu()` est appelé directement. La sortie du Play Mode restaure les états des renderers, LOD et enfants visuels, y compris avec le rechargement de scène et de domaine désactivé. Pour modifier les instances compactées, utiliser **Unpack Content** ; le compactage disque reste indépendant du rendu GPU. ## English quick guide The generator adds the included MapDataContainer to Env/Props, registers every generated prefab parent, then calls Pack Content after final placement and altitude. This also covers cliffs, bridges and resources when props are disabled. Editor packing stores shared prefab variants and compressed full-precision placements. Visible previews and colliders reconstruct on scene load and in builds. Unsupported modifications, gameplay components and external scene references retain ordinary saved objects. Procedural terrain remains unchanged. Use Unpack Content before editing instances or changing prefab hierarchies, then Pack Content and save. Regenerating a map also refreshes its packed data. GPU instancing has an ordinary renderer fallback and is independent of disk storage. The Inspector separates storage status and actions, prefab parents, rendering, runtime diagnostics and help. Its placement block size excludes prefab metadata and terrain. Empty or repeated parent rows are reported without automatic edits. Runtime counters describe this component's latest camera callback only.