Documentation

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 siteEn place
Archives .ewpack publiées3 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 fichePrêt sur le site ; actif quand le service de vente est joignable
Achat (Stripe), clé affichée une fois, page Mes achatsPages 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 packsPrise 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 WorldDans 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-nature

L’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 lit packages[] du projet, contrôle chaque pack déclaré (manifeste, fichiers, empreinte du contenu) puis monte ses paquets .uasset sur /Packs/<packId>/ ; un pack non déclaré ou altéré est refusé.
  • Les meshes (StaticMesh) déclarés dans ewpack.json apparaissent 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.