Pour commencer à utiliser les registres de données, vous devez activer le plug-in Data Registry. Vous pourrez ensuite créer, configurer et remplir votre premier registre de données.
Pour activer le plug-in Data Registry, accédez à Modifier > Plug-ins. Lorsque la fenêtre Plug-ins s'affiche, parcourez la liste pour rechercher le plug-in Data Registry compris dans la catégorie Gameplay. Une fois le plug-in trouvé, assurez-vous que la case Activé est cochée.
Si la fenêtre Plugins indique que vous devez redémarrer l'éditeur pour que le plug-in prenne effet, faites-le avant de continuer.
Accédez à la fenêtre Paramètres du projet en sélectionnant Modifier > Paramètres du projet.
Sous la section Jeu du panneau de gauche, vous verrez une catégorie intitulée Registre des données.
Si vous ne voyez pas cette catégorie, assurez-vous d'avoir activé le plug-in Data Registry et redémarré l'éditeur au moins une fois depuis son activation.
Dans le panneau de droite, ajoutez au moins une entrée à la matrice Directories to Scan. Cela indique au système où chercher les ressources de registre de données.
/Game/DataRegistriesest une entrée habituelle, mais vous pouvez ajouter autant de répertoires que vous le souhaitez, en fonction du schéma d'organisation que vous préférez utiliser pour votre projet. C'est le moment de s'assurer que tous les répertoires que vous avez spécifiés existent et de vérifier que toutes les ressources de registre de données que vous avez créées se trouvent au bon endroit.Dans le navigateur de contenu, accédez à l'un des répertoires que vous avez spécifiés dans la matrice Directories to Scan et ajoutez une nouvelle ressource Data Registry. Pour cela, faites un clic droit dans un espace vide du panneau de droite et développez Miscellaneous dans le menu contextuel. Dans le menu contextuel développé, sélectionnez DataRegistry, puis choisissez la sous-classe appropriée dans la liste qui s'affiche.
Nommez et ouvrez votre nouvelle ressource de registre de données.
Entrez un nom unique dans le champ Type de registre. Si vous souhaitez utiliser des balises de jeu pour identifier les ressources qui doivent faire partie de ce registre de données, définissez-les dans le champ Balise du jeu de base sous la catégorie Format d'identifiant.
Définissez le champ Struct. d'objets sur le type de structure que ce registre de données contiendra. Il s'agit généralement du type DataTableRowHandle ou SimpleCurve, mais de nombreux types de données différents sont disponibles.
Ajoutez une ou plusieurs sources de données à la matrice Data Sources. Pour chaque entrée, vous devez choisir le type de données que vous ajoutez et spécifier leur provenance. Vous pouvez utiliser les types de données intégrés ou ajouter des types définis par votre projet ou par un plug-in activé. À ce stade, vous devez disposer de données à gérer par le registre de données.
Dans le cas de types de sources simples comme DataTable Source ou CurveTable Source, qui rassemblent des données de ligne à partir de ressources existantes connues, sélectionnez la ressource à lire. La section Table Rules (Règles de table) décrit le comportement de la mise en cache pour les lignes de données provenant de la ressource que vous avez spécifiée. Vérifiez qu'elles sont adaptées à votre cas d'utilisation.
Pour les types de métasources comme DataTable Meta Source ou CurveTable Meta Source, qui génèrent de nouvelles sources de données au moment de l'exécution, quelques paramètres supplémentaires doivent être gérés. Sélectionnez le type de source à générer, les règles d'accès ou de référence pour les sources générées et les règles d'analyse ou d'utilisation qui déterminent comment le système trouve les ressources. Les métasources peuvent rechercher des ressources, accepter des ressources enregistrées (à partir du code C++) ou les deux.
Par exemple, vous pouvez spécifier que le chemin de recherche est
/Game/SearchableDataTables, mais exclure*PrivateData*. Cette exclusion supprime tout chemin contenant la sous-chaîne "PrivateData" ; ainsi, des chemins tels que/Game/SearchableDataTables/PrivateData/et/Game/SearchableDataTables/SubPath/SomePrivateDataHere/ne seront pas analysés.
Une fois que vous avez défini vos sources de données, configurez les règles de cache pour répondre aux besoins spécifiques de votre projet. Pour accéder aux paramètres configurables, développez la section Cache dans l'éditeur de registre de données.
La fonctionnalité de registre de données étant toujours en cours de développement, il se peut que certains paramètres ne fonctionnent pas comme prévu.
C'est le bon moment pour s'assurer que le registre de données contient les éléments que vous attendez. Cliquez sur le bouton Actualiser de la barre d'outils et examinez le contenu de l'onglet Aperçu du registre, qui présente un aperçu de chaque élément dont le registre de données a actuellement connaissance. Si les résultats ne correspondent pas à vos attentes, modifiez les règles de la source de données et cliquez à nouveau sur le bouton Actualiser.
Les lignes peuvent apparaître plusieurs fois dans la liste si plusieurs sources les utilisent. Il ne s'agit pas d'une erreur et cela indique généralement qu'une métasource a trouvé les mêmes données qu'une source simple ou qu'une autre métasource. L'ordre est important lorsque vous essayez de récupérer un élément de données qui apparaît dans plusieurs sources. Seule la première instance découverte par le registre de données sera accessible.
Vous pouvez parcourir la catégorie Sources d'exécution, sous Sources de données dans le panneau de gauche, pour voir les sources des instances de chaque élément du registre de données, répertoriées par ordre de chargement.
Quand tout semble correct, enregistrez votre registre de données. Lors des prochaines sessions, il se chargera et se remplira automatiquement au démarrage. Si vous apportez des modifications à votre registre de données, cliquez sur le bouton Refresh pour mettre à jour les éléments de données.
Si vous comptez utiliser les registres de données d'un code C++, ouvrez le fichier
Build.csde votre projet. Le nom du fichier comprend le nom de votre projet. Par exemple, si le nom de votre projet est "MyProject", le nom du fichier seraMyProject.Build.cs. Recherchez la ligne qui configure la variablePublicDependencyModuleNameset ajoutez"DataRegistry"à la matrice. La dernière ligne devrait ressembler à ceci :C++PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "DataRegistry" });
Une fois ces étapes réalisées, votre projet est prêt à utiliser les registres de données ! Pour plus d'informations sur le fonctionnement des registres de données et leurs avantages, consultez la page principale Data Registries (Registres de données).