
Design a static inventory interface in Godot by building the middle region and a two-column UI, with left inventory and categories and right item info.
Create and save the UI inventory scene in Godot, set 1280x720 resolution, apply a full-rect layout centered with margins, and add a semi-transparent color background to prepare the inventory UI.
Build a three-column inventory UI in Godot, with left arrow, grid container, and right arrow, using the grid container to auto-distribute items into five columns and wrap rows.
Create the item info box in Godot's inventory UI by building the right column with a UI frame, five rows of data, vbox and hbox layouts, and styled labels.
Learn to create a root-defined theme in Godot, override fonts for rich text labels, and manage dynamic font data for bold, italic, and regular styles so controls inherit visuals.
Explore how to use size flags to override container-driven sizing in Godot UI, customizing the item info within a dynamic inventory system.
Add a UI context menu container set to full rect and anchor it to center left in the inventory scene using a control node. Position it precisely later with code.
Learn how to implement a godot scroll container to scroll a multi-page item grid, using horizontal and vertical offsets, clipping, and alignment of grids inside an hbox.
In the Godot UI Masterclass, implement the inventory footer and close button by configuring the footer, prompts box, texture button, and label with sizing, layout, textures, and alpha transparency notes.
Duplicate the entity item custom resource and create armor, cleric hood, and one handed weapon data in folders to test inventory scrolling and prepare for defining identity player.
Import the sample data into Godot, create and view item resources across categories, and test a dynamic, scrollable inventory by dragging items into the default player inventory.
Count inventory items by category with a game state function that iterates category types, sums items from the inventory by category, and returns the total to drive category displays.
Implement the backwards animation in the goto item page function by using current scroll page and page size to compute pages to go, with inverted keyframes.
Learn to implement interactive inventory item buttons in Godot using AnimationPlayer to highlight active items with a color rect, display context menus, and manage equip/unequip states.
Create two custom signals, item equipped and item unequipped, and autoload the events script as a singleton to emit them from the player and game state.
Implement automatic unequip when equipping a two-handed weapon to also unequip the offhand shield, and vice versa. Verify by testing with bows, shields, and various item categories.
In this game development course with 98 byte sized videos, with a total of 10 hours of video content, you'll learn how to use the Godot Engine and Editor to create an Inventory System and Inventory UI (User Interface) that is fully dynamic, with scriptable object items and a central database of items (using Godot's Resources). The inventory system has support for multiple item categories, category groups, dynamic scrolling animations, equippable slots (example: main hand and off hand) and more.
The inventory system you are going to create is inspired by the Zelda Breath of the Wild inventory screen, and can be used in RPG, FPS, Adventure, Point-and-Click games and more, basically, any games where the player can acquire and keep track of items in different categories.
This is a MASTERCLASS about creating User Interfaces, Custom Systems, Custom Dynamic Data and Dynamic Interfaces with Godot. Not only data, it's a masterclass about Godot's Resource system.
This course gives you all the knowledge and the power to build responsive user interfaces with Godot, you will also learn how to make Dynamic Systems that use Dynamic Data using your own Data Model and Scriptable Objects.
You are also going to learn how to create your own extendable and expandable Godot's Game Objects and Components with custom Nodes, Scenes and Scripts. You are going to learn how to create custom Godot's Resources and how to mix and match Dynamic and Static data.
ATTENTION! THIS IS A GODOT 3.5+ COURSE, IT'S NOT A GODOT 4 COURSE! Use Godot 4 at your own risk. In any case, the working, migrated Godot 4 source-code of the inventory system created in this course is also available and attached to the course, in case you want to compare and follow along [at your own risk] using Godot 4.
In a single paragraph:
You are going to learn EVERYTHING there is about creating complex User Interfaces with Godot, from scratch, as well as coding and adding behavior to those interfaces, creating truly dynamic UI screens and components.
(Almost) everything that you are going to learn:
Godot Nodes and Scenes fundamentals. Understand what are Godot's Game Objects and Components in depth.
Godot Control Nodes and UI fundamentals including margins, anchors, layouts, responsive layouts, aspect ratios and more
How to understand Godot's Container Nodes, Automatic UI Placement and Size Flags
How to create Big User Interface Screens with Godot that are also responsive for different screen sizes and aspect ratios.
How to create your own custom UI widgets, expand and inherit them (custom Control Nodes and Scenes)
How to create an infinite scrolling container and grids of items, how to split it by pages and how to animate it dynamically
How to structure the Data Model of an inventory and equipment system, separating items by categories and creating groups of categories, for example, listing One Handed Weapons and Two Handed Weapons under a Weapons group, while keeping the One and Two Handed classifications
How to have and list multiple pages of items under the same category
How to create User Interface that uses both Dynamic and Static data
How to create Equippable Item slots that accept configurable categories of items and show the items equipped in these slots
How to display item and equipment attributes
How to create and expand custom Scriptable Objects (Custom Godot's Resources) with different attributes for items and equipment
Godot's scripting language, GDScript, including the Observer pattern with GDScript's Signals in details, with a sample Traffic Light project
How to write custom GDScript Signals, connect to them and emit them
Advanced user interface coding with GDScript
How to handle and sync One Handed and Two Handed items, while automatically unequipping items if both hands are equipped
How to create pickable items, dynamically add them to the inventory and list them in the inventory screen, in the correct category
And more!
Course Structure
This course is divided as:
98 byte sized videos, 10 hours in total
Godot fundamentals
Creating the user interface with the Godot Editor
Planning the inventory system data model
GDScript Crash Course
Programming everything with GDScript
In the programming section, I explain the reasoning behind each line of code, so expect lots of drawings.
Godot Version
This course uses Godot 3.4.3. Since Godot 4 builds upon the fundamentals of Godot 3, this course is long lasting, you are not going to get something that will get deprecated. All of the knowledge is transferable, especially on how to build UIs and structure the data models.
Godot 4 is still too unstable and susceptible for breaking changes. When Godot 4 stable release comes out, I'll record upgrade and migration videos, this way you are going to learn twice as much.
Target Audience
This course is intended for all audiences, the only requirement is to know a bit of programming logic. You don't need to know Godot before starting this course.
Trailer music from ZapSplat