Installer un pack
Ajouter un pack d’assets du marketplace à un projet, sur ton PC ou sur ton serveur, et ce que le client charge aujourd’hui.
Un pack est une archive .ewpack (ZIP vérifié) : un manifeste ewpack.json, la licence LICENSE.txt, les crédits CREDITS.md, des miniatures rendues dans Unreal (Thumbnails/) et le contenu Unreal. Les packs publiés contiennent des paquets Unreal non cuits (Content/Packs/<packId>/…/*.uasset, format uasset) ; le format cuit (Content/*.pak) est prévu par le contrat mais aucun pack publié ne l’utilise. Aucun exécutable ni script n’est accepté dans une archive.
État au 27 octobre 2026
| Étape | État |
|---|---|
| Fiches, prix TTC, licence et crédits sur le site | En place |
Archives .ewpack publiées | 3 archives 1.0.0 au format uasset : Nature — Vallée de découverte (gratuit, 25 meshes), Nature stylisée low-poly (60 meshes), Château et bourg fantasy (80 meshes) ; les autres packs sont prévus |
| Téléchargement d’un pack gratuit depuis sa fiche | Prêt sur le site ; actif quand le service de vente est joignable |
| Achat (Stripe), clé affichée une fois, page Mes achats | Pages prêtes ; paiement Stripe pas encore activé (« Paiement non configuré ») |
ew-server install-pack et list-packs | Écrits et testés (téléchargement vérifié, extraction sûre) |
| Launcher : « Ajouter un pack au projet » | Dans la préversion 0.3.1 : prouvé contre un service de vente local, dont l’installation de l’archive réelle ew-kenney-nature (format uasset, empreinte du contenu recalculée sur le dossier extrait) |
| Publication d’un projet qui déclare des packs | Prise en charge écrite et testée dans le service central (déclaration seule, voir plus bas) ; pas encore déployée |
| Chargement des packs par le client Engine World | Dans le prototype (éditeur Unreal en mode jeu, non cuit) : les 3 packs réels montés, onglet Packs du catalogue, placement validé par le serveur ; aucun client cuit n’est encore publié |
Dans le launcher
Depuis la préversion 0.3.1. Onglet Créer, ton projet, panneau Packs : le catalogue du marketplace s’affiche avec l’état de chaque pack. Pour un pack payant, ta clé de licence est saisie une fois et chiffrée sur ton PC avec la protection de Windows, comme le jeton créateur ; elle n’est envoyée que pour télécharger. Le launcher télécharge l’archive, vérifie sa taille et son empreinte SHA-256, valide son contenu, l’extrait dans un dossier temporaire puis le renomme en packages/<packId>/ (jamais d’écrasement d’un pack déjà présent) et ajoute le pack au manifeste. L’adresse du marketplace se règle dans Diagnostics.
Sur ton serveur
# La clé reste dans une variable d'environnement, jamais en argument
EW_LICENSE_KEY=<ta clé> node ew-server.mjs install-pack \
--market https://bstudiocorp.site \
--project-dir projects/mon-monde/0.1.0 --pack ew-kenney-natureL’outil télécharge l’archive, vérifie sa taille et son empreinte SHA-256, valide son contenu puis l’extrait dans packages/<packId>/ sans jamais écraser un pack présent. Les packs gratuits n’ont pas besoin de clé. list-packs --project-dir … --verify indique les packs déclarés, présents et intacts.
Le dossier du projet
packages/
ew-nature-valley/
ewpack.json manifeste du pack (identifiant, version, assets, empreinte)
LICENSE.txt
CREDITS.md
Thumbnails/… miniatures
Content/Packs/… paquets Unreal (.uasset, montés sur /Packs/<packId>/)Le manifeste du projet déclare chaque pack :
"packages": [
{ "id": "ew-nature-valley", "version": "1.0.0",
"sha256": "<contentSha256 de ewpack.json>",
"archiveSha256": "<empreinte de l'archive .ewpack, facultative>" }
]sha256 est l’empreinte du contenu extrait, recalculable sans réseau ; archiveSha256 celle de l’archive téléchargée.
Quand tu publies le projet, l’archive envoyée n’embarque de packages/ que les packages/<packId>/ewpack.json : la déclaration, pas le contenu. Le service central vérifie qu’elle est cohérente avec le manifeste du projet. Le contenu se récupère ensuite sur le marketplace, par le launcher ou par ew-server.
Ce que le client charge aujourd’hui
- Au démarrage avec
-EWProject, le prototype litpackages[]du projet, contrôle chaque pack déclaré (manifeste, fichiers, empreinte du contenu) puis monte ses paquets.uassetsur/Packs/<packId>/; un pack non déclaré ou altéré est refusé. - Les meshes (
StaticMesh) déclarés dansewpack.jsonapparaissent dans l’onglet Packs du catalogue de l’éditeur, avec leurs miniatures ; le serveur vérifie chaque objet de pack avant de le placer. - Limites : vérifié dans l’éditeur Unreal en mode jeu, sur le PC de développement ; les paquets non cuits ne se chargent pas dans un client cuit, et aucun client Engine World n’est encore publié.
Licence
La licence EW-Pack 1.0 couvre tes projets et les serveurs que tu administres ; les joueurs de ces serveurs reçoivent le contenu sans l’acheter. Pas de revente ni d’extraction hors d’Engine World. Les sources CC0 (Kenney, Poly Haven) restent créditées dans CREDITS.md.
Retrouver tes packs : Mes achats. Tous les packs : marketplace.