A downloadable course

Buy Now$129.90 USD or more

Ultimate Godot User Interfaces Course (Game GUI and Inventory Systems)

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 and infinite scrolling grids, equippable slots (example: main hand and off hand) and more. Previously called, Godot Engine Course: Data Driven Inventory System and Complex UIs.

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.

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.

Table of Contents

The table of contents is available in a separate post.


The project built in this course is open-source.

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 stable released on 1st of March 2023, the course update to 4.0 will take some time, it is not going to be a quick task, it's like creating the course from scratch, but as soon as it is done, everyone who buys the course will be able to get the update to 4.0 with a big discount (50% or more). Meanwhile, if you buy the current version, it's already packed with knowledge that you can use with Godot 3 and Godot 4 - there are no other GUI-heavy courses like this one for Godot out there :)

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
  • Fantasy Inventory Icons by Ragewortt. License: OGA-BY 3.0 (via OpenGameArt).
  • FREE Keyboard and controllers prompts pack by xelu. License: Public Domain, CC0 (via OpenGameArt).
  • Kenney Asset Packs. License: Public Domain, CC0.
  • Interface Sounds Starter Pack by p0ss. License: CC BY-SA 3.0 (via OpenGameArt).
  • Inventory Sound Effects by artisticdude. License: CC BY-SA 3.0 (via OpenGameArt).


Buy Now$129.90 USD or more

In order to download this course you must purchase it at or above the minimum price of $129.90 USD. You will get access to the following files:

01-Setup and Godot Concepts.zip 69 MB
02-Creating the UI.zip 446 MB
03-GDScript Crash Course.zip 162 MB
04-Godot Resources In-Depth and Inventory Data Model.zip 176 MB
05-Dynamically Populating Inventory Grids and Scroll Animations.zip 245 MB
06-Inventory Category Buttons (Category Displays).zip 160 MB
07-Item Info Box.zip 81 MB
08-Equipping and Unequipping Items.zip 225 MB
09-Acquiring and Picking Up Items.zip 52 MB
GodotInventoryUI-CourseResources.zip 15 MB

Development log