Présentation
Le sous-système de programmation du gestionnaire de collection a été créé pour fournir un accès au système de collection via les blueprints. Cela inclut la possibilité de créer et de supprimer des collections, ainsi que d'ajouter, de supprimer et de rechercher des ressources dans une collection donnée.
La gestion de collection est actuellement exposée aux blueprints via le sous-système de balises de ressource. Ce système offre des fonctionnalités de collection à la fois pour l'éditeur et pour le jeu. Les fonctionnalités de l'éditeur incluent la création, la suppression et la modification des collections, tandis que celles du jeu se limitent à la lecture et à la recherche de collections.
Limitations résolues par le sous-système du gestionnaire de collection
Deux limitations du sous-système des balises de ressources sont résolues par le nouveau système.
Conteneurs de contenu
Avant l'Unreal Engine 5.6, toutes les collections étaient stockées et associées à un projet de jeu de base. Pour prendre en charge des flux de travail plus modulaires comme les projets de flux de travail du Métavers), les conteneurs de collection ont été introduits. Ils permettent d'associer des ensembles de collections à un projet autre que le projet de jeu de base. Le sous-système de programmation du gestionnaire de collection permet aux blueprints d'accéder à ces conteneurs, ce qui donne au créateur de blueprint l'accès aux collections de différents projets.
Accessibilité de la collection
Fondamentalement, les collections ont trois niveaux d'accessibilité différents :
Local : non gérée par le contrôle de source. Stockée localement sur l'ordinateur de l'utilisateur et accessible uniquement par cet utilisateur.
Privé : gérée par le contrôle de source, mais uniquement accessible par l'utilisateur qui l'a créée.
Partagé : gérée par le contrôle de source et accessible à tous les membres de l'équipe.
Le sous-système des balises de ressource n'expose pas ces types de partage aux blueprints, ce qui rend impossible de différencier les collections portant le même nom, mais avec des types de partage différents. Dans sa forme actuelle, lorsqu'un nom de collection est fourni, le système renvoie le premier élément trouvé portant un nom correspondant. Cela peut poser problème si deux collections portent le même nom, mais ont des types de partage différents, car l'auteur du blueprint peut, par inadvertance, cibler la mauvaise collection.
Le sous-système de programmation du gestionnaire de collection expose le type de partage, ce qui implique que l'auteur doit préciser quelle collection il cible :
Améliorations supplémentaires
Bien que le sous-système des balises de ressource aurait pu être étendu, la création d'un nouveau sous-système était motivée par deux raisons principales.
| Amélioration | Description |
|---|---|
Nommage plus clair pour une meilleure visibilité | En lui donnant un nom qui correspond à la fonctionnalité sous-jacente, les auteurs de blueprints pourront découvrir le système et savoir à quoi il sert. |
Implémentation exclusive à l'éditeur | Alors que le sous-système des balises de ressource compile à la fois pour l'éditeur et pour le jeu, le sous-système de programmation du gestionnaire de collection se compile uniquement pour l'éditeur, supprimant ainsi toute ambiguïté quant à son utilisation. |
Changements de fonctionnalité
Les fonctions suivantes, exclusives à l'éditeur du sous-système des balises de ressource sont désormais obsolètes et doivent faire l'objet d'une transition vers leur équivalent dans le sous-système de programmation du gestionnaire de collection :
| Fonctions obsolètes : | Fonctions actuelles : |
|---|---|
| Sous-système des balises de ressource | Sous-système de programmation du gestionnaire de collection |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
| |
| |
| |
| |
| |
| |
| |
|
Les fonctions en jeu suivantes restent prises en charge pour une utilisation à l'exécution :
CollectionExistsGetCollectionsGetAssetsInCollectionGetCollectionsContainingAssetGetCollectionsContainingAssetDataGetCollectionsContainingAssetPtr