Course Overview
In this course, you will learn how to create inventory systems for your games in Unreal Engine 5 using C++ and Blueprints.
We will create a spatial inventory with item grids for different categories (Equippable, Consumable, and Craftable) and the ability to switch between grids filled with items. Items can be different sizes, each taking up a different number of squares in the grid, and items can be stackable, allowing for splitting, combining, consuming, and dropping items.
This inventory system is architected for scalability, modularity, and uses Unreal Engine C++ best practices. The inventory is coded in its own separate plugin, which can be added to multiple game projects or simply kept in a single project.
Assets are provided for this course, including:
All 3D meshes for items used, including consumable potions, equippable cloaks, masks, and weapons, and craftable foraging materials.
All 2D textures for icons, widgets, menus, borders, and messages.
Niagara effects for picking up items
This project uses Unreal Engine 5.5 and works in Unreal Engine 5.6 - you may use the latest version of Unreal Engine for this course!
Features of this course include:
Spatial inventory grids and the ability to switch between multiple grids in the inventory to house items of different categories (we implement Equippables, Consumables, and Craftables),
An Item Fragment system whereby items can be customized by adding modular "Fragments" to give them functionality (a well-established software pattern in the games industry). Add a Grid Fragment to make the item capable of taking up multiple squares on the grid - add an Equippable Fragment to make the item equippable, etc.,
Item tooltip popups showing item attributes and the use of design patterns to make a highly-flexible system where tooltips adapt to an item's fragments to display item information,
The ability to move items in a spatial inventory,
Stackable items with stack counts (just add a Stackable Fragment), supporting max stack sizes, and the ability to split, combine, and drop items in the inventory,
Consumable items, the ability to consume and apply custom behaviors upon item consumption (we will implement potions),
Equipment with equippable slots, and actually equipping items of different types (we will implement cloaks, masks, and weapons),
Assets will be provided for this course, including the character, weapons, equipment, potions, and craftables, as well as all UI textures for inventory menu widgets. Though you are free to use your own assets!
Everything is programmed to work in a multiplayer environment, both Listen Server and Dedicated Servers. It also works in single-player, Standalone games.
Items are functional - not just affecting what we see in the menus, but also what happens in the game - the system is coded to be flexible, allowing you to program your own functionality when items are consumed/equipped/used, including incorporation with the Gameplay Ability System (GAS).
My students have easily incorporated this inventory into their own projects with little effort.
We will cover topics from intermediate to advanced Unreal Engine C++. If you have taken my course titled Unreal Engine 5 C++ The Ultimate Game Developer Course or have equivalent knowledge, you are ready for this course!
You will also have access to the Druid Mechanics Discord Community, a community I have created for my students, designed to be your most helpful resource when learning. We are going on 35,000 students and climbing! We're all here to help each other out!
I hope you enjoy this course as much as I did while creating it!
Jump in, and let's make some inventories!
FAQ
FAQ area empty
Course curriculum
-
Welcome to the Course!
255 Xem trước -
1 - Section 1 Intro
43 Xem trước -
Project Creation and Assets
143 Xem trước -
Custom Character Mesh
95 -
Creating a Plugin
171 Xem trước -
Inventory Player Controller
572 -
Primary Interact Action
833 -
The HUD Widget
577 -
Item Trace Channel
334 Xem trước -
Tracing for Items
884 -
Pickup Message
921 Xem trước -
Highlight Material
817 Xem trước
-
Has Room For Item - The Plan
896 -
Is the Item Stackable
200 -
How Many Stacks to Add
128 -
Exiting the Loop Early
144 -
Is Index Claimed
269 -
Has Room at Index
524 -
Check Slot Constraints
708 -
Is Index Claimed...Again
409 -
Is Upper Left Grid Slot
374 -
Is Stackable
238 -
Does Item Type Match
353 -
Is Slot at Max Capacity
289 -
Is In Grid Bounds
411 -
Determine Fill Amount for Slot
501 -
Filling in the Results
506 -
Find First Item by Type
523 -
Testing our Algorithm
463
-
Section 8 Intro
142 -
Tile Parameters
422 -
Canvas and Mouse Position
451 -
Hovered Coordinates
372 -
Calculate Tile Quadrant
399 -
On Tile Parameters Updated
380 -
Hover Item Dimensions
85 -
Calculate Starting Coordinate
876 -
Check Hover Position
477 -
In Grid Bounds
94 -
Has Swappable Item
506 -
Cursor Exited Canvas
477 -
Highlighting and UnHighlighting
676 -
Change Hover Type
496
-
Section 15 Intro
152 -
Equipped Grid Slots
588 -
Hover Functionality
503 -
Equipped Grid Slot Blueprints
269 -
Grayed Out Icon
229 -
Adding Equipped Grid Slots
164 -
Creating an Equippable Item
771 -
Equipment Fragment
574 -
Can Equip Hover Item
494 -
Equipped Slotted Item
629 -
Slotted Item Draw Size
208 -
Creating the Slotted Item Widget
196 -
Finishing OnItemEquipped
395 -
Creating the Equipped Slotted Item
472 -
Equipping the Cloak
716 -
Planning EquippedSlottedItemClicked
282 -
Items to Equip and Unequip
362 -
Remove Equipped Slotted Item
330 -
Make Equipped Slotted Item
301 -
Broadcast Slot Clicked Delegates
432 -
Edge Case - Swapping with Valid Items
227 -
Edge Case - Switching Categories
782
-
Equipment Component
809 -
Calling Equip Functions
833 -
Equip Actor
647 -
Spawning the Equip Actor
721 -
Destroying the Equip Actor
486 -
Timing Actor Lifecycles
536 -
Proxy Mesh Actor
631 -
Timing the Proxy Mesh
715 -
Proxy Mesh Blueprint
243 -
Character Display
587 -
Character Display Blueprint
555 -
Hiding the Dot
165 -
Character Mesh Collision
997 -
Equipped Item Description
1288 -
Creating More Items
1005 -
Bonus Lecture: Where to go from here
Requirment
-
Knowledge of Unreal Engine C++ required
-
Disk space for Unreal Engine 5 and debugging symbols
-
Use of Rider IDE (it's free for non-commercial use!)
Outcomes
-
Create and manage inventory systems in Unreal Engine
-
Code item interaction systems in a robust and scalable way
-
Code multiplayer inventory and item systems
-
Create spatial inventory grids with item categories
-
Implement stackable, consumable, and equippable items
0 Student
2 Courses
0 review