Créer un Système d’Inventaire Simple dans Unity 2026 : Le Guide du Débutant
Dans l’univers captivant du développement de jeux vidéo, un système d’inventaire robuste s’impose comme un élément fondamental, quel que soit le genre de votre création. Que vous développiez un RPG épique, un jeu de survie immersif ou une aventure de type point-and-click, les joueurs ont besoin de collecter, de stocker et de gérer leurs objets. Vous vous demandez comment intégrer cette fonctionnalité essentielle ? Ce tutoriel inventaire Unity débutant est conçu pour vous guider pas à pas dans la création d’un système d’inventaire simple dans Unity 2026. Nous explorerons les bases de la gestion des objets, de l’interface utilisateur et des interactions, vous donnant ainsi les outils nécessaires pour équiper vos jeux.
1. Comprendre les fondements d’un inventaire dans Unity
Un système d’inventaire, à la base, est un mécanisme qui permet à un joueur de collecter, de stocker et d’interagir avec des objets virtuels. Pour le développer efficacement dans Unity, vous devez en comprendre les composants clés. Premièrement, vous avez les Items (objets eux-mêmes) : ce sont les entités que le joueur ramasse, utilise ou équipe. Deuxièmement, il y a les Slots (emplacements d’inventaire) : ces conteneurs visuels et logiques dans lesquels les objets sont placés. Enfin, un Inventory Manager agit comme le cerveau du système, gérant l’ajout, le retrait et la mise à jour des objets dans l’inventaire du joueur.
La clé d’un bon système réside dans une structure de données claire. Souvent, vous utiliserez des listes ou des dictionnaires pour stocker les objets de manière organisée. En outre, la future version Unity 2026, tout comme les précédentes, offre un environnement idéal pour prototyper et développer ces systèmes grâce à son puissant éditeur et son système UI flexible.
2. Établir la structure de données des objets et de l’inventaire
Pour construire votre système inventaire Unity 2026, la première étape cruciale consiste à définir comment vos objets existeront dans votre jeu. Nous allons créer un type d’objet générique appelé Item et un gestionnaire d’inventaire.
Définir vos objets avec des ScriptableObjects
Les ScriptableObjects sont parfaits pour représenter des objets dans votre inventaire. Ils vous permettent de créer des ressources de données qui existent en dehors des scènes, ce qui facilite leur réutilisation et leur gestion. Suivez ces étapes :
- Créez un nouveau script C# nommé
ItemData. - Modifiez le script pour hériter de
ScriptableObjectet ajoutez l’attribut[CreateAssetMenu]pour pouvoir créer facilement des instances depuis l’éditeur. - Ajoutez des propriétés comme
itemName(string),itemIcon(Sprite),itemDescription(string) etisStackable(bool).
using UnityEngine;
[CreateAssetMenu(fileName = "New Item Data", menuName = "Inventory/Item Data")]
public class ItemData : ScriptableObject
{
public string itemName = "New Item";
public Sprite itemIcon = null;
[TextArea(5, 10)]
public string itemDescription = "Default description.";
public bool isStackable = true;
public int maxStackSize = 99;
}
Le gestionnaire d’inventaire (InventoryManager)
Le InventoryManager est le cœur logique de votre inventaire. Il gérera la liste des objets que le joueur possède. Il est souvent implémenté comme un Singleton pour un accès facile depuis n’importe quel autre script.
- Créez un nouveau script C# nommé
InventoryManager. - Implémentez le pattern Singleton.
- Définissez une classe interne ou une structure pour représenter un
InventorySlot, qui contiendra unItemDataet unequantity. - Utilisez une
List<InventorySlot>pour stocker l’inventaire du joueur. - Ajoutez des méthodes publiques comme
AddItem(ItemData itemToAdd, int quantity)etRemoveItem(ItemData itemToRemove, int quantity). Assurez-vous que la logique deisStackableetmaxStackSizeest correctement gérée dans la méthodeAddItem.
3. Concevoir l’interface utilisateur (UI) de l’inventaire
Une fois la logique interne en place, il est temps de rendre votre inventaire visible au joueur. L’UI de Unity est un outil puissant pour cela.
Mettre en place le Canvas UI
Commencez par créer un Canvas (GameObject -> UI -> Canvas) dans votre scène. Ce Canvas sera l’hôte de tous vos éléments d’interface utilisateur. Vous pouvez ensuite ajouter un Panel pour servir de fond à votre fenêtre d’inventaire.
Créer un Slot UI d’inventaire
Chaque emplacement de votre inventaire aura sa propre représentation visuelle. Pour un tutoriel inventaire Unity débutant, nous allons créer un prefab de UISlot :
- Dans votre
Canvas, créez unImage(GameObject -> UI -> Image). Renommez-leInventorySlot. - Ajoutez un autre
Imageenfant pour afficher l’icône de l’objet et unText(Text – TextMeshPro recommandé) pour la quantité. - Créez un nouveau script C# nommé
InventorySlotUI. Ce script sera responsable de la mise à jour de l’apparence du slot en fonction de l’objet qu’il contient. Il exposera des méthodes pour définir l’icône et la quantité. - Transformez ce
InventorySloten un Prefab pour le réutiliser facilement.
Connecter l’UI à l’InventoryManager
Votre InventoryManager aura besoin de savoir quand l’inventaire change pour mettre à jour l’UI. La meilleure approche est d’utiliser un système d’événements :
- Dans
InventoryManager, déclarez un événement commepublic static event Action OnInventoryChanged;. - Déclenchez cet événement (
OnInventoryChanged?.Invoke();) chaque fois que vous ajoutez ou retirez un objet. - Créez un script
InventoryDisplayqui s’abonnera à cet événement et instanciera ou mettra à jour lesInventorySlotUIen fonction du contenu de l’InventoryManager.
4. Implémenter des interactions simples : ramasser et déposer des objets
Un inventaire n’est utile que si les joueurs peuvent y ajouter et en retirer des objets. Explorons les mécanismes de base.
Ramasser des objets dans le monde
Pour permettre aux joueurs de ramasser des objets, vous devez d’abord représenter ces objets dans le monde du jeu. Créez un Prefab pour chaque Item qui contiendra :
- Un
SpriteRendererpour l’apparence visuelle. - Un
Collider2D(ouCollider3D) marqué commeIs Trigger. - Un script nommé
WorldItemqui détient une référence à sonItemData.
Dans le script WorldItem, utilisez la méthode OnTriggerEnter2D (ou OnTriggerEnter) pour détecter quand le joueur entre en collision. Ensuite, appelez InventoryManager.Instance.AddItem(itemData, 1); et détruisez l’objet du monde (Destroy(gameObject);).
Déposer des objets depuis l’inventaire
Le fait de déposer un objet implique de le retirer de l’inventaire et de l’instancier dans le monde du jeu. Pour une interface utilisateur simplifiée, vous pouvez ajouter un bouton sur chaque InventorySlotUI ou implémenter un simple clic pour déposer l’objet devant le joueur :
- Dans votre script
InventorySlotUI, ajoutez une méthodeOnDropButtonClick(). - Cette méthode appellera
InventoryManager.Instance.RemoveItem(itemData, 1);. - Ensuite, elle instanciera le Prefab
WorldItemcorrespondant à l’emplacement de votre joueur.
Assurez-vous que l’événement OnInventoryChanged est déclenché après chaque ajout ou retrait pour maintenir l’UI à jour.
5. Prochaines étapes et améliorations pour votre inventaire
Félicitations ! Vous avez bâti un solide système inventaire Unity 2026. Maintenant, vous pouvez envisager d’autres fonctionnalités pour rendre votre inventaire encore plus complet :
- Empilement d’objets (Stacking) : Améliorez votre logique
AddItempour empiler des objets identiques jusqu’àmaxStackSize. - Glisser-déposer (Drag and Drop) : Implémentez des interfaces Unity
IDragHandler,IBeginDragHandler,IEndDragHandleretIDropHandlerpour permettre aux joueurs de réorganiser leurs objets. - Affichage des détails d’objet : Créez un panneau qui s’affiche lorsque le joueur survole ou sélectionne un objet, affichant son nom, son icône et sa description.
- Système d’équipement : Ajoutez la possibilité d’équiper des objets (armes, armures) en déplaçant l’objet de l’inventaire vers un emplacement d’équipement dédié.
- Sauvegarde et chargement : Implémentez un système pour sauvegarder l’état de l’inventaire et le recharger entre les sessions de jeu, peut-être en utilisant JSON ou Unity’s
PlayerPrefspour les débutants.
Conclusion
Créer un système d’inventaire simple dans Unity 2026 est une étape fantastique dans votre parcours de développement de jeux. Grâce à ce tutoriel inventaire Unity débutant, vous avez appris à structurer vos données d’objets avec des ScriptableObjects, à gérer la logique d’inventaire avec un InventoryManager et à construire une interface utilisateur fonctionnelle. Cette base solide vous ouvre les portes à d’innombrables possibilités pour enrichir l’expérience de jeu de vos projets. N’hésitez pas à expérimenter, à ajouter de nouvelles fonctionnalités et à personnaliser ce système pour qu’il corresponde parfaitement à la vision de votre jeu. Le monde du développement est vaste ; continuez d’apprendre et de créer !
