A downloadable course

Buy Now$129.90 USD or more

Godot Engine Course: Data Driven Inventory System and Complex UIs

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.

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.

Open-Source

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 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.

Alternative Platforms

The course is also available on Skillshare.

Licenses

  • Trailer music from ZapSplat
  • Fantasy Inventory Icons by Ragewortt. License: OGA-BY 3.0.
  • FREE Keyboard and controllers prompts pack by xelu. License: Public Domain, CC0.
  • Kenney Asset Packs. License: Public Domain, CC0.
  • Interface Sounds Starter Pack by p0ss. License: CC BY-SA 3.0.
  • Inventory Sound Effects by artisticdude. License: CC BY-SA 3.0.

Purchase

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