Try it in your browser: press Run asset pack on this page
Free Lite: https://inkharbor.itch.io/inventory-kit-lite
Also in the bundle (13 tools, $54.56, Oct 12 to Oct 16): https://itch.io/s/204018/godot-juice-and-polish-bundle

Inventory system for Godot 4: stacking items, equipment slots and a drag-and-drop grid, with JSON save and load.

Try it in your browser above before you buy.

Launch sale until Oct 16: discounted price shown on this page, one sale only.

An inventory system for Godot 4 in plain GDScript. The data side (items, stacks, equipment, save/load) is separate from the UI, and the UI is built in code, so there are no scenes to untangle and no art, fonts or images to import. Item icons are placeholder shapes drawn from code; swap in your own textures when you have them.

var inv := Inventory.new(20)
inv.add(potion, 30)                 # returns whatever did not fit
var ui := InventoryUI.new()
ui.inventory = inv
add_child(ui)                       # drag, drop, tooltips, right-click split

What you get

  • ItemData resource: id, name, description, stack size, tags, rarity, value, equip type, a free-form custom dictionary, placeholder icon (9 shapes + glyph) or your own texture
  • ItemDB registry; define items in code, as .tres, or load them from JSON
  • Inventory resource: add (stack merge and overflow, returns leftover), remove, remove_exact, move / swap / merge / split, sort, resize, per-stack metadata, tag and Callable filters, signals for every change
  • Equipment resource: named slots (two ring slots out of the box, fully configurable), equip from / unequip to an inventory, displaced items handled, stat totals
  • Save/load: to_dict() / from_dict() that survive a JSON round trip, versioned, migrates an older format, skips unknown ids and bad data without crashing, reports what it skipped
  • UI built in code: InventoryUI grid, EquipmentUI, single SlotUI for custom layouts; drag-and-drop between slots, between inventories (a chest) and into equipment; green/red drop feedback; tooltips with rarity and stats; right-click split; Shift+drop moves one; double-click signal
  • Demo: backpack, chest that refuses quest items, equipment, loot, sort, save and load
  • 183 automated checks in tests/inventory_test.gd; README with API tables and an explicit tested / not tested list

Good to know

  • Not included: crafting, shops, loot tables, weight, durability logic, item effects, gamepad/keyboard grid navigation, multiplayer, and any real item art.
  • You write the save file yourself (the kit gives you a Dictionary), so it fits any save system.
  • Built for Godot 4.3+; tested on 4.4.
  • Licence: use in any number of your own commercial or non-commercial projects; do not redistribute the source as a standalone asset.

Tested / not tested

Tested (Godot 4.4, Linux, GL Compatibility, software renderer under a virtual display; 183 automated checks, 0 failures):

  • Item definitions and registry, including dictionary / JSON round trips and bad input
  • Inventory add, remove, stacking, overflow, filters, move, swap, merge, split, sort, resize and all signals
  • Equipment equip / unequip / replace, multiple ring slots, equip from and unequip to an inventory, stat totals
  • Save/load through a real JSON round trip and a file, version check, old-format migration, unknown ids, malformed data
  • UI build, tooltip content, drag-and-drop between slots, between inventories and into / out of equipment (driven by synthetic mouse events), refused drops, right-click split, double-click, rebuild on capacity change
  • The demo scene runs, equips, uses items, saves and loads; a screenshot was rendered and inspected

Not tested:

  • Real mouse, touch or gamepad input (drag-and-drop was simulated with synthetic events)
  • The engine's hover-delay tooltip popup (the tooltip content is tested directly)
  • Godot versions other than 4.4; Web, mobile and console exports; high-DPI and UI scaling
  • Very large inventories and performance

Try it free first: https://inkharbor.itch.io/inventory-kit-lite has a free Lite version.

AI-assistance disclosure

The code and text of this kit were written with AI assistance under human direction and tested by the author. There is no AI-generated art or audio.

More from inkharbor

Full packs: Print & Paint FX · Retro Screen FX · Pulse FX 2D · Weather FX 2D · Pixel Sprite FX · Toon Forge 3D · Ember VFX 3D · Hitfeel Kit · Screen Transitions · Settings Menu Kit · Save/Load Kit · Dialogue & Quest Kit · Exporter Pro

Free to try: Print & Paint sampler · Exporter (free) · Hitfeel Lite · Screen Transitions Lite · Retro Lite · Pulse Lite · Weather Lite · Pixel Lite · Toon Lite · Ember Lite · Dialogue Lite · Inventory Lite · Last Ember (free game)

Updated 4 hours ago
Published 1 day ago
StatusReleased
CategoryAssets
Authorinkharbor
GenreRole Playing
Made withGodot
Tags2D, Asset Pack, Game Design, Godot, Loot, sourcecode, Project template, User Interface (UI)
AI DisclosureAI Assisted, Code, Text

Purchase

Buy Now
On Sale!
25% Off
$8.00 $6.00 USD or more

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

inventory-kit.zip 107 kB

Leave a comment

Log in with itch.io to leave a comment.