Bu03yk02rtgx7ybm70de

RPG Inventory Systems: Intermediate C# Game Coding Course

Learn How To Implement An RPG-Style Inventory System. All Code Base Provided As A Flexible Asset Pack

   Watch Promo

What will you learn in this course?

  • How to implement and lay out your inventory UI (user interface) so that the panels, buttons, slots and icons make sense.
  • How to use useful UI components like the Scroll View Asset and the Grid Layout Group to more easily structure your inventory UI.
  • How to use the drag-and-drop system so that players can pick up inventory items and move them to other slots, or drop them into the world.
  • How to use a pickup system with scriptable objects providing the data for specific inventory items.
  • How to use and modify the equipping system so that players can equip weapons and armor from their inventory.
  • How to interface between what the player sees on screen in their inventory and what your backend system knows should be the appropriate information stored in the inventory.
  • How to use and modify a tooltip system that gives the player information about their inventory items.
  • How to make items stackable so that if a player has more than one of an item it only takes up one inventory slot and displays how many items have been stacked.
  • How to refactor your code so that when a new feature is added, it propagates to all areas of your project without breaking your game.
  • How to build a user interface mockup in Unity before your functionality is in place.

This course is the second in our RPG series and is designed for intermediate users of Unity. We recommend you take at least the first half of our Complete Unity Developer 2D or 3D, or equivalent, as a pre-requisite. You don't need to have completed the first part of the RPG Series (the RPG Core Combat course) but it will give you an advantage if you already have.

By enrolling in this course you will have access to the completed Inventory system as an asset pack which you can import into your existing project. We will also take you step-by-step through the process of using, modifying, improving and understanding the code that drives the asset pack.

Please note, this course follows a different format. Rather than building the inventory system from scratch, line-by-line, we will provide you with our code and then explain how the code works so that you understand it fully. This is an approach that works well for folks who are already competent with Unity and C# and wanting to "get to the answer" more quickly.

Although this course is part of our RPG series, you can use the inventory system for any of your projects that require items to be picked up, dropped, moved and equipped.

In this course we will cover the following systems:

  • The click-to-pickup and the runover-to-pickup systems
  • The dropping system
  • The tooltip overlay system
  • The stackable item system
  • The equipping system
  • The saving and loading system

The course covers many advanced programming principles and goes into great depth to discuss good code architecture practices. We cover Interfaces, Virtual Methods, The debugging tool and many more things that aren't covered in our beginner courses.

Building an RPG is an amazing way to level-up you game development skills, so why not join us and get started improving your game development right now?


Course Curriculum (8+ hours)


  Introduction & Setup (0 hours 22 minutes)
Available in days
days after you enroll
  • Preview
    Welcome To The Course (2:19)
  • Preview
    What Are We Creating? (4:54)
  • Preview
    How To Follow This Course (3:25)
  • Preview
    Get The Project (5:30)
  • Preview
    The START HERE Commit (3:35)
  • Preview
    Questions & Getting Support
  • Preview
    Asset Partners & Licenses (2:28)
  Adding UI (1 hours 53 minutes)
Available in days
days after you enroll
  • Preview
    Unity UI Primer (15:40)
  • Preview
    Show & Hide Panels (12:15)
  • Preview
    Placing & Slicing UI Assets (13:07)
  • Preview
    The Scroll View Asset (9:12)
  • Preview
    The Grid Layout Group (11:10)
  • Preview
    Drag & Drop Scripts (18:02)
  • Preview
    Overview Of Interfaces (10:25)
  • Preview
    More Dragging & Dropping (18:34)
  • Preview
    Drag & Drop Challenge (5:20)
  • Preview
    What Now?
  Inventory Backing Store (1 hours 2 minutes)
Available in days
days after you enroll
  • Start
    Inventory Script Introduction (6:10)
  • Start
    Inventory Scriptable Objects (7:49)
  • Start
    Understanding Inventory.cs (10:30)
  • Start
    InventorySlotUI.cs Changes (4:54)
  • Start
    Using The Debugger Tool (15:46)
  • Start
    Inventory Directory Structure (2:07)
  • Start
    Item ID Explained (11:50)
  • Start
    Using Redraw() (3:07)
  Saving & Loading System (0 hours 19 minutes)
Available in days
days after you enroll
  • Preview
    Saving System Overview (14:26)
  • Start
    Inventory System Saving (5:08)
  Pickup System (0 hours 44 minutes)
Available in days
days after you enroll
  • Start
    Pickup Architecture Overview (12:14)
  • Start
    Spawning Pickups (5:18)
  • Start
    Pickup Spawner (9:22)
  • Start
    Clickable & Run-over Pickups (17:06)
  Drop System (0 hours 28 minutes)
Available in days
days after you enroll
  • Start
    Drop System Architecture (7:22)
  • Start
    Using ItemDropper.cs (14:25)
  • Start
    Integrate Dragging With Dropping (6:50)
  Tooltips (0 hours 34 minutes)
Available in days
days after you enroll
  • Start
    Virtual Methods Overview (8:02)
  • Start
    Tooltips Architecture (8:13)
  • Start
    Tooltip Prefab (9:59)
  • Start
    Tooltip Spawner (8:21)
  Stackable Items (0 hours 39 minutes)
Available in days
days after you enroll
  • Start
    Stackable Items Overview (5:31)
  • Start
    Refactor Overview (7:22)
  • Start
    Adding and Removing Stackables (5:27)
  • Start
    Stacking UI (5:15)
  • Start
    Finding An Existing Stack (4:52)
  • Start
    Saving Stacked Drops (5:27)
  • Start
    Saving Stackable Inventory (5:14)
  Equipment System (0 hours 34 minutes)
Available in days
days after you enroll
  • Start
    Equipment system Overview (10:04)
  • Start
    Mock Equipment UI (5:52)
  • Start
    Mock Equipment Dragging (6:37)
  • Start
    Equipment Component (6:44)
  • Start
    Equipment Saving (5:27)
  Action System (0 hours 15 minutes)
Available in days
days after you enroll
  • Start
    Action System Overview (8:13)
  • Start
    Consumable Items (6:47)
  Integrating The Inventory System (1 hours 36 minutes)
Available in days
days after you enroll
  • Start
    Integration Introduction (12:54)
  • Start
    Integrating Pickups (9:47)
  • Start
    UI Beautification (6:41)
  • Start
    Blocking Input While Dragging (3:43)
  • Start
    Fighter And Equipment (8:36)
  • Start
    Equipable Stats Modifiers (13:12)
  • Start
    Random Enemy Drops (13:24)
  • Start
    Randomise Drops By Enemy Level (21:50)
  • Start
    Fixing A Saving Bug (2:16)
  • Start
    Course Wrap Up (4:27)
  Extras (0 hours 0 minutes)
Available in days
days after you enroll
  • Start
    All Downloads

Your Instructor


Sam Pattuzzi
Sam Pattuzzi

Sam wrote his first game at 14, hacking together little games in Macromedia Flash during his summer holidays. Not long after, he taught himself C++ followed by Python and web programming. He was hooked.

In 2010 he went to study Computer Science at the University of Cambridge and he's been in Cambridge ever since. That is where he caught the entrepreneurial bug and realised he wouldn't want a traditional job for long. So after a few years working in various jobs to get experience, he quit and started burning through his savings looking for his calling.

At the end of 2015, he was coaching some friends to improve their programming skills. Realising how much he loved it, he started creating online courses and reached out to Ben for help. Fast forward and he's part of the GameDev.tv gang and gets to hang out with our awesome community!


Frequently Asked Questions


When does the course start and finish?
The course starts now and never ends! It is a completely self-paced online course - you decide when you start and when you finish.
How long do I have access to the course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.
What if I am unhappy with the course?
We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.

Get started now!